Ich habe versucht, Zeitreihendaten (ohne Replikate) mithilfe eines Regressionsmodells anzupassen. Die Daten sehen folgendermaßen aus:
> 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
Aufgrund fehlender Replikate behandle ich die Zeit als kontinuierliche Variable. Die Spalte "Treat" zeigt die Fall- bzw. Kontrolldaten.
Zuerst passe ich das Modell "value = time * treat" mit "lm" an 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
Der Wert von Zeit und Vergnügen ist nicht signifikant.
Während ich mit anova gearbeitet habe, habe ich unterschiedliche Ergebnisse erzielt:
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
Der Wert für Zeit und Genuss hat sich geändert.
Wenn ich recht habe, bedeutet lineare Regression, dass die Zeit und die Behandlung keinen signifikanten Einfluss auf den Wert haben, während ANOVA bedeutet, dass Zeit und Behandlung einen signifikanten Einfluss auf den Wert haben.
Könnte mir jemand erklären, warum diese beiden Methoden unterschiedlich sind und welche?
lm
undaov
überprüfen, ob sie identische Anpassungen ergeben, Vergleichen Sie z. B. ihre Residuen mit derresiduals
Funktion oder untersuchen Sie ihre Koeffizienten ($coefficients
in beiden Fällen den Schlitz).Antworten:
Die Fit für lm () und aov () sind identisch, aber die Berichterstattung ist unterschiedlich. Bei den t-Tests handelt es sich um die marginale Auswirkung der betreffenden Variablen, wenn alle anderen Variablen vorhanden sind. Die F-Tests sind sequentiell - also testen sie die Wichtigkeit der Zeit in Gegenwart von nichts als dem Abfangen, der Behandlung in Gegenwart von nichts als dem Abfangen und der Zeit und der Interaktion in Gegenwart von allem Obigen.
Angenommen, Sie interessieren sich für die Bedeutung von treat. Ich schlage vor, Sie passen zwei Modelle an, eines mit und eines ohne. Vergleichen Sie die beiden Modelle, indem Sie beide Modelle in anova () einfügen, und verwenden Sie diesen F-Test. Dies wird die Behandlung und die Interaktion gleichzeitig testen.
Folgendes berücksichtigen:
quelle
aov
.anova()
anova()
quelle
Die obigen zwei Antworten sind großartig, aber ich dachte, ich würde ein bisschen mehr hinzufügen. Ein weiteres Nugget an Informationen kann hier gefunden werden .
Wenn Sie die
lm()
Ergebnisse mit dem Interaktionsbegriff melden , sagen Sie so etwas wie: "Treat 1 unterscheidet sich von Treat 0 (Beta! = 0, p = 0,0925), wenn die Zeit auf den Basiswert 1 gesetzt ist ". Während dieanova()
Ergebnisse ( wie bereits erwähnt ) andere Variablen ignorieren und sich nur mit Varianzunterschieden befassen.Sie können dies beweisen, indem Sie Ihren Interaktionsbegriff entfernen und ein einfaches Modell mit nur zwei Haupteffekten ( m1 ) verwenden:
In diesem Fall sehen wir, dass die angegebenen p-Werte gleich sind; das ist, weil im Fall dieses einfacheren Modells,
quelle
summary(lm)
undanova(lm)
wird nicht immer das gleiche Ergebnis liefern, wenn es keinen Interaktionsterm gibt. Es kommt einfach so vor, dass in diesen Datentime
undtreat
orthogonal sind und daher die Quadratsummen vom Typ I (sequentiell) und III (marginal) identische Ergebnisse liefern.PROBLEMLÖSUNG
EINIGE MODELLE, DIE IN DER ERLÄUTERUNG VERWENDET WERDEN
SO FUNKTIONIERT LM T_TEST UND BEZIEHT SICH AUF F-TEST
WIE AOV FUNKTIONIERT UND DF IN F-TESTS WÄHLT
WICHTIGE NOTIZ
quelle