Dependência e Modelos Mistos

Desenho Experimental e Análise Avançada de Dados Ecológicos

João O. Santos

ISPA

2026-10-27

Voltamos ao Primeiro Dia

peixe → tanque → tratamento

As linhas nunca foram automaticamente independentes.

Hoje

agrupamento · intercepto aleatório · medidas repetidas

Declives aleatórios ficam como extensão.

Doze Tanques

6 controlo · 6 aquecidos · 5 peixes/tanque

Solução Simples

Agregar ao nível da unidade independente.

tank_means <- aggregate(
  growth ~ tank + treatment,
  data = tank_demo,
  FUN = mean
)

lm(growth ~ treatment, data = tank_means)

Call:
lm(formula = growth ~ treatment, data = tank_means)

Coefficients:
      (Intercept)  treatmentControlo  
           11.503             -2.425  

Funciona — Mas Comprime

5 peixes → 1 média do tanque

Perdemos informação dentro do tanque.

Manter as Linhas

m_tank <- lmer(
  growth ~ treatment + (1 | tank),
  data = tank_demo
)

O Efeito de Interesse

treatment

Continua a ser a diferença geral que já sabíamos interpretar.

O Que Varia?

intercepto do tanque

Cada tanque pode ter um nível basal diferente.

Uma Recta Por Grupo

\[ \beta_{0j}=\beta_0+b_{0j} \]

intercepto global + desvio do grupo

Extensão: Declives Também Podem Variar

\[ \beta_{1j}=\beta_1+b_{1j} \]

declive global + desvio da unidade

Extensão em R

lmer(
  metabolismo ~ temperatura +
    (temperatura | colonia),
  data = dados
)

Não É Magia

O delineamento tem de fornecer informação para estimar essa variação.

Medidas Repetidas

A mesma unidade aparece em mais de uma linha.

Briozoários

De Onde Vieram os Briozoários?

Pettersen et al. (2015)

Why Does Offspring Size Affect Performance? Integrating Metabolic Scaling With Life-History Theory

Ler o Delineamento

15 minutos · grupos de 3 ou 5

Procurem nos Métodos como foram acompanhados os organismos.

  1. Que medições pertencem ao mesmo indivíduo?
  2. Que comparação é dentro da unidade?
  3. O que aconteceria à incerteza se tratássemos essas linhas como independentes?

Dentro e Entre

Species → entre unidades

Stage → dentro da unidade

ANOVA de Medidas Repetidas

m_rm <- aov_4(
  Log10MR ~ Species * Stage + (Stage | Unit),
  data = bryo
)

Perguntas Depois do Omnibus

emmeans(
  m_rm,
  list(
    pairwise ~ Species,
    ~ Stage,
    pairwise ~ Species | Stage,
    pairwise ~ Stage | Species
  )
)
$`emmeans of Species`
 Species     emmean      SE  df lower.CL upper.CL
 Burgula     -0.617 0.00898 253   -0.635   -0.600
 Watersipora -0.298 0.01650 253   -0.330   -0.265

Results are averaged over the levels of: Stage 
Confidence level used: 0.95 

$`pairwise differences of Species`
 1                     estimate     SE  df t.ratio p.value
 Burgula - Watersipora    -0.32 0.0188 253 -16.986 <0.0001

Results are averaged over the levels of: Stage 

$`emmeans of Stage`
 Stage emmean     SE  df lower.CL upper.CL
 EARLY -0.661 0.0132 253   -0.687   -0.635
 LATE  -0.254 0.0107 253   -0.275   -0.233

Results are averaged over the levels of: Species 
Confidence level used: 0.95 

$`emmeans of Species | Stage`
Stage = EARLY:
 Species      emmean     SE  df lower.CL upper.CL
 Burgula     -0.7906 0.0125 253   -0.815   -0.766
 Watersipora -0.5315 0.0231 253   -0.577   -0.486

Stage = LATE:
 Species      emmean     SE  df lower.CL upper.CL
 Burgula     -0.4443 0.0102 253   -0.464   -0.424
 Watersipora -0.0639 0.0187 253   -0.101   -0.027

Confidence level used: 0.95 

$`pairwise differences of Species | Stage`
Stage = EARLY:
 2                     estimate     SE  df t.ratio p.value
 Burgula - Watersipora   -0.259 0.0263 253  -9.849 <0.0001

Stage = LATE:
 2                     estimate     SE  df t.ratio p.value
 Burgula - Watersipora   -0.380 0.0213 253 -17.859 <0.0001


$`emmeans of Stage | Species`
Species = Burgula:
 Stage  emmean     SE  df lower.CL upper.CL
 EARLY -0.7906 0.0125 253   -0.815   -0.766
 LATE  -0.4443 0.0102 253   -0.464   -0.424

Species = Watersipora:
 Stage  emmean     SE  df lower.CL upper.CL
 EARLY -0.5315 0.0231 253   -0.577   -0.486
 LATE  -0.0639 0.0187 253   -0.101   -0.027

Confidence level used: 0.95 

$`pairwise differences of Stage | Species`
Species = Burgula:
 2            estimate     SE  df t.ratio p.value
 EARLY - LATE   -0.346 0.0141 253 -24.557 <0.0001

Species = Watersipora:
 2            estimate     SE  df t.ratio p.value
 EARLY - LATE   -0.468 0.0260 253 -17.993 <0.0001

A Pergunta Não Mudou

A mudança entre estádios difere entre espécies?

Um Tanque por Tratamento?

Nenhum modelo inventa réplicas que não foram recolhidas.

Três Perguntas Outra Vez

  1. O que representa uma linha?
  2. Que linhas pertencem ao mesmo grupo?
  3. A que nível varia o preditor?

Agora: Delineamento Primeiro

15 minutos · grupos de 3 ou 5

Medidas Repetidas no R — Exercícios

Façam exercícios 5, 6 e 7.

Depois: Medidas Repetidas

20 minutos · grupos de 3 ou 5

Medidas Repetidas no R — Exercícios

Façam exercícios 3 e 4.

Explicar o Modelo

10 minutos · grupos de 3 ou 5

Escolham tanques ou briozoários e expliquem, sem usar a palavra «aleatório»:

  1. que linhas andam juntas;
  2. o que pode variar entre grupos;
  3. porque tratar todas as linhas como independentes mudaria a incerteza.

Se Precisarem de Teoria

Medidas Repetidas e Modelos Mistos

O Que Mudou Desde o Início?

Agora conseguimos manter as observações no nível mais fino sem fingir que todas as linhas são independentes.

Voltar às aulas DEAADE