| pp | time | stress |
|---|---|---|
| pp001 | morning | 412.3502 |
| pp001 | afternoon | 431.0796 |
| pp001 | night | 448.4175 |
| pp002 | morning | 403.6824 |
| pp002 | afternoon | 401.0550 |
| pp002 | night | 389.8119 |
| pp003 | morning | 393.1256 |
| pp003 | afternoon | 410.9354 |
| pp003 | night | 435.8220 |
Medidas Repetidas e Modelos Mistos
Este capítulo é propositadamente teórico. O objectivo não é ensinar a sintaxe do R, mas sim explicar porquê precisamos de modelos diferentes quando temos medidas repetidas, e quais as implicações das escolhas que fazemos ao especificar a estrutura de efeitos aleatórios.
Para aspectos práticos (código, comparação de pacotes, interpretação de output), consultem o tutorial prático sobre medidas repetidas.
0 Introdução: Medidas Repetidas na Mesma Pessoa
Quando cada participante contribui com múltiplas observações (e.g., pré vs pós, ou várias condições experimentais), estamos perante um delineamento de medidas repetidas (repeated measures, within-subjects).
Exemplo clássico:
20 participantes
Cada uma faz uma tarefa em 3 condições (A, B, C)
60 observações no total (20 × 3)
A vantagem estatística é clara: maior poder (testamos o efeito da condição controlando para diferenças entre participantes). Mas isto vem com uma complicação: as observações da mesma pessoa não são independentes.
1 ANOVA de Medidas Repetidas: A Abordagem Tradicional
A solução clássica foi desenvolver uma variante da ANOVA que contabiliza o facto de termos múltiplas observações da mesma pessoa.
A Lógica: Particionar o Erro
Na ANOVA between-subjects, a variação total é particionada em:
\(SS_{total} = SS_{factor} + SS_{error}\)
Mas em medidas repetidas, podemos decompor ainda mais o erro:
\(SS_{total} = SS_{factor} + SS_{participante} + SS_{factor \times participante}\)
Onde:
\(SS_{factor}\) = variação explicada pelo factor experimental (A vs B vs C)
\(SS_{participante}\) = variação entre participantes (algumas são sistematicamente mais rápidas/lentas)
\(SS_{factor \times participante}\) = erro residual (variação trial-to-trial que não é explicada nem pelo factor nem pelas diferenças entre participantes)
O truque: Testar o efeito do factor usando \(SS_{factor \times participante}\) como denominador (erro “within”), não \(SS_{error}\) total.
Teste F em RM ANOVA
\(F = \frac{MS_{factor}}{MS_{factor \times participante}}\)
Este denominador é muito menor que o erro total (porque remove a variação entre participantes), resultando em maior poder estatístico.
2 RM ANOVA como Modelo Linear: A Magia do lm()
Agora a parte interessante: podemos implementar a RM ANOVA usando lm() se incluirmos a participante como preditor!
Exemplo Prático
Vamos usar dados de um estudo sobre níveis de stress ao longo do dia (manhã, tarde, noite):
Código
ggplot(ds, aes(x = time, y = stress, group = pp, color = pp)) +
geom_line(alpha = 0.3) +
geom_point(size = 1.5, alpha = 0.5) +
theme_classic() +
theme(legend.position = "none") +
labs(title = "Medidas Repetidas: Cada Linha = 1 Participante",
x = "Hora do Dia",
y = "Nível de Stress",
caption = "35 participantes avaliadas em 3 momentos")Modelo Ingénuo (ERRADO): Ignorar Participantes
Se ignorarmos que as observações estão agrupadas por participante:
| Df | Sum Sq | Mean Sq | F value | Pr(>F) | |
|---|---|---|---|---|---|
| time | 2 | 6574.98 | 3287.490 | 2.144822 | 0.1223405 |
| Residuals | 102 | 156341.17 | 1532.757 | NA | NA |
Este modelo trata as 105 observações como independentes. O erro (\(SS_{error}\)) inclui tanto a variação trial-to-trial como a variação entre participantes.
Problema: Estamos a desperdiçar informação (sabemos que observações da mesma pessoa são mais semelhantes) e a subestimar o poder (denominador inflacionado).
Modelo Correcto: Incluir Participante
Agora incluímos pp como preditor:
| Res.Df | RSS | Df | Sum of Sq | F | Pr(>F) |
|---|---|---|---|---|---|
| 70 | 20286.35 | NA | NA | NA | NA |
| 68 | 13711.37 | 2 | 6574.98 | 16.30393 | 1.6e-06 |
Interpretação: A comparação de modelos testa se adicionar time reduz significativamente o erro, depois de já contabilizar as diferenças entre participantes.
O erro (\(SS_{error}\)) no modelo m1 é exactamente \(SS_{time \times pp}\) da ANOVA RM tradicional!
Comparação com ANOVA RM Tradicional
Vamos confirmar que obtemos os mesmos resultados:
Error: pp
Df Sum Sq Mean Sq F value Pr(>F)
Residuals 34 142630 4195
Error: pp:time
Df Sum Sq Mean Sq F value Pr(>F)
time 2 6575 3287 16.3 1.64e-06 ***
Residuals 68 13711 202
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Notam que:
O F e p para
timesão idênticos entreanova(m0, m1)eaov()A única diferença está na apresentação (tabelas diferentes)
A ANOVA RM tradicional e o modelo linear com participante como preditor são matematicamente equivalentes para delineamentos equilibrados.
A diferença está apenas em:
Sintaxe:
Error(pp/time)vslm(stress ~ pp + time)Output: Tabelas formatadas de forma diferente
Flexibilidade:
lm()generaliza mais facilmente para delineamentos complexos
Mas ambos fazem exactamente a mesma partição do erro e usam o mesmo denominador (\(MS_{factor \times pp}\)) no teste F.
Limitações da Abordagem lm() Pura
Embora lm() funcione para RM ANOVA, tem limitações:
Delineamentos desbalanceados: Quando faltam observações,
lm()pode dar resultados sub-óptimosCrossed random effects: Quando temos participantes E itens, precisamos de modelos mistos
Random slopes:
lm()assume que o efeito é o mesmo para todas as participantes (não estima variação nos efeitos)
É aqui que entram os modelos mistos!
3 O Problema da Não-Independência (Revisitado)
Agora que vimos como a ANOVA RM funciona, podemos entender melhor porquê funciona.
A assumpção fundamental de modelos lineares simples é independência: o resíduo (erro) de uma observação não está correlacionado com o resíduo de outra.
Mas em medidas repetidas, esta assumpção é violada:
As observações da Participante 1 tendem a ser mais semelhantes entre si (ela pode ser sistematicamente mais rápida/lenta) do que com as observações da Participante 2.
Esta semelhança é uma dependência que, se ignorada, resulta em inflação da taxa de erro Tipo I.
4 O Erro Tem Estrutura
Relembrando: O Modelo Linear Básico
Num modelo linear simples, assumimos:
\(Y_i = \beta_0 + \beta_1 X_i + \epsilon_i\)
Onde:
\(Y_i\) = observação i
\(\beta_0, \beta_1\) = parâmetros fixos (populacionais)
\(\epsilon_i\) = erro/resíduo, assumido i.i.d. (independente e identicamente distribuído): \(\epsilon_i \sim N(0, \sigma^2)\)
A assumpção crítica aqui é i.i.d.: cada erro é uma realização independente duma distribuição normal com a mesma variância. Não há correlação entre erros.
Decomposição do Erro
Em vez de um único termo de erro aleatório (\(\epsilon_i\)), podemos decompor o erro em componentes sistemáticos e aleatórios:
\(Y_{ij} = (\beta_0 + u_{0j}) + \beta_1 X_{ij} + \epsilon_{ij}\)
Onde:
\(j\) indexa participantes (ou outro agrupamento)
\(i\) indexa observações dentro de cada participante
\(u_{0j}\) = efeito aleatório de intercepto (desvio da participante j em relação à média populacional \(\beta_0\))
\(\epsilon_{ij}\) = erro residual após contabilizar a participação
Notação alternativa mais explícita:
\(Y_{ij} = \underbrace{\beta_0}_{\text{média pop.}} + \underbrace{u_{0j}}_{\text{desvio participante}} + \underbrace{\beta_1 X_{ij}}_{\text{efeito fixo}} + \underbrace{\epsilon_{ij}}_{\text{erro residual}}\)
Interpretação dos Componentes
\(\beta_0\) (intercepto fixo): Média populacional esperada quando \(X = 0\).
\(u_{0j}\) (intercepto aleatório): Desvio específico da participante j em relação a \(\beta_0\). Este é um parâmetro aleatório (não estimamos um valor fixo para cada participante, mas sim a variância destes desvios: \(u_{0j} \sim N(0, \tau_0^2)\)).
\(\epsilon_{ij}\) (erro residual): Variação “trial-to-trial” que não é explicada nem pelo modelo fixo nem pelas diferenças entre participantes.
Visualizando a Estrutura do Erro
Imaginemos 3 participantes com 3 observações cada:
Sem contabilizar participação (modelo ingénuo):
Y_i = β₀ + ε_i
Todas as observações flutuam em torno da mesma média (β₀).
Assumimos que ε₁, ε₂, ..., ε₉ são independentes.
Contabilizando participação (modelo misto):
Y_ij = (β₀ + u₀ⱼ) + ε_ij
Participante 1: todas as suas observações flutuam em torno de (β₀ + u₀₁)
Participante 2: todas as suas observações flutuam em torno de (β₀ + u₀₂)
Participante 3: todas as suas observações flutuam em torno de (β₀ + u₀₃)
As observações *dentro* da mesma participante estão correlacionadas
através do seu efeito aleatório partilhado (u₀ⱼ).
Implicação: Se ignorarmos a estrutura de agrupamento, estamos a subestimar a verdadeira incerteza nas nossas estimativas dos efeitos fixos, porque tratamos observações dependentes como se fossem independentes. Isto resulta em inflação da taxa de erro Tipo I (falsos positivos).
Para uma demonstração visual interactiva de como diferentes estruturas de efeitos aleatórios (interceptos, declives, itens) afectam o ajuste do modelo aos dados, explorem esta app:
Na secção “Mixed-effect Linear Regression”, podem:
Criar dados com estrutura hierárquica (participantes + itens)
Ajustar modelos com diferentes estruturas de efeitos aleatórios
Ver visualmente como cada modelo captura (ou falha em capturar) os padrões nos dados
Comparar modelos usando testes de razão de verosimilhança
5 Random Slopes: Efeitos Podem Variar Entre Participantes
Até agora, só considerámos interceptos aleatórios: cada participante pode ter um nível basal diferente, mas todas reagem da mesma forma à manipulação experimental.
Mas na realidade, o tamanho do efeito também pode variar entre participantes:
Algumas participantes podem ser muito sensíveis à manipulação (grande efeito).
Outras podem ser menos sensíveis (pequeno efeito, ou mesmo efeito nulo/oposto).
Modelo com Random Slopes
\(Y_{ij} = (\beta_0 + u_{0j}) + (\beta_1 + u_{1j}) X_{ij} + \epsilon_{ij}\)
Onde:
\(u_{1j}\) = desvio aleatório do declive (efeito) para a participante j
\(u_{1j} \sim N(0, \tau_1^2)\)
Agora tanto o intercepto como o declive variam entre participantes:
Efeito fixo: \(\beta_1\) = efeito médio na população
Efeito aleatório: \(u_{1j}\) = desvio da participante j em relação ao efeito médio
Efeito real da participante j: \(\beta_1 + u_{1j}\)
Correlação entre Interceptos e Declives
Em muitos casos, interceptos e declives estão correlacionados:
Correlação negativa: Participantes com nível basal alto têm menos “margem de melhoria” (efeito menor).
Correlação positiva: Participantes mais rápidas (intercepto baixo em tempo de resposta) também beneficiam mais da manipulação.
Um modelo completo estima não só \(\tau_0^2\) e \(\tau_1^2\), mas também a correlação \(\rho\) entre \(u_{0j}\) e \(u_{1j}\).
6 Generalizando Within/Between: Unidades de Análise
Com modelos mistos, expandimos a noção de within-subjects/between-subjects para within-unit/between-unit, onde “unidade” pode ser qualquer agrupamento relevante.
Pensando em Múltiplas Unidades
Em vez de apenas “participantes”, pensamos em todos os agrupamentos dos dados:
Participantes: Cada participante é uma unidade
Estímulos/Itens: Cada item é uma unidade
Sessões: Cada sessão pode ser uma unidade
Escolas/Turmas: Em dados hierárquicos
Um factor pode ser:
Within-participante, between-item: Cada participante vê todos os níveis, mas cada item só pertence a um nível (e.g., condição de treino manipulada nos itens)
Between-participante, within-item: Cada participante vê apenas um nível, mas cada item é visto em todos os níveis (e.g., grupos experimentais diferentes respondem aos mesmos itens)
Within-participante, within-item: Ambos veem todos os níveis (e.g., condição experimental manipulada trial-a-trial)
Between-participante, between-item: Cada unidade vê apenas um nível (raro, mas possível)
Se um factor varia within-[unidade], deve ter random slope por [unidade].
Factor within-participante →
(factor | participant)Factor within-item →
(factor | item)Factor within-participante E within-item →
(factor | participant) + (factor | item)
Esta regra aplica-se independentemente de “participante” ou qualquer outra unidade de análise.
Exemplo Psicolinguístico
Imaginemos um estudo de leitura:
Factor: Frequencia da palavra (alta vs baixa)
Participantes: 30 pessoas leem frases
Itens: 100 palavras (50 alta frequencia, 50 baixa)
Estrutura:
Frequencia é within-participante (cada pessoa lê palavras de ambas as condições)
Frequencia é between-item (cada palavra é ou alta ou baixa frequencia, não ambas)
Modelo apropriado:
lmer(RT ~ Frequencia + (Frequencia | participant) + (1 | item))Porquê?
Random slope de
Frequenciapor participante: o efeito pode variar entre pessoasApenas random intercept por item: cada item só tem um nível de frequencia, logo não faz sentido random slope
Para mais exemplos de como determinar a estrutura de efeitos aleatórios a partir do delineamento:
PsyTeachR - Data Skills for Reproducible Research:
Crossed Random Factors - PsyTeachR
Este capítulo demonstra step-by-step como identificar:
Quais factores variam within vs between para cada unidade
Como traduzir o delineamento para sintaxe de random effects
Exemplos práticos com dados reais
7 Crossed Random Effects: Participantes E Itens
Em muitas experiências (especialmente em psicolinguística), temos dois factores de agrupamento:
Participantes: Cada participante responde a vários itens.
Itens: Cada item é apresentado a vários participantes.
Estes factores estão crossed (cruzados): não estão aninhados um dentro do outro. A Participante 1 responde aos Itens 1, 2, 3, …, e o Item 1 é respondido pelas Participantes 1, 2, 3, …
Modelo com Participantes e Itens
\(Y_{ijk} = \beta_0 + u_{0j}^{\text{pp}} + u_{0k}^{\text{item}} + (\beta_1 + u_{1j}^{\text{pp}} + u_{1k}^{\text{item}}) X_{ijk} + \epsilon_{ijk}\)
Onde:
\(j\) = participante
\(k\) = item
\(i\) = observação (trial)
\(u_{0j}^{\text{pp}}\) = intercepto aleatório por participante
\(u_{0k}^{\text{item}}\) = intercepto aleatório por item
\(u_{1j}^{\text{pp}}\) = random slope por participante
\(u_{1k}^{\text{item}}\) = random slope por item
Por que precisamos de ambos?
Algumas participantes são sistematicamente mais rápidas/lentas (variação entre participantes).
Alguns itens são sistematicamente mais fáceis/difíceis (variação entre itens).
Se não contabilizarmos ambos, confundimos variação sistemática (devido a participantes ou itens) com erro aleatório.
O Problema Histórico: F1 vs F2
Antes dos modelos mistos, a solução tradicional era:
F1 (by subjects): Agregar dados por participante e fazer ANOVA tratando participantes como unidade de análise (itens como repetições).
F2 (by items): Agregar dados por item e fazer ANOVA tratando itens como unidade de análise (participantes como repetições).
Reportar ambos e esperar que ambos sejam significativos para concluir que o efeito generaliza tanto a novas participantes como a novos itens.
Problemas:
Perda de poder (agregação de dados).
Não é claro como combinar os dois testes.
Não permite testar interacções complexas.
Solução moderna: Modelos mistos lineares com efeitos aleatórios cruzados para participantes E itens simultaneamente.
8 O Debate: Maximal vs Parsimonious Models
Uma das questões mais debatidas em modelos mistos é: que efeitos aleatórios devemos incluir?
Existem três abordagens principais:
1. Maximal Models (Barr et al., 2013)
Argumento: Para testes de hipóteses confirmatórios, devemos incluir a estrutura de efeitos aleatórios maximal justificada pelo delineamento.
Barr, D. J., Levy, R., Scheepers, C., & Tily, H. J. (2013). Random effects structure for confirmatory hypothesis testing: Keep it maximal. Journal of Memory and Language, 68(3), 255-278. https://doi.org/10.1016/j.jml.2012.11.001
Justificação:
Se a variação (entre participantes ou itens) nos declives existe na população mas não é modelada, obtemos inflação da taxa de erro Tipo I (falsos positivos).
Na tradição da ANOVA experimental, sempre se assumiu esta variação (por isso se calculavam F1 e F2, e se usava o erro within-subjects como denominador).
Falhar em incluir random slopes quando o delineamento os justifica é anti-conservador (aumenta a probabilidade de encontrar efeitos “significativos” que não replicam).
Usar apenas interceptos aleatórios (1 | participant) quando os factores variam within-subjects resulta em grave inflação da taxa de erro Tipo I.
Barr et al. (2013) mostram que este erro pode ser pior que ignorar completamente a estrutura de agrupamento ou que usar ANOVA tradicional.
Quando um factor varia within-subjects, a tradição experimental sempre assumiu variação nos efeitos entre participantes (reflectido no denominador \(MS_{\text{factor} \times \text{pp}}\) da ANOVA RM). Modelos mistos devem fazer o mesmo, modelando explicitamente essa variação via random slopes.
Regra: Se um factor varia within-subjects → deve ter random slope por participante. Não é opcional.
O que é “justificado pelo delineamento”?
Esta é a chave: a abordagem maximal não é data-driven (não olha para os dados para decidir o modelo). É design-driven: o delineamento experimental determina a estrutura de efeitos aleatórios.
Se um factor varia within-subjects (ou within-items), então deve ter um random slope por participante (ou item).
Se um factor varia between-subjects, só precisa de intercepto aleatório (não faz sentido estimar um declive quando cada participante só vê um nível).
Exemplo: Factor A tem 2 níveis (A1, A2), ambos apresentados a cada participante → incluir random slope de A por participante.
A abordagem maximal é sobre controlo apropriado de parâmetros de nuissance (variabilidade entre participantes/itens), não sobre optimização estatística ou ajuste aos dados.
Na tradição experimental, o objectivo é testar severamente teorias/hipóteses, controlando adequadamente fontes conhecidas de variabilidade. Não procuramos o “melhor modelo” para os dados actuais, mas sim o modelo que generaliza correctamente para novas participantes/itens.
Modelo maximal para delineamento 2 × 2 within-subjects:
Isto inclui:
Intercepto aleatório
Random slope de A
Random slope de B
Random slope da interacção A:B
Correlações entre todos estes efeitos
O argumento “os random slopes podem não existir na população” não justifica não os incluir a priori. Porquê?
Se genuinamente não há variação nos declives, o modelo sinaliza isso:
Não converge (tipicamente porque tenta estimar variâncias negativas)
Avisa
isSingular(variâncias estimadas como 0 ou correlações como ±1)Estima declives muito similares entre participantes, fazendo o modelo maximal comportar-se de forma muito semelhante ao modelo com apenas interceptos
Em qualquer destes casos, o modelo auto-regula: ou falha explicitamente (forçando-nos a simplificar), ou converge mas com parâmetros que indicam pouca variação (resultando em inferências similares ao modelo mais simples, mas sem o risco de inflação do Tipo I se a variação existir).
Portanto: começar maximal é conservador. Simplificar prematuramente é arriscado.
Críticas:
Modelos maximais podem não convergir ou ter problemas de singularidade (variâncias estimadas como 0).
Em datasets pequenos, não há informação suficiente para estimar todos os parâmetros.
2. Parsimonious Models (Bates et al., 2015)
Argumento: Devemos começar com o modelo maximal, mas simplificar usando critérios estatísticos (e.g., PCA, testes de razão de verosimilhança) para remover parâmetros que não melhoram significativamente o ajuste.
Bates, D., Kliegl, R., Vasishth, S., & Baayen, H. (2015). Parsimonious mixed models. arXiv preprint arXiv:1506.04967. https://arxiv.org/abs/1506.04967
Justificação:
Modelos maximais são frequentemente sobre-parametrizados: tentam estimar variâncias/correlações que são efectivamente 0 na população.
Isto causa problemas de convergência e estimativas instáveis.
Uma estrutura mais parcimoniosa pode ter melhor desempenho preditivo e evitar overfitting.
Estratégia proposta:
Começar com o modelo maximal.
-
Se não convergir ou for singular:
- Usar PCA dos efeitos aleatórios para identificar componentes principais (quais os parâmetros que capturam a maior parte da variação).
- Usar testes de razão de verosimilhança (LRT) para comparar modelos aninhados e remover parâmetros que não melhoram significativamente o ajuste.
Remover primeiro as correlações (substituir
|por||na sintaxe), depois random slopes se necessário.Justificar e reportar o processo de simplificação.
Não temos hipóteses para efeitos aleatórios. Raramente fazemos previsões teóricas específicas sobre \(\tau_1^2\) (variância dos random slopes).
Portanto, testar do modelo mais simples para o mais complexo, só adicionando parâmetros quando \(p < .05\), não é lógico no contexto de efeitos aleatórios. Não estamos a testar hipóteses substantivas, estamos a controlar fontes de variação.
Além disso, a abordagem parcimoniosa de Bates et al. não usa \(\alpha = .05\) para decidir simplificações. Usa critérios muito mais lenientes (e.g., PCA, AIC/BIC, ou LRT com \(\alpha\) mais relaxado), porque o objectivo não é testar hipóteses mas sim encontrar uma parametrização que equilibre ajuste e parcimónia.
A diferença fundamental:
Abordagem maximal: Design → Estrutura de efeitos aleatórios (conservador)
Abordagem parcimoniosa: Design + Dados → Simplificação cautelosa (pragmático)
Teste “para cima” com \(p < .05\): Dados → Estrutura (anti-conservador, não recomendado)
Exemplo:
library(afex)
# Maximal (pode não convergir)
m0 <- mixed(RT ~ A * B + (A * B | participant), data = ds)
# Sem correlações (zero-correlation-parameter model)
m1 <- mixed(RT ~ A * B + (A * B || participant), data = ds)
# Simplificado (remover random slope da interacção)
m2 <- mixed(RT ~ A * B + (A + B || participant), data = ds)
# Comparar (usem critérios AIC/BIC ou LRT com alpha leniente)
anova(m2, m1, m0)Críticas:
Data-driven: Risco de overfitting aos dados específicos da amostra (não replica noutros datasets).
Barr et al. mostram que, mesmo quando o modelo maximal assume variação que não existe, a perda de poder é mínima comparada com o risco de inflação do Tipo I ao simplificar.
3. Abordagem Pragmática/Intermédia
Na prática, muitos investigadores adoptam um meio-termo:
Tentar ajustar o modelo maximal.
-
Se houver problemas de convergência/singularidade:
-
Primeiro passo: Remover correlações (
||em vez de|). - Segundo passo: Remover random slopes de interacções de ordem superior (tipicamente têm menos variação).
- Último recurso: Remover random slopes de efeitos principais (mas manter pelo menos interceptos aleatórios).
-
Primeiro passo: Remover correlações (
Nunca ajustar modelos apenas com interceptos aleatórios se os factores variarem within-subjects/items (isso é pior que ANOVA tradicional).
Reportar de forma transparente: “Começámos com o modelo maximal X, que não convergiu. Simplificámos para Y, que convergiu e passou os testes de diagnóstico.”
Recomendações de Singmann & Kellen (2019)
Singmann, H., & Kellen, D. (2019). An Introduction to Mixed Models for Experimental Psychology. In D. H. Spieler & E. Schumacher (Eds.), New Methods in Cognitive Psychology (pp. 4-31). Routledge. http://singmann.org/download/publications/singmann_kellen-introduction-mixed-models.pdf
Síntese equilibrada:
Para testes confirmatórios: Seguir Barr et al. e tentar o modelo maximal.
Se houver problemas: Simplificar de forma conservadora, priorizando manter random slopes dos efeitos de interesse.
Para análises exploratórias: Maior flexibilidade para ajustar a estrutura aos dados.
Sempre: Reportar de forma transparente as decisões tomadas.
9 Graus de Liberdade em Modelos Mistos
Um dos aspectos mais complexos (e controversos) dos modelos mistos é: quantos graus de liberdade tem o teste aos efeitos fixos?
Em modelos lineares simples (lm()), os graus de liberdade são claros:
\(df = N - p\)
Onde \(N\) = número de observações e \(p\) = número de parâmetros fixos.
Mas em modelos mistos, a situação é mais complicada:
As observações não são independentes (estão agrupadas).
Os efeitos aleatórios “consomem” alguns graus de liberdade, mas quanto?
Contar 1 df por variância de efeito aleatório? Ou 1 df por nível do factor de agrupamento?
Métodos de Aproximação
1. Kenward-Roger (KR)
O método Kenward-Roger (1997) faz duas correcções:
Ajusta a matriz de covariância dos parâmetros fixos para contabilizar a incerteza na estimação dos componentes de variância.
Aproxima os graus de liberdade do denominador usando informação sobre a estrutura do modelo.
O resultado é uma distribuição F com graus de liberdade fraccionários (e.g., \(F(1, 23.7)\)).
Vantagens:
Geralmente considerado o mais preciso para amostras pequenas.
Controla bem a taxa de erro Tipo I.
Desvantagens:
Computacionalmente intensivo (lento para modelos grandes).
Só aplicável a modelos ajustados com REML.
2. Satterthwaite
O método Satterthwaite (1941) aproxima os graus de liberdade usando uma expansão de Taylor da distribuição dos parâmetros de variância.
Vantagens:
Mais rápido que KR.
Geralmente dá resultados muito similares a KR.
Desvantagens:
- Menos preciso que KR em amostras muito pequenas.
A Posição de Doug Bates
Doug Bates, o autor principal do pacote lme4, é céptico sobre aproximações de graus de liberdade em modelos mistos.
Num email na mailing list R-sig-mixed-models (2008), Bates escreveu:
“I don’t really think there is a way of defining the degrees of freedom for all lme and gls model fits so that they correspond to the ‘correct’ values, which often seems to mean the values returned by SAS.”
“Models with random effects don’t have nearly the same clarity [as fixed-effects models]. If one counts parameters to be estimated then random effects for the levels of a factor cost only 1 degree of freedom, regardless of the number of levels. This is the lowest number one could imagine for the degrees of freedom and, if you regard degrees of freedom as measuring the explanatory power of a model, this can be a severe underestimate.
If one goes with the geometric argument and measures something like the dimension of the predictor space then the degrees of freedom would be the number of levels or that number minus 1 […]. The problem here is the predictor doesn’t have all of the degrees of freedom associated with the geometric subspace.”
Bates prefere usar testes de razão de verosimilhança (LRT) ou aproximações baseadas no “hat matrix” em vez de tentar definir graus de liberdade precisos.
Implicação prática: Diferentes métodos (KR, Satterthwaite, LRT) podem dar resultados ligeiramente diferentes, especialmente com amostras pequenas. O importante é ser consistente e reportar o método usado.
Delineamentos Experimentais: Caso Mais Fácil
Ironicamente, os delineamentos experimentais equilibrados (como os comuns em psicologia) são o caso onde os graus de liberdade seriam mais fáceis de calcular (e aproximar).
Porquê?
O delineamento é planeado (não observacional), logo a estrutura é conhecida a priori.
Há equilíbrio (mesmo número de observações por condição/célula).
Podemos comparar com a ANOVA RM tradicional e verificar se os graus de liberdade aproximados fazem sentido.
Por exemplo, num delineamento 2 × 2 within-subjects com 20 participantes:
ANOVA RM: \(df_{numerador} = 1\) (para cada efeito), \(df_{denominador} = 19\) (para efeitos principais) ou \(19\) (para interacção).
LMM com KR/Satterthwaite: Deveria dar valores similares (não exactamente iguais, mas próximos).
Se os graus de liberdade aproximados forem muito diferentes dos esperados pela ANOVA tradicional, isso pode indicar problemas no modelo (e.g., singularidade, convergência não completa).
Para delineamentos experimentais equilibrados:
Usem
afex::mixed()commethod = "KR"(Kenward-Roger) por defeito.Verifiquem se os graus de liberdade aproximados são razoáveis (próximos dos da ANOVA RM equivalente).
Se houver singularidade/convergência duvidosa, os graus de liberdade podem ser inflacionados ou deflacionados → sinal de que o modelo precisa de ajustes.
Sempre reportem o método usado (KR, Satterthwaite, ou LRT).
10 Implicações Práticas
O Que NÃO Fazer
Ignorar a estrutura de agrupamento: Ajustar
lm()quando há medidas repetidas → inflação do Tipo I.Random intercepts only quando há within-factors: Modelo
(1 | participant)quando os factores variam within-subjects → grave inflação do Tipo I (Barr et al. mostram que isto pode ser pior que ANOVA tradicional ou mesmo quelm()).Agregar prematuramente: Calcular médias por participante e fazer ANOVA → perda de poder e impossibilidade de testar certos efeitos.
Testar “para cima” com \(p < .05\): Começar com
(1 | participant)e só adicionar random slopes se LRT der \(p < .05\) → anti-conservador, não recomendado.
O Que Fazer
Identificar a estrutura de agrupamento: Quais as variáveis que identificam clusters (participante? item? turma?)?
Identificar factores within vs between para cada unidade: Que factores variam dentro de cada cluster vs entre clusters? Façam isto para cada tipo de unidade (participantes, itens, etc.).
-
Começar com estrutura maximal justificada pelo delineamento:
- Random slopes para todos os factores within-[unidade].
- Apenas interceptos aleatórios para factores between-[unidade].
-
Se houver problemas de convergência:
- Simplificar de forma conservadora (remover correlações primeiro).
- Reportar de forma transparente.
-
Usar
afex::mixed()em vez delmer()directo:-
mixed()dá ANOVA Tipo III por defeito (com KR df). - Trata automaticamente contrastes e outras questões práticas.
- Output mais legível para psicólogos experimentais.
-
Validar o modelo: Verificar pressupostos (normalidade dos resíduos, homocedasticidade) e diagnósticos (pontos influentes, outliers, singularidade).
11 Síntese
Medidas repetidas violam a independência: Observações do mesmo cluster estão correlacionadas.
O erro tem estrutura: Podemos decompor o erro em componentes sistemáticos (variação entre participantes/itens) e aleatórios (variação residual).
ANOVA RM funciona via lm(): Incluir participante como preditor replica a partição do erro da ANOVA RM tradicional.
Pensem em unidades de análise, não apenas participantes: Within/between aplica-se a qualquer agrupamento (participantes, itens, sessões, escolas…).
Efeitos aleatórios modelam a dependência: Interceptos e declives aleatórios capturam a correlação intra-cluster.
Maximal vs parsimonious: A abordagem maximal é design-driven (não data-driven) e conservadora. Simplificação deve ser cautelosa e justificada.
Random intercepts only é perigoso: Quando há within-factors, usar apenas interceptos aleatórios causa grave inflação do Tipo I.
Graus de liberdade são aproximados: KR e Satterthwaite dão boas aproximações, mas nenhum método é perfeito. Reportem sempre o método usado.
Usem
afex::mixed(): Mais conveniente quelmer()directo para análises experimentais.
12 Leituras Essenciais
Barr, D. J., Levy, R., Scheepers, C., & Tily, H. J. (2013). Random effects structure for confirmatory hypothesis testing: Keep it maximal. Journal of Memory and Language, 68(3), 255-278. https://doi.org/10.1016/j.jml.2012.11.001
Bates, D., Kliegl, R., Vasishth, S., & Baayen, H. (2015). Parsimonious mixed models. arXiv preprint arXiv:1506.04967. https://arxiv.org/abs/1506.04967
Singmann, H., & Kellen, D. (2019). An Introduction to Mixed Models for Experimental Psychology. In D. H. Spieler & E. Schumacher (Eds.), New Methods in Cognitive Psychology (pp. 4-31). Routledge. http://singmann.org/download/publications/singmann_kellen-introduction-mixed-models.pdf
Baayen, R. H., Davidson, D. J., & Bates, D. M. (2008). Mixed-effects modeling with crossed random effects for subjects and items. Journal of Memory and Language, 59(4), 390-412.
Kenward, M. G., & Roger, J. H. (1997). Small sample inference for fixed effects from restricted maximum likelihood. Biometrics, 53(3), 983-997.
DeBruine, L., & Barr, D. J. (2021). Understanding Mixed-Effects Models Through Data Simulation. Advances in Methods and Practices in Psychological Science, 4(1). https://journals.sagepub.com/doi/10.1177/2515245920965119
13 Próximos Passos
Este capítulo focou-se nos conceitos teóricos. Para implementação prática:
Sintaxe do R (
aov(),afex::aov_4(),afex::mixed())Interpretação de output
Diagnósticos e validação
Comparação de abordagens
…consultem o tutorial prático sobre medidas repetidas.