| Res.Df | RSS | Df | Sum of Sq | F | Pr(>F) |
|---|---|---|---|---|---|
| 50 | 74.75060 | NA | NA | NA | NA |
| 49 | 58.77805 | 1 | 15.97255 | 13.31543 | 0.0006379 |
Abordagem de Comparação de Modelos
Este é um capítulo longo porque vamos construir, passo a passo, uma família grande de análises a partir da mesma ideia. Se estes modelos forem novos, não tente ler tudo de uma vez. Leia uma secção, faça alguns exercícios ou o tutorial correspondente, e só depois avance. A vantagem desta abordagem é que cada passo reutiliza o anterior; a desvantagem é que muita coisa pode parecer clara numa primeira leitura e desaparecer da memória se não for praticada.
Este capítulo foi escrito como uma sequência acumulativa, não como matéria para uma única aula. Uma divisão natural é: (1) uma amostra, regressão e dois grupos; (2) regressão múltipla e ANOVA de um factor; (3) ANOVA factorial, contrastes e comparações; (4) ANCOVA e interacções com preditores quantitativos. Exercícios entre blocos ajudam a consolidar a lógica de comparação de modelos antes de acrescentar nova notação.
0 Introdução
Em Fundamentos da Inferência começámos com uma média, o seu erro-padrão, uma estatística t e um valor-p. Agora voltamos aos mesmos dados para dar o passo que organiza o resto da estatística neste site: escrever a pergunta como uma comparação entre modelos.
Esta forma de organizar regressão, ANOVA e extensões num mesmo quadro segue de perto a abordagem desenvolvida por Correll et al. (2025) em Data Analysis: A Model Comparison Approach to Regression, ANOVA, and Beyond. Em vez de começar por uma lista de testes com nomes diferentes, começamos por dois modelos e perguntamos se a complexidade adicional compra uma redução de erro que valha a pena.
A abordagem de comparação de modelos deste livro teve uma influência particularmente forte na forma como aprendi estatística e, depois, na forma como a passei a ensinar. O NRB parte dessa intuição — perguntas diferentes podem ser escritas como comparações entre modelos — mas desenvolve-a à sua maneira, com exemplos em R, decomposição explícita do erro, contrastes, interacções e ligações às restantes páginas do site.
Há uma ideia antiga por trás desta abordagem: a navalha de Occam. Entre explicações que fazem igualmente bem o seu trabalho, preferimos normalmente a mais simples. Isto é uma heurística, não uma lei da natureza. Nada garante que a explicação verdadeira seja sempre a mais simples. Ainda assim, a preferência por não acrescentar complexidade sem necessidade tem sido uma regra de trabalho muito útil em ciência.
A comparação de modelos tenta tornar esse compromisso explícito. Queremos um modelo que reduza o erro e reproduza melhor os dados. Só que um modelo mais complexo também tem mais liberdade para conseguir isso. A pergunta passa então a ser muito simples: a redução do erro compensa a complexidade que acrescentámos?
Daqui a pouco tornaremos estas duas ideias concretas. O erro será resumido a partir dos resíduos ao quadrado. A diferença de complexidade entre dois modelos aninhados será medida pelos parâmetros que libertámos: no teste F, essa diferença aparece como
$ df_1=p_1-p_0. $
Assim, o problema que vamos resolver é sempre o mesmo: quanto erro conseguimos retirar ao passar de um modelo mais simples para um mais complexo, por cada grau de liberdade que acrescentámos?
A pergunta continua a ser se, em média, a população é indiferente à música da Taylor Swift. Na escala Love4Taylor, zero representa indiferença, por isso a hipótese de referência é
$ H_0:. $
Mais tarde mudaremos os preditores e o número de parâmetros, mas a estrutura mantém-se: que restrição representa a ausência do efeito que queremos estudar e quanto erro desaparece quando a libertamos?
1 O Modelo Linear
Dados, Modelo e Erro
O mesmo problema pode ser escrito sem começar pelo nome de um teste:
\[ \text{Dados}=\text{Modelo}+\text{Erro}. \]
Para cada observação,
\[ Y_i=\hat Y_i+e_i. \]
O modelo dá-nos uma previsão; o resíduo é o que ficou por explicar. Para comparar modelos lineares, resumimos esses resíduos através da soma dos quadrados:
\[ SSE=\sum_i(Y_i-\hat Y_i)^2. \]
Quanto menor o (SSE), melhor o modelo reproduz os dados. Mas um modelo com mais parâmetros tem mais liberdade para reduzir o erro. Portanto, a pergunta não pode ser apenas «qual tem menos SSE?». Precisamos de comparar a melhoria com a complexidade que acrescentámos e com o erro que ainda ficou por explicar.
No modelo linear podemos escrever todas as observações de uma vez como
$ y=X+. $
Os mínimos quadrados escolhem () para minimizar
$ (y-X)^T (y-X). $
Quando a matriz do modelo tem posto completo, este problema é quadrático e convexo: existe uma solução única. A expressão clássica é
$ =(X^TX)^{-1}X^Ty. $
Esta fórmula é óptima para perceber a álgebra, mas software estatístico sério não precisa de formar explicitamente essa inversa. Métodos como decomposição QR são numericamente mais estáveis e encontram a mesma solução de mínimos quadrados.
Esta maquinaria é útil para quem quiser perceber como lm() resolve o problema. Não é necessária para interpretar uma média, um contraste, um declive ou uma interacção.
Neste capítulo vamos construir primeiro a família de modelos e adiar deliberadamente a discussão sistemática dos seus pressupostos. Isto permite ver uma coisa que se perde facilmente quando cada teste é ensinado numa caixa separada: teste-t, regressão, ANOVA e ANCOVA herdam grande parte dos seus pressupostos da mesma estrutura de modelo linear geral.
Depois de percebermos os modelos, será mais fácil perguntar de que pressupostos depende cada conclusão. Veremos quais são assegurados pelo delineamento, quais precisam de ser avaliados nos dados e o que fazer quando a aproximação não é adequada.
Portanto, não leia a ausência temporária de listas de pressupostos como uma licença para os ignorar. Estamos a separar duas tarefas: primeiro perceber o que o modelo afirma e como faz previsões; depois estudar quando a sua estrutura de erro e as restantes condições justificam a inferência. Essa segunda tarefa é desenvolvida em Pressupostos: Do Ritual ao Diagnóstico e Estatística Robusta.
O Primeiro Teste Como Comparação de Modelos
O teste de uma amostra que já conhecemos pode ser escrito imediatamente como uma comparação entre dois modelos. A hipótese nula fornece o modelo compacto.
Modelo Compacto
Se as pessoas forem, em média, indiferentes à Taylor Swift, a previsão é sempre zero:
\[ m_0:\quad \hat Y=0. \]
Este modelo não estima a média a partir dos dados. Impõe a restrição que queremos testar.
Modelo Aumentado
O modelo aumentado liberta essa restrição e estima um intercepto:
\[ m_1:\quad \hat Y=\beta_0. \]
Num modelo apenas com intercepto, a estimativa de (_0) é a média amostral. Portanto,
\[ \hat Y=0.57. \]
A pergunta estatística passou a ter uma forma muito concreta: vale a pena abandonar a previsão fixa de zero e estimar a média a partir dos dados? Dito de outra forma, este modelo é melhor do que ficar pela referência, ou estamos a complicar para ficar praticamente na mesma?
Em R, os dois modelos são:
O Mesmo Teste Visto Como F
O t olhou para um coeficiente dividido pelo seu erro-padrão. A comparação de modelos F faz a mesma pergunta numa forma que se generaliza quando libertamos mais do que um parâmetro.
Para dois modelos lineares aninhados,
$ F= {SSE_1/(N-p_1)}. $
Aqui, \(p_1-p_0\) é precisamente a diferença de complexidade entre os modelos. É o \(df_1\) da comparação: quantos parâmetros adicionais libertámos ao passar do modelo compacto para o aumentado. Quando acrescentamos um factor, é também o número de graus de liberdade desse factor. O denominador usa os graus de liberdade residuais do modelo aumentado, \(df_2=N-p_1\).
Vamos resolver a equação com os nossos dados.
O modelo compacto tem
\[ SSE_0=74.75, \]
e o modelo aumentado tem
\[ SSE_1=58.78. \]
Libertámos um parâmetro, por isso
\[ MSR = \frac{SSE_0-SSE_1}{1} = \frac{74.75-58.78}{1} = 15.97. \]
O erro que ainda ficou no modelo aumentado é
\[ MSE = \frac{SSE_1}{N-p_1} = \frac{58.78}{49} = 1.2. \]
Logo,
\[ F = \frac{MSR}{MSE} = \frac{15.97}{1.2} = 13.32. \]
Neste exemplo os modelos diferem por um único parâmetro. Por isso,
\[ F=t^2. \]
Podemos verificar:
\[ 13.32 \approx (3.65)^2. \]
Esta equivalência é importante, mas o F é a ideia mais geral. Quando um factor com quatro níveis exige três parâmetros, ou quando comparamos dois modelos que diferem em vários termos, já não existe um único t que faça todo o trabalho. A comparação F continua exactamente com a mesma lógica: quanto erro desapareceu por termos libertado a restrição, relativamente ao erro que ficou?
O F e a Inferência
Depois de calcularmos o F, não precisamos de aprender uma nova definição de valor-p. O software pergunta quão incompatível é um F pelo menos tão grande como o observado com o modelo compacto, usando a distribuição F adequada aos graus de liberdade.
A interpretação é a que já construímos em Do t ao Valor-p. O que mudou foi a estatística cuja distribuição nula usamos, não o significado do valor-p.
Quando a comparação acrescenta apenas um parâmetro, \(F=t^2\), e os testes t e F dão o mesmo valor-p.
Não precisamos de decorar três técnicas independentes.
Primeiro perguntámos quanto a nossa estimativa varia entre amostras. Isso levou ao erro-padrão e ao t.
Depois escrevemos a hipótese como uma restrição num modelo. Libertar essa restrição reduziu o erro, e o F quantificou essa melhoria tendo em conta a complexidade adicional e o erro residual.
A partir daqui vamos mudar a pergunta de investigação, mas não vamos mudar de filosofia.
2 Do Caso Mais Familiar às Variáveis Categóricas
Um Preditor Quantitativo: Regressão Linear
Pergunta de investigação: o número de mortes de peixes-boi aumenta à medida que aumenta o número de barcos a motor registados?
Acrescentemos à média um preditor quantitativo, que pode assumir muitos valores. O modelo passa a escrever-se:
\[\hat Y=\beta_0+\beta_1X.\]
Neste modelo, \(\beta_1\) representa a mudança prevista em \(Y\) por cada unidade adicional de \(X\). É o declive da recta.
Um Modelo Faz Previsões
A equação é também uma máquina de fazer previsões. Escolhemos um valor de \(X\), substituímo-lo na equação e obtemos o valor previsto:
$ Y(X)=_0+_1X. $
Podemos fazê-lo para um valor que observámos. Se um ano tiver \(X=700\) milhares de barcos registados, por exemplo, a previsão do modelo é simplesmente
$ Y(700)=_0+700_1. $
Também podemos resolver a equação para um valor substantivamente interessante que não corresponda exactamente a nenhuma linha da base de dados. Se \(\mu_X\) for a média populacional do número de barcos, então
$ Y(_X)=_0+_1_X $
é a previsão para esse ponto. Mais tarde faremos exactamente isto com factores: colocaremos os contrastes nos valores que representam a pergunta e resolveremos o mesmo tipo de equação.
A Previsão Não É a Observação
A recta fornece a parte prevista pelo modelo. Uma observação individual inclui ainda aquilo que o modelo não explicou:
$ Y_i=Y_i+_i. $
Duas observações com o mesmo \(X\) recebem a mesma previsão do modelo, mas não têm de apresentar o mesmo \(Y\). A distância vertical entre a observação e a previsão é o resíduo nos dados; no modelo populacional, \(\varepsilon\) representa a componente de erro.
A equação não sabe quais valores de \(X\) fazem sentido no mundo. Se escrevermos \(X=10000\), ela produz alegremente
$ Y(10000)=_0+10000_1. $
Matematicamente, uma recta pode continuar indefinidamente. Metodologicamente, uma previsão muito para além da região observada exige que a relação continue aproximadamente linear nesse novo domínio. Substantivamente, alguns valores podem nem sequer ser possíveis — por exemplo, uma idade humana de 10 000 anos.
Portanto, conseguir calcular uma previsão não basta para a tornar uma boa previsão. O domínio da variável e o processo que gerou os dados fazem parte da interpretação do modelo.
Esta questão voltará a ser central quando a variável resposta tiver limites naturais. Uma probabilidade, por exemplo, tem de ficar entre 0 e 1; uma recta não conhece esse limite. Mais adiante veremos modelos cuja própria forma respeita esse tipo de restrição.
| Res.Df | RSS | Df | Sum of Sq | F | Pr(>F) |
|---|---|---|---|---|---|
| 34 | 29273.886 | NA | NA | NA | NA |
| 33 | 3886.267 | 1 | 25387.62 | 215.5774 | 0 |
summary(m1)
Call:
lm(formula = ManateeDeaths ~ Powerboats, data = manatees)
Residuals:
Min 1Q Median 3Q Max
-21.023 -5.645 -0.885 6.522 28.252
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -57.12918 8.05671 -7.091 4.05e-08 ***
Powerboats 0.15237 0.01038 14.683 5.00e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 10.85 on 33 degrees of freedom
Multiple R-squared: 0.8672, Adjusted R-squared: 0.8632
F-statistic: 215.6 on 1 and 33 DF, p-value: 4.998e-16
A comparação pergunta se permitir um declive reduz o erro face ao modelo que prevê apenas a média. Outra vez, acrescentámos um parâmetro, portanto o F da comparação é o quadrado do t do declive.
Correlação
Numa regressão simples com intercepto, se centrarmos e padronizarmos (X) e (Y), o declive é a correlação de Pearson (r). Além disso, nesse caso simples, (R2=r2).
Podemos por isso olhar para a correlação como mais um caso particular desta mesma regressão. A transformação das variáveis muda a escala e a interpretação dos coeficientes, mas não inventa uma nova relação entre os dados.
Centrar significa subtrair um valor de referência — muitas vezes a média — a um preditor. Numa regressão simples isso desloca o ponto onde lemos o intercepto; não muda o declive nem as previsões. Mais tarde, quando aparecerem interacções, centrar vai tornar-se especialmente útil porque muda onde são avaliados os efeitos de ordem inferior. Voltaremos ao que se ganha e ao que se perde com essa escolha.
Dois Grupos
Pergunta de investigação: há uma diferença média de massa corporal entre dois grupos de pinguins?
Acabámos de ajustar uma regressão em que (X) era um número. Mas agora o preditor é um factor: por exemplo, sex contém níveis como female e male.
Podemos até pedir directamente ao R:
Código
Call:
lm(formula = body_mass_g ~ sex, data = penguins)
Coefficients:
(Intercept) sexmale
3862.3 683.4
O R ajusta um modelo linear sem dificuldade. Mas a equação continua a ser
$ Y=_0+_1X. $
Como multiplicamos (_1) pela palavra «female»? Não multiplicamos. Precisamos de transformar os níveis do factor numa ou mais colunas numéricas. Essa transformação chama-se codificação por contrastes.
Codificar com 0 e 1
Uma possibilidade é escolher um grupo como referência:
| Grupo | \(X\) |
|---|---|
| A | 0 |
| B | 1 |
Para A,
\[ \hat Y_A=\beta_0+\beta_1(0)=\beta_0. \]
Para B,
\[ \hat Y_B=\beta_0+\beta_1(1)=\beta_0+\beta_1. \]
Portanto, \(\beta_0\) é a média de A e \(\beta_1\) é (B-A). O zero funciona como baseline: quando \(X=0\), ficamos apenas com o intercepto.
Esta codificação, chamada frequentemente treatment coding, é a escolha por defeito do R para factores não ordenados. É muito natural quando existe uma categoria de referência substantiva.
Uma Codificação Centrada: -1 e +1
Nem sempre existe um grupo que mereça ser o baseline. Além disso, queremos uma codificação que continue a dar interpretações úteis quando chegarmos a modelos factoriais e interacções. Neste capítulo vamos por isso usar sobretudo contrastes centrados.
Com dois grupos:
| Grupo | \(X\) |
|---|---|
| A | -1 |
| B | +1 |
então
\[ \hat Y_A=\beta_0-\beta_1,\qquad \hat Y_B=\beta_0+\beta_1. \]
Logo, \(\beta_0\) fica a meio das duas médias e \(2\beta_1=B-A\). Mudámos a forma de escrever as duas médias, não as médias que o modelo consegue reproduzir.
Para perceber o mecanismo, podemos imaginar que criamos literalmente uma coluna nova:
penguins$C1 <- ifelse(penguins$sex == "female", -1, 1)No tutorial prático atribuímos contrastes soma-zero aos factores antes de ajustar os modelos, e o R constrói as colunas correspondentes. Aqui interessa apenas tornar visível que um factor entra no modelo através de números.
E a comparação continua a ser a mesma lógica:
| Res.Df | RSS | Df | Sum of Sq | F | Pr(>F) |
|---|---|---|---|---|---|
| 332 | 215259666 | NA | NA | NA | NA |
| 331 | 176380769 | 1 | 38878897 | 72.96099 | 0 |
summary(m1)
Call:
lm(formula = body_mass_g ~ sex, data = penguins)
Residuals:
Min 1Q Median 3Q Max
-1295.7 -595.7 -237.3 737.7 1754.3
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3862.27 56.83 67.963 < 2e-16 ***
sexmale 683.41 80.01 8.542 4.9e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 730 on 331 degrees of freedom
Multiple R-squared: 0.1806, Adjusted R-squared: 0.1781
F-statistic: 72.96 on 1 and 331 DF, p-value: 4.897e-16
Com dois grupos libertámos um parâmetro. É precisamente o caso conhecido como teste-t de amostras independentes na tradição dos testes clássicos. Com os erros-padrão usuais de lm(), a equivalência exacta é com o teste de Student que assume uma variância residual comum, e \(F=t^2\).
O teste de Welch usa outra estimativa da incerteza quando não queremos assumir uma variância comum aos grupos. O contraste continua a representar a diferença entre médias; muda a forma como essa diferença é estandardizada para a inferência.
Dois Vocabulários Para a Mesma Família
É frequente a regressão ser ensinada com palavras como previsão, declive, intercepto, resíduo e variável explicativa. Essa linguagem é natural em muitas aplicações quantitativas, incluindo engenharia, calibração, previsão e modelação de processos. A tradição da ANOVA cresceu muito ligada ao delineamento experimental, onde falamos mais de factores, níveis, efeitos, interacções e decomposição da variância. O desenvolvimento de ANOVA e do delineamento experimental ficou particularmente associado ao trabalho de Fisher no início do século XX.
Estas tradições levaram a vocabulários diferentes, e esses vocabulários podem ser úteis porque destacam aspectos diferentes do problema. Matematicamente, porém, grande parte da ANOVA introdutória pode ser escrita como regressão com preditores categóricos. O nome muda mais do que a matemática. Quando percebemos o modelo, deixa de ser muito importante escolher se somos «pessoa de ANOVA» ou «pessoa de regressão».
A história completa é muito mais longa do que «regressão veio da engenharia e ANOVA veio da Psicologia». Regressão e mínimos quadrados têm raízes em astronomia, geodesia e biometria; ANOVA foi desenvolvida no contexto da estatística matemática e do delineamento experimental, com enorme influência dos trabalhos de Fisher. O ponto pedagógico aqui é apenas que as tradições de uso deixaram linguagens diferentes para a mesma família de modelos.
Vários Preditores: Uma Tabela de Comparações
Pergunta de investigação: que características da água ainda ajudam a prever o oxigénio quando as restantes já estão no modelo?
Nada nos obriga a parar num único (X):
$ Y=_0+_1X_1+_2X_2+_3X_3+ $
Agora aparece uma distinção essencial. Testar Temp sozinha não é a mesma coisa que testar Temp num modelo que já contém pH, NTU e Conductivity. No modelo múltiplo perguntamos se Temp ainda reduz o erro depois de permitirmos que os outros preditores façam o seu trabalho.
Para reunir essas perguntas numa tabela, usamos car::Anova() com Tipo III. Neste modelo aditivo, os testes dos preditores coincidem com os de Tipo II: cada termo é avaliado depois de todos os outros. Vamos manter Tipo III como convenção ao longo do capítulo e voltar à diferença quando introduzirmos interacções.
Código
| Sum Sq | Df | F value | Pr(>F) | |
|---|---|---|---|---|
| (Intercept) | 32.2456898 | 1 | 152.2798585 | 0.000000 |
| pH | 21.9911133 | 1 | 103.8527517 | 0.000000 |
| Temp | 0.0894279 | 1 | 0.4223222 | 0.516082 |
| NTU | 12.9663764 | 1 | 61.2335471 | 0.000000 |
| Conductivity | 46.6706267 | 1 | 220.4014393 | 0.000000 |
| Residuals | 104.8176469 | 495 | NA | NA |
A tabela ANOVA pode ser lida como uma pequena colecção de comparações de modelos. Para a linha de Temp, por exemplo:
| Res.Df | RSS | Df | Sum of Sq | F | Pr(>F) |
|---|---|---|---|---|---|
| 496 | 104.9071 | NA | NA | NA | NA |
| 495 | 104.8176 | 1 | 0.0894279 | 0.4223222 | 0.516082 |
A linha pergunta se libertar o parâmetro de Temp reduz suficientemente o erro mantendo os outros preditores no modelo. Podemos construir uma comparação análoga para cada termo. car::Anova() organiza essas perguntas numa tabela. Ao ler cada linha, procure o termo que está a ser testado e os restantes termos que continuam a ser estimados.
As designações Tipo I, II e III identificam formas de construir os testes dos termos de um modelo. A distinção torna-se útil agora que temos vários preditores.
Com um único objecto lm, anova(m_full) produz uma tabela Tipo I, sequencial: cada termo entra depois dos que o precedem na fórmula. Em y ~ x1 + x2, a linha de x1 mede a melhoria depois do intercepto; a de x2 mede a melhoria depois de x1. Se os preditores partilharem informação, trocar a ordem pode mudar as somas de quadrados e os testes. Os testes F da tabela usam a variância residual do modelo completo.
A pergunta que formulámos para a água é ajustada: queremos saber o contributo de cada preditor com todos os restantes já no modelo. É essa a comparação que os Tipos II e III fazem para os termos explicativos num modelo aditivo de posto completo, com intercepto. Por isso, coincidem aqui, incluindo modelos aditivos com vários factores ou com factores e covariáveis. A interpretação de Tipo III com interacções ficará para a nota do modelo factorial.
Nos modelos com intercepto e um único termo explicativo, essa escolha não alterava o teste do declive ou do factor. Um factor com vários níveis continua a ser um único termo, testado conjuntamente pelos seus \(k-1\) contrastes. No teste de uma amostra, comparámos directamente o modelo de previsão zero com o modelo que estima um intercepto. A coincidência dos testes dos preditores não implica que todas as funções apresentem a mesma tabela ou testem o intercepto.
Quando escrevemos anova(m_sem_temp, m_com_temp), escolhemos nós os dois modelos a comparar. Essa chamada testa a comparação explícita, como já vínhamos a fazer. A tabela sequencial é o comportamento de anova() com um só modelo, descrito na documentação de anova.lm().
Uma sequência Tipo I é útil quando a ordem representa a pergunta científica, por exemplo testar se um segundo bloco de preditores melhora um modelo que já contém um primeiro bloco. Para as perguntas termo a termo deste capítulo, usamos a tabela ajustada.
Como cada preditor quantitativo acrescenta aqui um único declive, o teste F de cada termo tem 1 grau de liberdade no numerador e coincide com o quadrado do teste t desse declive:
\[ F=t^2. \]
Há ainda uma pergunta diferente: o conjunto inteiro de preditores melhora a previsão relativamente a uma única média? O próprio summary(m_full) mostra esta distinção. Para cada declive apresenta um teste t, mas no fim apresenta também um teste F para o modelo como um todo. Esse F compara, em substância, o modelo com todos os preditores com um modelo que contém apenas o intercepto. Podemos escrever essa comparação explicitamente:
| Res.Df | RSS | Df | Sum of Sq | F | Pr(>F) |
|---|---|---|---|---|---|
| 499 | 337.4916 | NA | NA | NA | NA |
| 495 | 104.8176 | 4 | 232.6739 | 274.6999 | 0 |
Esta é a nossa primeira hipótese omnibus. Em vez de perguntar se Temp, pH ou NTU têm individualmente um declive diferente de zero, perguntamos se usar este conjunto de preditores reduz o erro comparado com não usar nenhum deles. É uma hipótese geral sobre o modelo, e pode ser precisamente a escala da pergunta científica que queremos fazer.
A utilidade do omnibus não se reduz a evitar muitos testes. Se quisermos testar vários coeficientes separadamente, podemos lidar com a multiplicidade. Mas «algum destes preditores acrescenta capacidade explicativa ao modelo?» é uma pergunta diferente de uma lista de perguntas sobre cada coeficiente. Uma mesma regressão múltipla permite, portanto, uma comparação omnibus do conjunto e comparações parciais para os termos.
Mais adiante veremos exactamente a mesma lógica quando um único factor precisar de vários parâmetros para ser representado. O importante é perguntar sempre que modelo compacto está por trás de cada teste.
Até aqui todos os termos são aditivos: o declive de Temp não depende de NTU, e vice-versa. Mais tarde vamos libertar precisamente essa restrição.
Podemos Misturar Números e Grupos
Uma coluna do modelo pode representar um preditor quantitativo e outra um contraste de um factor. Não há uma fronteira matemática entre «regressão» e «comparação de grupos».
Por exemplo:
Se grupo tiver dois níveis, a sua linha testa a diferença entre os grupos condicionada aos preditores quantitativos; as linhas de idade e ansiedade testam os respectivos declives condicionados aos outros termos.
Podemos chamar a isto regressão com um preditor categórico. Em muitos contextos, uma combinação de factores e covariáveis quantitativas será chamada ANCOVA. O nome é secundário. A pergunta continua a ser: que parâmetro ou conjunto de parâmetros libertámos, que termos ficaram no modelo e quanto erro foi reduzido?
Paradoxo de Simpson
Há uma armadilha importante escondida na expressão «associação entre duas variáveis»: em que nível estamos a calcular essa associação?
O paradoxo de Simpson aparece quando a relação observada nos dados agregados muda muito — podendo até inverter a direcção — quando separamos os dados por um terceiro factor relevante. O fenómeno tem antecedentes anteriores, mas ficou associado ao exemplo de Simpson (1951) sobre a interpretação de associações em tabelas de contingência. Os resumos agregado e condicionado descrevem relações diferentes.
Os Palmer Penguins dão-nos um exemplo particularmente claro. Se juntarmos as três espécies, o comprimento e a profundidade do bico mostram uma associação negativa. Mas, quando olhamos dentro de cada espécie, a associação é positiva.
O que aconteceu? As espécies ocupam regiões diferentes do gráfico. Ao misturá-las, a recta global combina duas fontes de informação:
- diferenças entre espécies na forma típica do bico;
- associação dentro de cada espécie entre comprimento e profundidade.
No conjunto, as diferenças entre espécies dominam o declive. Dentro de cada espécie, vemos outra relação. Por isso, «a correlação entre comprimento e profundidade do bico» não é uma descrição suficientemente precisa da pergunta.
Em termos de modelos, comparem:
bill_depth_mm ~ bill_length_mm
bill_depth_mm ~ species + bill_length_mm
bill_depth_mm ~ species * bill_length_mmO primeiro estima a associação global, ignorando a espécie. O segundo permite níveis médios diferentes entre espécies e estima um declive comum condicionado à espécie. O terceiro permite ainda que o próprio declive seja diferente entre espécies.
O paradoxo de Simpson não significa que devemos «controlar por tudo». Significa que agregar ou separar grupos muda a quantidade que estamos a estimar.
Antes de interpretar um declive ou uma correlação, perguntem:
- Que unidade representa cada linha?
- Há grupos que ocupam regiões diferentes dos dados?
- A pergunta é sobre diferenças entre grupos, relações dentro dos grupos, ou ambas?
- O modelo representa explicitamente esse nível da pergunta?
Neste exemplo, cada linha continua a ser um pinguim diferente. species é um factor entre unidades, não uma medida repetida. A ligação às medidas repetidas está na ideia mais geral: a estrutura dos dados e o nível de análise fazem parte do modelo.
Uma inversão de Simpson não nos diz, por si só, se devemos apresentar a associação agregada ou a associação condicionada. Essa escolha depende da pergunta e do papel da terceira variável no processo que gerou os dados. Simpson (1951) mostrou o problema de interpretação; trabalhos posteriores tornaram explícito que a decisão de agregar ou condicionar exige informação substantiva e, quando a pergunta é causal, uma teoria sobre a estrutura causal.
A escolha dos Palmer Penguins para mostrar esta inversão foi inspirada pela visualização de Tolios (2026). Os gráficos acima destacam primeiro a associação agregada e depois as associações dentro de cada espécie.
Mais de Dois Grupos
Até agora, sempre que usámos um factor ele tinha apenas dois níveis e, por isso, cabia numa única coluna de contraste. Agora podemos finalmente perguntar: o que muda quando o factor tem três ou mais níveis?
Pergunta de investigação: a massa corporal média é a mesma nas três espécies de pinguins, ou precisamos de permitir médias diferentes?
Com dois grupos resolvemos o problema com uma única coluna -1/+1. E com três?
Poderíamos escrever simplesmente 1, 2 e 3:
| Grupo | \(X\) |
|---|---|
| A | 1 |
| B | 2 |
| C | 3 |
Mas isso já não representa «três grupos» em geral. Impõe uma estrutura: as médias previstas têm de ficar sobre uma recta e a passagem de A para B tem de ser igual à passagem de B para C. Poderíamos acrescentar um termo quadrático, mas estaríamos novamente a impor uma forma particular. Isso faz sentido para níveis quantitativos ou ordenados quando essa forma é a hipótese. Não resolve o problema geral de um factor nominal.
A pista vem do caso com dois grupos. Uma coluna permitia representar uma direcção de diferença. Com três médias há duas direcções independentes de diferença. Por exemplo, podemos construir uma comparação que distingue A de B e outra que acrescenta a informação necessária para localizar C.
Não precisamos de testar os três pares (A-B), (A-C) e (B-C) para saber se as três médias podem ser iguais. Depois de conhecermos duas diferenças independentes, a terceira já está determinada:
\[ A-C=(A-B)+(B-C). \]
É esta a razão para a regra geral:
Um factor com \(k\) níveis precisa de \(k-1\) contrastes independentes para representar livremente as suas \(k\) médias, além do intercepto.
O teste F pode então perguntar de uma só vez se esses \(k-1\) parâmetros são necessários. É a hipótese omnibus da ANOVA: podemos obrigar simultaneamente todos os contrastes do factor a zero, ou perdemos demasiada explicação?
Para três espécies podemos usar, por exemplo, a codificação soma-zero produzida por contr.sum(3):
| Espécie | \(C_1\) | \(C_2\) |
|---|---|---|
| Adelie | 1 | 0 |
| Chinstrap | 0 | 1 |
| Gentoo | -1 | -1 |
e escrever
$ Y=_0+_1C_1+_2C_2. $
As duas colunas dão ao modelo os dois graus de liberdade de que precisa para reproduzir quaisquer três médias. Os coeficientes são algebricamente declives: cada um multiplica uma coluna de contrastes, exactamente como um declive de regressão multiplica um preditor quantitativo. A diferença é que cada coluna só assume alguns valores fixos, como -1, 0 e 1. Assim, em vez de uma recta contínua ao longo de um eixo quantitativo, obtemos uma previsão por categoria. Graficamente, é como passar de um único nível horizontal (o intercepto, correspondente à média geral nesta codificação) para níveis distintos, um por grupo. A ANOVA de um factor compara precisamente dois modelos: um com uma média comum e outro em que as médias dos grupos podem diferir. Os (k-1) coeficientes de contraste são a forma de o modelo linear representar essa diferença.
Como cada coluna soma zero, o intercepto corresponde à média não ponderada das médias dos níveis. Os coeficientes individuais dependem da base de contrastes escolhida; o conjunto dos dois coeficientes contém toda a informação necessária para representar as diferenças entre as três médias.
Com \(k\) grupos queremos representar \(k\) médias. O intercepto já fornece uma dimensão: desloca todas as previsões em conjunto. Restam \(k-1\) dimensões para representar como os grupos se afastam uns dos outros.
Para três grupos, por exemplo, se conhecermos a média geral e duas diferenças independentes, conseguimos reconstruir as três médias. Uma terceira diferença entre pares seria redundante. Geometricamente, os contrastes escolhem uma base para esse espaço de \(k-1\) dimensões.
Há muitas bases possíveis: tratamento, soma-zero, Helmert, polinomiais ou contrastes planeados. Mudam os coeficientes que lemos directamente; se tiverem posto completo, representam o mesmo conjunto de médias.
No R podemos tornar essa escolha explícita:
Código
[,1] [,2]
Adelie 1 0
Chinstrap 0 1
Gentoo -1 -1
A comparação também pode ser vista directamente. O modelo compacto prevê a mesma média para todas as espécies; o aumentado prevê uma média por espécie. Os pontos são médias previstas, não posições numa recta contínua. Os segmentos verticais mostram a diferença de cada previsão face à média geral, que é o papel gráfico dos coeficientes de contraste.
Depois ajustamos exactamente o modelo que já conhecemos:
Ler a Tabela ANOVA
Neste exemplo há um único termo explicativo, species. O factor entra com dois coeficientes de contraste, mas a sua linha na tabela testa-os em conjunto: libertámos dois parâmetros ao passar de uma média comum para três médias. Para esta pergunta, os Tipos I, II e III dão o mesmo teste do factor.
O teste omnibus pergunta se as duas colunas de contraste, em conjunto, acrescentam informação. Na prática, estamos a testar se usar uma média diferente para cada grupo melhora a previsão face a usar uma única média para toda a gente. Se os dois contrastes puderem ser tratados como zero, as três médias previstas colapsam para uma só.
Esta é uma pergunta científica por direito próprio. Se species representa um factor substantivamente relevante, podemos querer testar a hipótese geral «a espécie está associada à massa corporal?» antes de a decompor em diferenças particulares entre Adelie, Chinstrap e Gentoo. O F testa directamente esse termo do modelo: pergunta se precisamos do espaço de (k-1) parâmetros que representa o factor.
Depois do omnibus podemos fazer uma pergunta diferente: como se organiza essa diferença? Aqui aparece o primeiro «não há almoços grátis». O F permitiu testar a hipótese global numa única comparação de modelos, mas não identifica quais os contrastes responsáveis pelo padrão. Para isso precisamos de examinar as diferenças uma a uma.
Comparações aos Pares
O teste omnibus compara uma média comum com um modelo que permite três médias diferentes. Mas não nos diz quais são diferentes. Com três grupos, o passo seguinte é muito simples: comparar cada par de médias.
| Comparação | A | B | C | Diferença |
|---|---|---|---|---|
| A − B | +1 | −1 | 0 | (Y_A-Y_B) |
| A − C | +1 | 0 | −1 | (Y_A-Y_C) |
| B − C | 0 | +1 | −1 | (Y_B-Y_C) |
Cada linha define um contraste: multiplicamos as médias previstas pelos pesos e somamos. O zero exclui o grupo que não participa na comparação. Estas três diferenças são fáceis de interpretar, mas apenas duas são independentes: ((A-C)=(A-B)+(B-C)). Por isso, os dois coeficientes que bastam para ajustar o modelo não limitam as comparações que podemos pedir depois. Também não devemos confundir os coeficientes particulares de contr.sum com estas diferenças aos pares: são duas maneiras de representar ou interrogar as mesmas médias previstas.
No R, podemos pedir os três pares directamente a partir do modelo já ajustado, sem fazer três análises separadas:
contrast estimate SE df t.ratio p.value
Adelie - Chinstrap -32.4 67.5 339 -0.480 0.8807
Adelie - Gentoo -1375.4 56.1 339 -24.495 <0.0001
Chinstrap - Gentoo -1342.9 69.9 339 -19.224 <0.0001
P value adjustment: tukey method for comparing a family of 3 estimates
O ajustamento de Tukey considera que estamos a testar uma família de comparações aos pares. Quanto mais pares examinarmos, maior é a possibilidade de encontrar diferenças aparentemente significativas por acaso. Com (k) grupos existem (k(k-1)/2) pares; para três grupos, são apenas três. Voltaremos à multiplicidade quando os modelos se tornarem mais complexos, mas já podemos perceber por que precisamos de a considerar.
Contrastes Planeados
Nem sempre queremos comparar todos os pares. Podemos ter, antes de observar os resultados, uma hipótese mais específica: por exemplo, comparar C com a média de A e B.
| Grupo | C vs média de A e B |
|---|---|
| A | −1/2 |
| B | −1/2 |
| C | +1 |
Esta combinação calcula (Y_C-(Y_A+Y_B)/2). É o mesmo mecanismo das comparações aos pares, mas responde a outra pergunta científica. Também podemos planear tendências entre níveis ordenados ou outras combinações estimáveis. Multiplicar todos os pesos por uma constante altera a escala, não a hipótese de diferença igual a zero.
A distinção é sobretudo substantiva: nos pares exploramos diferenças entre grupos; nos contrastes planeados escolhemos combinações que traduzem hipóteses concretas. O facto de um contraste ser planeado não nos dispensa automaticamente de considerar a multiplicidade: isso depende da família de testes e da estratégia inferencial. Em ambos os casos continuamos a trabalhar com previsões do mesmo modelo linear.
Com codificação de tratamento, um nível é a referência e os coeficientes comparam os outros níveis com essa referência. Com contr.sum, o intercepto fica centrado nas médias dos níveis e os coeficientes obedecem a uma restrição de soma zero.
Quando as duas parametrizações descrevem o mesmo espaço de modelos, podem produzir as mesmas previsões ajustadas. O que muda é que comparação aparece directamente em cada coeficiente. Isso torna-se crucial quando há interacções e quando pedimos testes de efeitos de ordem inferior.
No restante percurso do NRB, a nossa escolha de trabalho será a codificação soma-zero, com contr.sum(). Para conhecer outros esquemas, consulte o guia da UCLA, Contrast Coding Systems for Categorical Variables. Encontrará matrizes de codificação, exemplos em R e interpretações dos coeficientes. Inclui tratamento, soma-zero, Helmert, contrastes polinomiais e contrastes definidos pelo investigador.
Comece pela secção Deviation Coding, que corresponde à soma-zero, e compare-a com Dummy Coding. Procure o que representa o intercepto e que diferença entre médias é representada por cada coeficiente. Depois pode explorar os restantes esquemas conforme as perguntas que lhe interessarem.
3 Interacções e ANCOVA
Dois Factores e a Interacção
Pergunta de investigação: a diferença associada a um factor mantém-se igual em todos os níveis do outro, ou muda consoante o contexto?
Suponhamos dois factores, A e B, ambos com dois níveis. Usando -1/+1, cada célula recebe também o produto dos dois contrastes:
| A | B | A:B |
|---|---|---|
| -1 | -1 | +1 |
| +1 | -1 | -1 |
| -1 | +1 | -1 |
| +1 | +1 | +1 |
O modelo completo é
\[ \hat Y=\beta_0+\beta_AA+\beta_BB+\beta_{AB}AB. \]
Esta tabela parece uma pequena convenção de codificação, mas contém a ideia da ANOVA factorial inteira.
- \(2\beta_A\) é a diferença média entre os níveis de A, agregando os níveis de B;
- \(2\beta_B\) é a diferença média entre os níveis de B, agregando os níveis de A;
- \(4\beta_{AB}\) é a diferença de diferenças.
A escala dos coeficientes vem da escolha -1/+1. Se usássemos outra codificação, os números dos \(\beta\) podiam mudar; as médias previstas por célula e a comparação substantiva não precisavam de mudar.
Mantemos a convenção de tabelas Tipo III para avaliar cada termo neste modelo completo. Com os contrastes centrados, as linhas de A e B correspondem às diferenças médias que acabámos de identificar. Agora que a interacção está explícita, podemos explicar na nota seguinte a diferença em relação ao Tipo II.
No modelo y ~ A * B, a tabela Tipo III com a codificação -1/+1 testa:
- para A, \(\beta_A=0\): a diferença de A em média sobre os níveis de B;
- para B, \(\beta_B=0\): a diferença de B em média sobre os níveis de A;
- para A:B, \(\beta_{AB}=0\): a diferença de diferenças.
Ao testar A, os coeficientes de B e de A:B continuam a ser estimados livremente. Para essa pergunta funcionam como nuisance parameters: representam partes do modelo que precisamos de estimar, embora o alvo do teste seja A. Tipo III é a nossa convenção para testar cada componente no modelo científico completo.
O Tipo II segue o princípio da marginalidade: testa um termo depois dos outros, excepto dos termos de ordem superior que o contêm. Aqui, o teste de A é ajustado por B, mas não por A:B. A distinção altera a hipótese sobre os efeitos principais. Para a interacção A:B, que não está contida num termo de ordem superior, os Tipos II e III coincidem.
Em car::Anova() para estes modelos lineares, ambos os tipos usam a variância residual do modelo ajustado. A diferença está na hipótese testada para cada termo. A documentação de car::Anova() explicita estas definições e os cuidados com a codificação dos factores.
Os contrastes soma-zero dão aos testes de ordem inferior a interpretação marginal que queremos, com peso igual para os níveis do outro factor. Com preditores quantitativos e interacções, esses testes referem-se aos valores zero dos outros preditores envolvidos: voltaremos a isso ao centrar os preditores.
Num 2 × 2 equilibrado, as colunas -1/+1 para A e B e a coluna produto A:B são ortogonais entre si e ao intercepto. As quatro médias das células ficam decompostas em quatro peças: média geral, contraste de A, contraste de B e contraste A × B.
Num delineamento factorial completo apenas com factores, com o mesmo número de observações por célula, mínimos quadrados usuais e contrastes centrados, a ortogonalidade entre os espaços dos termos faz coincidir os respectivos testes dos Tipos I, II e III. Com covariáveis ou outra estrutura de ponderação, precisamos de verificar a geometria do modelo.
Com factores de mais de dois níveis, contr.sum() mantém os contrastes centrados, mas as suas colunas não são necessariamente ortogonais entre si. Para decompor os vários graus de liberdade de um factor em comparações individuais, podemos escolher contrastes planeados ortogonais que correspondam às hipóteses científicas. Os seus produtos dão as decomposições das interacções.
Tipo III também pode ser usado com células desequilibradas, desde que as hipóteses sejam estimáveis. Com contrastes soma-zero, a comparação marginal continua a dar peso igual aos níveis dos factores; as estimativas, somas de quadrados, erros-padrão e testes dependem dos dados e dos tamanhos das células. Células vazias ou coeficientes redundantes exigem cuidados adicionais com a estimabilidade.
O SPSS usa Tipo III por defeito no GLM e o PROC GLM do SAS também apresenta testes Tipo III por defeito, como se pode confirmar nas documentações do SPSS e do SAS. Isto ajuda a perceber a familiaridade desta convenção em muitos cursos de psicologia. No NRB mantemo-la pela ligação à abordagem de comparação de modelos que estamos a desenvolver.
Sem Interacção = Restrição
O modelo
y ~ A + Bnão significa apenas «ainda não testámos a interacção». Ele afirma que a diferença entre A=-1 e A=+1 é a mesma nos dois níveis de B. As duas partes somam-se de forma aditiva.
O modelo
y ~ A * Bexpande para
y ~ A + B + A:Be liberta essa restrição.
Por isso, quando a teoria permite ou prevê uma interacção, o modelo com interacção é o modelo que representa a teoria. Podemos comparar o modelo aditivo com ele para testar a interacção:
Mas não tratamos a interacção como uma decoração que só entra depois de termos garantido efeitos principais. Se a pergunta importante é uma diferença de diferenças, o delineamento e o tamanho da amostra também devem ser pensados para essa diferença de diferenças.
Interacção Entre Dois Factores
Uma interacção diz simplesmente:
a diferença associada a A depende do nível de B.
Num 2 × 2, podemos escrevê-la directamente:
\[ (\bar Y_{A_2B_2}-\bar Y_{A_1B_2})- (\bar Y_{A_2B_1}-\bar Y_{A_1B_1}). \]
Se este valor for zero, a diferença de A é a mesma nos dois níveis de B. Se não for, mudou.
É aqui que a tabela por células volta a ser mais útil do que a linguagem abstracta de «efeitos». Antes de interpretar um valor-p, escrevam ou desenhem as quatro médias. Perguntem: que diferença mudou, em que direcção e quanto?
Há ainda uma cautela histórica importante nos delineamentos 2 × 2. Garcia-Marques et al. (2014), desenvolvendo argumentos de Loftus (1978) e articulando-os com Rosnow e Rosenthal (1989), mostram que a interpretação não depende apenas de saber se o termo de interacção é diferente de zero. Certos padrões podem desaparecer sob uma transformação monotónica da escala, e o padrão completo das quatro células importa para perceber o que a interacção permite afirmar.
O resultado mais forte de Garcia-Marques et al. é específico do 2 × 2. Com factores de mais de dois níveis há mais estrutura para confrontar e aquele resultado não se transfere literalmente. A cautela geral, porém, continua útil: interpretem o padrão das médias e os contrastes substantivos, não apenas a linha «interacção» de uma tabela ANOVA.
Com -1/+1, \(\beta_A\) resume A agregando os níveis de B. Isso pode ser uma pergunta substantiva perfeitamente legítima. Mas, quando a interacção é grande, esse resumo pode esconder duas diferenças muito distintas.
Por isso, uma tabela ANOVA não termina a interpretação de uma interacção. Precisamos normalmente das médias por célula, efeitos simples ou contrastes que digam exactamente onde está a diferença de diferenças.
Médias Previstas pelo Modelo
Já temos o modelo factorial:
\[ \hat Y=\beta_0+\beta_AA+\beta_BB+\beta_{AB}AB. \]
A partir daqui não precisamos de uma regra nova para obter médias. Fazemos o mesmo que numa regressão: escolhemos os valores dos preditores, substituímo-los na equação e calculamos a previsão.
A Média Geral
Com contrastes -1/+1, o ponto central dos dois factores é zero. Se colocarmos \(A=0\) e \(B=0\), o termo de interacção também vale zero:
\[ \hat Y(0,0)=\beta_0. \]
O intercepto é, portanto, a previsão no centro do delineamento. Num 2 × 2 equilibrado com esta codificação, corresponde à média geral das quatro células.
O Efeito Principal de A
Para obter as previsões marginais de A, deixamos B no seu valor central, \(B=0\), e resolvemos o modelo para os dois valores de A.
Para \(A=-1\):
\[ \hat Y(-1,0)=\beta_0-\beta_A. \]
Para \(A=+1\):
\[ \hat Y(+1,0)=\beta_0+\beta_A. \]
A diferença entre estas duas previsões é \(2\beta_A\). É precisamente a comparação marginal de A: perguntamos pela diferença associada a A mantendo B no centro do seu contraste.
O Efeito Principal de B
Agora fazemos o simétrico. Colocamos \(A=0\) e variamos B:
\[ \hat Y(0,-1)=\beta_0-\beta_B, \qquad \hat Y(0,+1)=\beta_0+\beta_B. \]
A diferença é \(2\beta_B\). Outra vez, não apareceu uma operação nova: apenas escolhemos os valores dos preditores e resolvemos a equação.
As Quatro Células e a Interacção
Para obter as médias previstas por célula, usamos agora os valores que correspondem realmente a cada combinação dos factores. O termo de interacção é o produto \(AB\):
| A | B | AB | Previsão |
|---|---|---|---|
| -1 | -1 | +1 | \(\beta_0-\beta_A-\beta_B+\beta_{AB}\) |
| +1 | -1 | -1 | \(\beta_0+\beta_A-\beta_B-\beta_{AB}\) |
| -1 | +1 | -1 | \(\beta_0-\beta_A+\beta_B-\beta_{AB}\) |
| +1 | +1 | +1 | \(\beta_0+\beta_A+\beta_B+\beta_{AB}\) |
Agora podemos ver a interacção directamente no modelo. A diferença de A quando \(B=-1\) é
\[ \hat Y(+1,-1)-\hat Y(-1,-1) =2\beta_A-2\beta_{AB}. \]
Quando \(B=+1\), é
\[ \hat Y(+1,+1)-\hat Y(-1,+1) =2\beta_A+2\beta_{AB}. \]
A diferença entre estas duas diferenças é \(4\beta_{AB}\). Portanto, o coeficiente da interacção é literalmente a peça do modelo que permite que a diferença de A mude quando mudamos B.
Este é o ponto importante: médias gerais, médias marginais, médias por célula e efeitos simples podem ser lidos como previsões do mesmo modelo em pontos diferentes da sua matriz de contrastes. Não estamos a mudar de análise.
É isto que as médias marginais estimadas (estimated marginal means, EMMs) automatizam. Em modelos simples conseguimos fazer estas substituições à mão. Com desequilíbrio, covariáveis e modelos maiores, o pacote emmeans faz esta contabilidade de forma segura. A mecânica do pacote fica para o tutorial de modelos lineares.
Comparações múltiplas é o termo geral: fazemos uma família de várias comparações e precisamos de decidir como controlar o erro nessa família.
A expressão post hoc é usada muitas vezes como sinónimo, mas é mais específica. Historicamente, refere-se sobretudo a procedimentos de comparação definidos para uma família de testes, frequentemente depois de um teste omnibus, com uma estatística ou distribuição que já tem em conta essa família de comparações. Tukey é o exemplo clássico. Contrastes planeados, efeitos simples e outras famílias de comparações também podem exigir controlo de multiplicidade sem serem, nesse sentido estrito, testes post hoc.
Porque Muitas Comparações Criam um Problema
Com (k) grupos existem
$ $
pares possíveis. Quatro grupos já dão 6 pares; seis dão 15; dez dão 45. Se tratássemos (m) testes independentes, todos sob as respectivas hipóteses nulas, como testes isolados a (), a probabilidade de aparecer pelo menos um resultado significativo por acaso seria
$ 1-(1-.05)^m. $
Os testes reais nem sempre são independentes, portanto esta expressão é uma ilustração e não uma fórmula universal para a taxa de erro de qualquer análise. Mostra, porém, por que repetir testes a 5% não preserva automaticamente um erro de 5% para a família.
Com interacções, o espaço de comparações cresce ainda mais depressa. Podemos comparar células entre si, níveis de A dentro de cada nível de B, níveis de B dentro de cada nível de A, ou diferenças de diferenças. A solução não é testar tudo. É formular a comparação que corresponde à pergunta.
Efeitos Simples
Na ANOVA de um factor, começámos por comparar médias duas a duas: A − B, A − C e B − C. Numa ANOVA factorial fazemos exactamente o mesmo, mas especificamos em que nível do outro factor queremos comparar as médias.
Num delineamento 2 × 2 temos quatro médias previstas:
| B1 | B2 | |
|---|---|---|
| A1 | (_{11}) | (_{12}) |
| A2 | (_{21}) | (_{22}) |
Podemos pedir quatro comparações simples:
| Pergunta | Contraste |
|---|---|
| A1 − A2 em B1 | ({11}-{21}) |
| A1 − A2 em B2 | ({12}-{22}) |
| B1 − B2 em A1 | ({11}-{12}) |
| B1 − B2 em A2 | ({21}-{22}) |
São efeitos simples: cada comparação usa apenas duas das quatro médias, mantendo o outro factor num nível fixo. Tal como antes, podemos pensá-las como contrastes cujos pesos são +1 e -1 para as duas células comparadas e zero para as restantes.
A interacção pergunta se uma dessas diferenças muda quando passamos de um nível do outro factor para o seguinte. Por exemplo:
\[ (\hat\mu_{11}-\hat\mu_{21}) - (\hat\mu_{12}-\hat\mu_{22}). \]
Isto é uma diferença de diferenças, ou um contraste de contrastes. Se a expressão for zero, as duas diferenças de A são iguais; se não for, a diferença associada a A depende de B. Podemos chegar à mesma pergunta pela outra direcção, comparando os dois efeitos simples de B (com o sinal adequado à ordem das subtracções). Num 2 × 2, estas são formas alternativas de ler a mesma interacção, não quatro interacções distintas.
Os efeitos simples ajudam-nos a descrever onde está o padrão: uma diferença pode ser grande em B1 e pequena em B2, mudar de sinal, ou surgir apenas num dos níveis. Contudo, o teste da interacção avalia a diferença entre os efeitos simples; não equivale a verificar se um deles é significativo e o outro não. A comparação de valores-p separados não testa essa diferença de diferenças.
No R, podemos usar médias marginais estimadas para obter as comparações a partir do modelo factorial já ajustado:
Aqui, modelo representa um modelo com A * B. A barra vertical em ~ A | B significa «comparar os níveis de A dentro de cada nível de B». Ao interpretar vários efeitos simples, importa também definir a família de comparações e o eventual ajustamento de multiplicidade, tal como vimos na ANOVA de um factor.
Os gráficos seguintes permitem olhar para as mesmas quatro médias nas duas orientações: uma vista facilita a leitura de A dentro de B; a outra, de B dentro de A. O modelo e a interacção são os mesmos.
Padrões de um 2 × 2
Num 2 × 2 há três termos na tabela ANOVA: A, B e A:B. Podemos combinar a presença ou ausência desses termos de várias formas. Os exemplos abaixo reproduzem a lógica usada nas aulas de XDNS: cada conjunto de quatro médias é desenhado duas vezes. À esquerda, A fica no eixo horizontal e B forma as linhas; à direita trocamos os papéis.
Os dados são os mesmos. O modelo é o mesmo. O que muda é a direcção em que o gráfico nos convida a ler os efeitos simples.
As médias são hipotéticas e usamos a mesma escala vertical nos seis pares. Em cada par, compare primeiro as diferenças entre os níveis do factor no eixo horizontal. Depois olhe para as linhas: os seus declives mostram se essa diferença se mantém ou muda com o outro factor.
Efeito de A
As médias de A são 4 e 8; as duas médias marginais de B são 6. À esquerda, as linhas de B coincidem. À direita, a diferença entre os níveis de A aparece como duas linhas horizontais separadas.
Efeito de B
Agora a diferença média é entre os níveis de B. As médias marginais de A são ambas 6. Com A no eixo, vemos duas linhas horizontais; com B no eixo, as duas linhas de A coincidem e sobem de 4 para 8.
Apenas Interacção
Todas as médias marginais são 6. Os efeitos simples têm direcções opostas e anulam-se quando fazemos a média sobre o outro factor. As linhas cruzam-se nas duas orientações.
A e Interacção
As médias marginais de A são 3.5 e 6.5; as de B são ambas 5. A diferença entre os níveis de A é 6 em B1 e zero em B2. Na vista com B no eixo, as linhas de A têm declives opostos e encontram-se em B2.
B e Interacção
As médias marginais de A são ambas 5; as de B são 3.5 e 6.5. A diferença entre os níveis de B é 6 em A1 e zero em A2. Compare este par com o anterior: os factores trocaram de papel.
A, B e Interacção
Ambos os factores têm diferenças marginais: A passa de 5 para 2 e B de 2 para 5. A diferença entre os níveis de A é zero em B1 e -6 em B2, pelo que também há interacção.
A troca de eixos é particularmente útil quando há interacção. Numa orientação vemos imediatamente A dentro de cada nível de B; na outra vemos B dentro de cada nível de A. Nenhuma orientação é «a correcta». Escolhemos a que torna mais fácil explicar a pergunta substantiva e, muitas vezes, vale a pena olhar para as duas antes de decidir como reportar o padrão.
Os seis desenhos representam combinações simples dos três termos da tabela, não seis formas únicas que os dados podem assumir. Dentro de cada combinação existem infinitos padrões de magnitudes e direcções.
Quando uma interacção é substantivamente importante, escreva primeiro a diferença de diferenças. Depois escolha os efeitos simples ou contrastes que explicam essa diferença. As EMMs dão uma forma conveniente de obter as médias previstas pelo modelo; o controlo de comparações múltiplas acompanha a família de perguntas que realmente pretende responder.
ANCOVA
Até aqui, a nossa expansão dos factores levou-nos da comparação de dois grupos à ANOVA factorial. Mas os preditores quantitativos não desapareceram. Podemos misturá-los com factores no mesmo modelo, tal como já antecipámos na regressão múltipla. Esta combinação recebe frequentemente o nome ANCOVA.
Pergunta de investigação: depois de ter em conta uma variável quantitativa relevante, continuam a existir diferenças entre os grupos — e podemos realmente assumir que essa variável tem o mesmo declive em todos eles?
O nome não exige uma nova matemática: continuamos a ajustar um modelo linear com pelo menos um preditor categórico e um quantitativo.
A versão tradicional mais simples é:
y ~ grupo + xAqui x é a covariável. O modelo permite grupos com interceptos diferentes, mas obriga todos os grupos a partilhar o mesmo declive de x. É a famosa hipótese de declives paralelos.
ANCOVA Factorial Tradicional
Podemos ter dois factores categóricos e permitir a sua interacção, mantendo a covariável apenas como efeito aditivo:
y ~ A * B + xEste modelo permite:
- diferenças entre níveis de A;
- diferenças entre níveis de B;
- uma interacção A × B;
- uma associação linear com
x; -
mas o mesmo declive de
xem todas as células A × B.
Esta é uma forma muito comum de ANCOVA. É importante perceber que «não incluir interacções com a covariável» não é uma propriedade matemática obrigatória da ANCOVA. É uma restrição do modelo.
Quando a Convenção Falha
Se houver razão científica para pensar que a relação entre x e a resposta muda entre grupos, impor um único declive pode esconder precisamente o padrão que nos interessa. Podemos então comparar o modelo anterior com um modelo que liberta essas interacções.
Por exemplo, para uma covariável e dois factores:
y ~ A * B * xinclui A × x, B × x e A × B × x, além dos termos de ordem inferior. Não somos obrigados a incluir toda a estrutura se a pergunta justificar apenas uma parte, mas devemos respeitar a hierarquia dos termos e dizer claramente que modelo estamos a testar.
Acrescentar x altera a quantidade que estimamos. Pode reduzir variação residual e melhorar precisão; pode também introduzir ou agravar viés em certos cenários causais. Uma ANCOVA não transforma automaticamente dados observacionais numa experiência.
O paradoxo de Lord nasceu de comparações entre grupos que já diferiam antes da medição final. Lord (1967, 1968) mostrou que comparar a mudança bruta e comparar os grupos finais ajustando estatisticamente o valor inicial podem produzir conclusões diferentes. A diferença não é apenas uma escolha de fórmula: os métodos respondem a perguntas diferentes e assentam em pressupostos diferentes sobre os grupos e sobre o papel da medida inicial.
Isto é especialmente importante com grupos preexistentes. Incluir o baseline como covariável não apaga automaticamente as diferenças que já existiam entre os grupos. O delineamento, a forma de constituição dos grupos, a fiabilidade da medida inicial e a pergunta científica determinam que comparação é defensável. Em estudos aleatorizados, o papel do ajuste pode ser muito diferente do que tem em grupos observacionais já distintos à partida.
Factor × Variável Quantitativa
Na ANCOVA anterior impusemos um declive quantitativo comum aos grupos. Mas isso também é uma restrição. E se o declive mudar entre grupos?
Consideremos:
y ~ grupo * xIsto expande para
y ~ grupo + x + grupo:xA interacção pergunta se o declive de x é igual entre grupos.
Com dois grupos, podemos imaginar:
\[ \hat Y_{grupo0}=\beta_0+\beta_1x \]
e
\[ \hat Y_{grupo1}=(\beta_0+\beta_2)+(\beta_1+\beta_3)x. \]
\(\beta_3\) é então a diferença entre declives. Se for zero, as rectas são paralelas. Se não for, a associação entre x e y depende do grupo.
Este é o mesmo conceito que vimos na interacção entre dois factores. Mudou a geometria da variável, não a ideia de «o efeito de um preditor depende do outro».
Dois Preditores Quantitativos
Já deixámos um factor modificar um declive. Falta apenas retirar a última fronteira artificial: o segundo preditor também pode ser quantitativo. A pergunta continua a ser se o efeito de um preditor depende do outro.
Finalmente:
\[ Y=\beta_0+\beta_1X+\beta_2Z+\beta_3XZ+e. \]
ou, em R:
y ~ x * zO declive de x é
\[ \frac{\partial \hat Y}{\partial X}=\beta_1+\beta_3Z. \]
Portanto, quando existe uma interacção, não há um único declive de X. O declive depende do valor de Z. E, simetricamente, o declive de Z depende de X.
É por isso que interacções quantitativas costumam ser apresentadas através de declives simples em valores substantivamente úteis do moderador. Média, média ± 1 DP e quantis são convenções possíveis, não leis. Se um desses valores ficar fora da região onde há dados, a interpretação passa a depender de extrapolação.
Se substituirmos \(X\) por \(X-c\), o modelo continua a representar a mesma superfície quando os termos correspondentes são incluídos. O que muda é o ponto onde interpretamos o intercepto e o «efeito principal» de outro preditor. Centrar numa média pode tornar coeficientes mais interpretáveis, mas não é necessário para que uma interacção exista nem a torna estatisticamente válida.
4 Ligações e Extensões
O Que Une Tudo Isto?
A tabela abaixo é uma tradução entre nomes tradicionais e modelos lineares. Não é uma lista de testes que tenham de decorar.
| Nome tradicional | Modelo linear típico | Pergunta central |
|---|---|---|
| teste-t de uma amostra |
y ~ 1 face a uma referência |
precisamos de estimar um intercepto diferente da referência? |
| teste-t de duas amostras | y ~ grupo |
um contraste entre dois níveis reduz o erro? |
| regressão simples | y ~ x |
precisamos de um declive de x? |
| correlação de Pearson | regressão simples padronizada | existe associação linear? |
| regressão múltipla | y ~ x1 + x2 + ... |
que termos acrescentam informação condicionada aos outros? |
| ANOVA unifactorial | y ~ factor |
o conjunto de contrastes do factor melhora o modelo? |
| ANOVA factorial aditiva | y ~ A + B |
diferenças médias de A e B chegam? |
| ANOVA factorial com interacção | y ~ A * B |
a diferença associada a A depende de B? |
| ANCOVA |
y ~ A + x ou y ~ A * B + x
|
diferenças entre grupos condicionadas à covariável, assumindo declive comum? |
| ANCOVA com declives diferentes | y ~ A * x |
a relação com a covariável depende do grupo? |
| moderação quantitativa | y ~ x * z |
o declive de x depende de z? |
A vantagem desta tradução é podermos crescer sem trocar de filosofia a cada capítulo. Acrescentamos parâmetros, libertamos restrições e perguntamos sempre que comparação responde à hipótese.
E Se Não For uma Recta?
Até aqui trabalhámos com respostas quantitativas que podemos modelar directamente numa escala linear. Mas uma probabilidade não pode descer abaixo de 0 nem subir acima de 1, e uma contagem não pode prever -3 animais.
A lógica dos contrastes, interacções e comparação de modelos não desaparece. O que muda é a forma como representamos a resposta e a sua variabilidade.
Isso merece mais do que quatro secções técnicas no fim de um capítulo já longo. Continuem em Modelos Lineares Generalizados, onde começamos pelos problemas concretos que obrigam a mudar de família ou de ligação e só depois introduzimos a matemática.
E as Medidas Repetidas?
Até aqui tratámos cada linha como uma observação independente. Quando a mesma pessoa ou unidade aparece várias vezes, precisamos de representar essa estrutura de dependência. A lógica de comparação de modelos continua, mas o termo de erro deixa de ser tão simples.
No capítulo de medidas repetidas e modelos mistos vamos construir primeiro uma ANOVA de medidas repetidas a partir de modelos lineares que incluem o participante, perceber exactamente o que essa manobra faz e ver por que se torna incómoda em delineamentos maiores. Só depois passamos às funções que automatizam essa contabilidade e aos modelos mistos.
E os Pressupostos do Modelo?
A mesma pergunta acompanha todos os modelos deste capítulo: quando é que esta representação dos dados sustenta a inferência que queremos fazer?
A vantagem de a colocar aqui, depois de vermos a família inteira, é que já não precisamos de memorizar uma lista ligeiramente diferente ao lado de cada nome tradicional. Podemos estudar os pressupostos como propriedades do modelo, do termo de erro, do delineamento e da forma como os dados foram gerados. Depois perguntamos o que muda em cada aplicação concreta.
Algumas condições podem ser garantidas pelo próprio delineamento ou pela forma como recolhemos os dados. Outras tornam-se mais ou menos plausíveis conforme a variável, os grupos, o tamanho da amostra ou a estrutura dos resíduos. Algumas condições relevantes numa aplicação deixam simplesmente de ser a pergunta certa noutra. E diferentes violações ameaçam diferentes conclusões.
Esta organização é menos parecida com uma árvore de decisões, mas permite uma análise mais detalhada. Em vez de decorar «se A, use teste X; se B, use teste Y», podemos perguntar:
- que parte do modelo está em causa?
- que conclusão depende dela?
- quão sensível é essa conclusão ao problema observado?
- que diagnóstico ou conhecimento do delineamento nos informa?
- que alternativa muda apenas a parte do modelo que precisa de mudar?
As respostas podem incluir outra distribuição, uma transformação substantivamente defensável, erros-padrão robustos, bootstrap, estimadores robustos, modelos mistos ou métodos baseados em postos. A página de Pressupostos: Do Ritual ao Diagnóstico trata esta lógica directamente; Estatística Robusta vai mais longe nas alternativas.
Esta sequência não reduz o rigor. Troca uma simplificação pedagógica precoce por uma discussão posterior com mais ferramentas e mais nuance. A árvore de decisões pode ser útil quando estamos a começar; o objectivo aqui é chegar ao ponto em que já não precisamos dela.
E os Testes «Não-Paramétricos»?
Até aqui evitámos de propósito organizar os métodos em «paramétricos» e «não-paramétricos». Isto não é falta de rigor. É uma escolha pedagógica: primeiro queremos perceber bem a estrutura comum — uma pergunta, um modelo, parâmetros, restrições e uma comparação — antes de acrescentar mais uma árvore de decisões para decorar.
Isso não quer dizer que os testes baseados em postos vivam noutro universo. Muitos encaixam surpreendentemente bem nesta linguagem quando pensamos em modelos ajustados aos postos (ranks). Mann–Whitney, Wilcoxon, Kruskal–Wallis e Spearman podem ser ligados desta forma a modelos que já conhecemos. A página de Jonas Lindeløv, Common statistical tests are linear models, mostra essas ligações de forma especialmente clara.
Não precisamos de abrir já essa caixa. A equivalência nem sempre é exacta em todos os detalhes do teste, e transformar os dados em postos também muda a quantidade que estamos a analisar.
Por agora, o objectivo é manter a estrutura conceptual à vista. Decorar uma árvore de nomes de testes antes de perceber o que estão a comparar costuma só tornar a estatística mais misteriosa do que ela precisa de ser. Voltaremos aos pressupostos com bastante mais detalhe.
E aí não vamos ensinar apenas a receita clássica:
«testar pressupostos → se algum teste der significativo → trocar para um teste não-paramétrico».
Essa sequência aparece muitas vezes em manuais e aulas introdutórias porque é simples. Mas é apenas uma simplificação. Um teste formal de normalidade, por exemplo, não decide sozinho se um modelo é adequado, e «não-paramétrico» não quer dizer «sem pressupostos».
Vamos antes perguntar que pressuposto importa para que conclusão, olhar para o delineamento e para diagnósticos relevantes, e estudar o que acontece quando o modelo simplifica demasiado. Isso inclui transformações quando fazem sentido, modelos para outras distribuições, erros-padrão robustos, bootstrap, estimadores robustos, métodos baseados em postos e triangulação de análises.
Ou seja: adiar esta discussão não a torna menos rigorosa. Permite-nos tratá-la depois com mais rigor, quando já temos linguagem suficiente para perceber o que cada alternativa muda e porquê.
Também estamos, portanto, a adiar deliberadamente uma pergunta inevitável:
quando é que cada modelo é uma representação suficientemente boa dos dados?
Falaremos disso em Pressupostos: Do Ritual ao Diagnóstico. Para perceber o que mudam trimming, Winsorização, estimadores-M, bootstrap e jackknife, veja também Estatística Robusta. Primeiro construímos o mapa. Depois aprendemos onde ele pode falhar — e o que fazer quando falha.
5 Síntese
Se retiverem apenas uma ideia deste capítulo, retenham esta: os nomes tradicionais mudam mais depressa do que a matemática subjacente. Uma média, uma diferença entre grupos, um declive, um factor com vários níveis e uma interacção podem ser representados como parâmetros do mesmo modelo linear.
Fazer inferência passa então por saber:
- que parâmetros o modelo contém;
- que restrição representa a hipótese que queremos avaliar;
- que modelo compacto corresponde a essa restrição;
- que variabilidade deve servir de termo de erro;
- que estimativa e incerteza respondem realmente à pergunta científica.
O tutorial prático de modelos lineares parte daqui, mas faz deliberadamente o contrário deste capítulo: começa pela pergunta de investigação e mostra apenas o código necessário para a responder.
6 Exercícios
Queremos saber se uma variável quantitativa
xajuda a prevery. Escreva um modelo compacto que prevê apenas a média deye um modelo aumentado que acrescentax. Escreva depois a chamadaanova()que compara os dois modelos. Que parâmetro é libertado e o que significa concluir que o modelo aumentado reduz suficientemente o erro?Num contraste -1/+1 para dois grupos, derive as duas médias previstas. Explique por que o intercepto fica a meio das médias e por que o coeficiente do contraste é metade da diferença entre elas.
Num modelo
y ~ x1 + x2 + x3, explique o que significa testarx2mantendo os outros dois preditores no modelo. Compare essa pergunta com o teste global do conjunto dos três preditores.Um factor tem quatro níveis. Quantos coeficientes são necessários para o representar além do intercepto? Por que o teste omnibus não corresponde a um único teste-t?
Compare
y ~ A + Bcomy ~ A * B. Que restrição sobre as diferenças entre níveis está presente no primeiro e é libertada no segundo?Explique a diferença entre
y ~ A * B + xey ~ A * B * x. Qual deles obriga a covariável a ter o mesmo declive em todas as células?Num modelo
y ~ x * z, qual é o declive dexquandoz = 0? E quandoz = 2? O que representa o coeficiente dex:z?Opcional: consulte as notas sobre somas de quadrados na regressão múltipla e no modelo factorial. Num 2 × 2 com uma interacção teoricamente importante, explique por que neste material preferimos uma tabela Tipo III com contrastes centrados. Depois dê um caso em que uma comparação sequencial Tipo I seria substantivamente mais natural.
7 Recursos
- Visualização UBC Kingfisher do Teorema do Limite Central
- Aplicação sobre interceptos e declives
- Lindeløv (2019), Common statistical tests are linear models
- Correll et al. (2025), Data Analysis: A Model Comparison Approach to Regression, ANOVA, and Beyond (4.ª ed.) — referência central para a abordagem usada neste capítulo.
- UCLA, contrast coding systems
- NIST/SEMATECH e-Handbook of Statistical Methods
8 Referências
Simpson, E. H. (1951). The interpretation of interaction in contingency tables. Journal of the Royal Statistical Society: Series B (Methodological), 13(2), 238–241. https://doi.org/10.1111/j.2517-6161.1951.tb00088.x
Lord, F. M. (1967). A paradox in the interpretation of group comparisons. Psychological Bulletin, 68(5), 304–305. https://doi.org/10.1037/h0025105
Lord, F. M. (1968). Statistical adjustments when comparing preexisting groups (Research Bulletin RB-68-67). Educational Testing Service. https://doi.org/10.1002/j.2333-8504.1968.tb00724.x
Correll, J., Folberg, A. M., Judd, C. M., McClelland, G. H., & Ryan, C. S. (2025). Data analysis: A model comparison approach to regression, ANOVA, and beyond (4.ª ed.). Routledge. https://doi.org/10.4324/9781003438335
Garcia-Marques, L., Garcia-Marques, T., & Brauer, M. (2014). Buy three but get only two: The smallest effect in a 2 × 2 ANOVA is always uninterpretable. Psychonomic Bulletin & Review, 21(6), 1415–1430. https://doi.org/10.3758/s13423-014-0640-3
Loftus, G. R. (1978). On interpretation of interactions. Memory & Cognition, 6(3), 312–319. https://doi.org/10.3758/BF03197461
Rosnow, R. L., & Rosenthal, R. (1989). Definition and interpretation of interaction effects. Psychological Bulletin, 105(1), 143–146. https://doi.org/10.1037/0033-2909.105.1.143
Tolios, G. (2026). Simpson’s paradox is a statistical phenomenon where the relationship between two variables changes when grouping the sample into subcategories [LinkedIn post]. LinkedIn. https://lnkd.in/p/eucEvEkn