Eu estava tentando ajustar dados de uma série temporal (sem réplicas) usando o modelo de regressão. Os dados têm a seguinte aparência:
> xx.2
value time treat
1 8.788269 1 0
2 7.964719 6 0
3 8.204051 12 0
4 9.041368 24 0
5 8.181555 48 0
6 8.041419 96 0
7 7.992336 144 0
8 7.948658 1 1
9 8.090211 6 1
10 8.031459 12 1
11 8.118308 24 1
12 7.699051 48 1
13 7.537120 96 1
14 7.268570 144 1
Por falta de réplicas, trato o tempo como variável contínua. A coluna "tratar" mostra os dados de caso e controle, respectivamente.
Primeiro, eu encaixo o modelo "value = time * Treat" com "lm" em R
:
summary(lm(value~time*treat,data=xx.2))
Call:
lm(formula = value ~ time * treat, data = xx.2)
Residuals:
Min 1Q Median 3Q Max
-0.50627 -0.12345 0.00296 0.04124 0.63785
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8.493476 0.156345 54.325 1.08e-13 ***
time -0.003748 0.002277 -1.646 0.1307
treat -0.411271 0.221106 -1.860 0.0925 .
time:treat -0.001938 0.003220 -0.602 0.5606
O valor do tempo e do tratamento não é significativo.
Enquanto com anova, obtive resultados diferentes:
summary(aov(value~time*treat,data=xx.2))
Df Sum Sq Mean Sq F value Pr(>F)
time 1 0.7726 0.7726 8.586 0.0150 *
treat 1 0.8852 0.8852 9.837 0.0106 *
time:treat 1 0.0326 0.0326 0.362 0.5606
Residuals 10 0.8998 0.0900
O valor do tempo e do tratamento mudou.
Com regressão linear, se eu estiver certo, significa que o tempo e o tratamento não têm influência significativa no valor, mas com a ANOVA, significa que o tempo e o tratamento têm influência significativa no valor.
Alguém poderia me explicar por que há diferença nesses dois métodos e qual usar?
lm
eaov
puder verificar se eles produzem ajustes idênticos; por exemplo, compare seus resíduos com aresiduals
função ou examine seus coeficientes (o$coefficients
slot nos dois casos).Respostas:
O ajuste para lm () e aov () é idêntico, mas o relatório é diferente. Os testes t são o impacto marginal das variáveis em questão, dada a presença de todas as outras variáveis. Os testes F são seqüenciais - então eles testam a importância do tempo na presença de nada além do intercepto, do tratamento na presença de nada além do intercepto e do tempo, e da interação na presença de todos os itens acima.
Supondo que você esteja interessado no significado do tratamento, sugiro que você ajuste dois modelos, um com e um sem, compare os dois colocando os dois em anova () e use esse teste F. Isso testará o tratamento e a interação simultaneamente.
Considere o seguinte:
fonte
aov
.anova()
anova()
fonte
As duas respostas acima são ótimas, mas pensei em adicionar um pouco mais. Outra pepita de informação pode ser obtida aqui .
Quando você relata os
lm()
resultados com o termo de interação, está dizendo algo como: "o tratamento 1 é diferente do tratamento 0 (beta! = 0, p = 0,0925), quando o tempo é definido como o valor base de 1 ". Enquanto osanova()
resultados ( como mencionado anteriormente ) ignoram outras variáveis e se preocupam apenas com diferenças de variância.Você pode provar isso removendo o termo de interação e usando um modelo simples com apenas dois efeitos principais ( m1 ):
Nesse caso, vemos que os valores p relatados são os mesmos; isso porque no caso deste modelo mais simples,
fonte
summary(lm)
eanova(lm)
nem sempre dará resultado idêntico se não houver termo de interação. Acontece que, nestes dadostime
etreat
são ortogonais e assim do tipo I (sequencial) e III (marginais) somas dos quadrados deu resultados idênticos.REPRODUÇÃO DE PROBLEMAS
ALGUNS MODELOS USADOS NA EXPLICAÇÃO
COMO O LM T_TEST FUNCIONA E RELACIONA-SE AO F-TEST
COMO A AOV FUNCIONA E ESCOLHE O DF NOS F-TESTES
NOTA IMPORTANTE
fonte