Medidas Repetidas e Modelos Mistos

Modelos Lineares
Medidas Repetidas
Modelos Mistos
Por que razão o ‘erro’ deixa de ser aleatório quando as observações não são independentes
Autores
Afiliações

João O. Santos

ISPA

Cristina Mendonça

ISPA; WJCR

Vitória Melita

FP-UL

Mariona Pascual Peñas

UIB

João Raposo

ISPA

Marta Barros

FP-UL

NotaNota Preliminar

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):

library(ggplot2)

# Ler dados de stress ao longo do dia (35 participantes × 3 tempos)
ds <- read.csv("../data/rm_oneway.csv")

# Converter variáveis para factores
ds$pp <- factor(ds$pp)
ds$time <- factor(ds$time, levels = c("morning", "afternoon", "night"))

head(ds, 9)  # Primeiras 3 participantes
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
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:

m <- lm(stress ~ time, data = ds)

anova(m)
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:

# Modelo compacto: apenas participante
m0 <- lm(stress ~ pp, ds)

# Modelo aumentado: participante + tempo
m1 <- lm(stress ~ pp + time, ds)

anova(m0, m1)
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:

# ANOVA RM tradicional
aov_rm <- aov(stress ~ time + Error(pp/time), data = ds)
summary(aov_rm)

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 time são idênticos entre anova(m0, m1) e aov()

  • A única diferença está na apresentação (tabelas diferentes)

ImportanteA Mesma Matemática, Diferentes Interfaces

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:

  1. Sintaxe: Error(pp/time) vs lm(stress ~ pp + time)

  2. Output: Tabelas formatadas de forma diferente

  3. 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:

  1. Delineamentos desbalanceados: Quando faltam observações, lm() pode dar resultados sub-óptimos

  2. Crossed random effects: Quando temos participantes E itens, precisamos de modelos mistos

  3. 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

  1. \(\beta_0\) (intercepto fixo): Média populacional esperada quando \(X = 0\).

  2. \(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)\)).

  3. \(\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).

DicaApp Interactiva: Visualizar Modelos Mistos

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:

Link directo para a 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)

ImportanteRegra de Ouro para Random Slopes

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 Frequencia por participante: o efeito pode variar entre pessoas

  • Apenas random intercept por item: cada item só tem um nível de frequencia, logo não faz sentido random slope

DicaRecursos: Exemplos de Especificação de Random Effects

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:

  1. Participantes: Cada participante responde a vários itens.

  2. 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:

  1. F1 (by subjects): Agregar dados por participante e fazer ANOVA tratando participantes como unidade de análise (itens como repetições).

  2. F2 (by items): Agregar dados por item e fazer ANOVA tratando itens como unidade de análise (participantes como repetições).

  3. 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).

AvisoRandom Intercepts Only = Grave Inflação do Tipo I

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:

# Usando afex::mixed() (preferível a lmer() directo)
# Assumindo que os dados estão no objecto `ds`.
library(afex)
mixed(RT ~ A * B + (A * B | participant), data = ds)

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

NotaE Se Random Slopes Não Forem Necessários?

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:

  1. Não converge (tipicamente porque tenta estimar variâncias negativas)

  2. Avisa isSingular (variâncias estimadas como 0 ou correlações como ±1)

  3. 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:

  1. Começar com o modelo maximal.

  2. 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.
  3. Remover primeiro as correlações (substituir | por || na sintaxe), depois random slopes se necessário.

  4. Justificar e reportar o processo de simplificação.

NotaAtenção: Testar “Para Cima” Não Faz Sentido

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:

  1. Tentar ajustar o modelo maximal.

  2. 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).
  3. Nunca ajustar modelos apenas com interceptos aleatórios se os factores variarem within-subjects/items (isso é pior que ANOVA tradicional).

  4. 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:

  1. Ajusta a matriz de covariância dos parâmetros fixos para contabilizar a incerteza na estimação dos componentes de variância.

  2. 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.

  • 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).

DicaRecomendação Prática

Para delineamentos experimentais equilibrados:

  1. Usem afex::mixed() com method = "KR" (Kenward-Roger) por defeito.

  2. Verifiquem se os graus de liberdade aproximados são razoáveis (próximos dos da ANOVA RM equivalente).

  3. Se houver singularidade/convergência duvidosa, os graus de liberdade podem ser inflacionados ou deflacionados → sinal de que o modelo precisa de ajustes.

  4. Sempre reportem o método usado (KR, Satterthwaite, ou LRT).

10 Implicações Práticas

O Que NÃO Fazer

  1. Ignorar a estrutura de agrupamento: Ajustar lm() quando há medidas repetidas → inflação do Tipo I.

  2. 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 que lm()).

  3. Agregar prematuramente: Calcular médias por participante e fazer ANOVA → perda de poder e impossibilidade de testar certos efeitos.

  4. 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

  1. Identificar a estrutura de agrupamento: Quais as variáveis que identificam clusters (participante? item? turma?)?

  2. 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.).

  3. Começar com estrutura maximal justificada pelo delineamento:

    • Random slopes para todos os factores within-[unidade].
    • Apenas interceptos aleatórios para factores between-[unidade].
  4. Se houver problemas de convergência:

    • Simplificar de forma conservadora (remover correlações primeiro).
    • Reportar de forma transparente.
  5. Usar afex::mixed() em vez de lmer() 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.
  6. 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 que lmer() directo para análises experimentais.

12 Leituras Essenciais

  1. 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

  2. Bates, D., Kliegl, R., Vasishth, S., & Baayen, H. (2015). Parsimonious mixed models. arXiv preprint arXiv:1506.04967. https://arxiv.org/abs/1506.04967

  3. 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

  4. 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.

  5. Kenward, M. G., & Roger, J. H. (1997). Small sample inference for fixed effects from restricted maximum likelihood. Biometrics, 53(3), 983-997.

  6. 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:

…consultem o tutorial prático sobre medidas repetidas.