Próbowałem dopasować dane z szeregu czasowego (bez replik) za pomocą modelu regresji. Dane wyglądają następująco:
> 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
Z powodu braku replikacji czas traktuję jako zmienną ciągłą. Kolumna „traktuj” pokazuje odpowiednio dane przypadku i kontroli.
Najpierw dopasowuję model „wartość = czas * traktuję” z „lm” w 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
Wartość czasu i leczenia nie jest znacząca.
Podczas pracy z anova uzyskałem różne wyniki:
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
Zmieniono wartość czasu i leczenia.
W przypadku regresji liniowej, jeśli mam rację, oznacza to, że czas i leczenie nie ma znaczącego wpływu na wartość, ale w przypadku ANOVA oznacza to, że czas i leczenie mają znaczący wpływ na wartość.
Czy ktoś mógłby mi wyjaśnić, dlaczego te dwie metody różnią się od siebie i którą zastosować?
lm
iaov
możesz sprawdzić, czy dają identyczne pasowania; np. porównaj ich resztki zresiduals
funkcją lub sprawdź ich współczynniki ($coefficients
przedział w obu przypadkach).Odpowiedzi:
Dopasowania dla lm () i aov () są identyczne, ale raportowanie jest inne. Testy t są marginalnym wpływem danych zmiennych, biorąc pod uwagę obecność wszystkich innych zmiennych. Testy F są sekwencyjne - więc sprawdzają ważność czasu w obecności tylko przechwytywania, leczenia w obecności tylko przechwytywania i czasu oraz interakcji w obecności wszystkich powyższych.
Zakładając, że interesuje Cię znaczenie leczenia, sugeruję, abyś dopasował dwa modele, jeden z, a drugi bez, porównaj oba, umieszczając oba modele w anova () i użyj tego testu F. To przetestuje leczenie i interakcję jednocześnie.
Rozważ następujące:
źródło
aov
.anova()
anova()
źródło
Dwie powyższe odpowiedzi są świetne, ale pomyślałem, że dodałbym trochę więcej. Stąd można pobrać kolejny samorodek informacji .
Kiedy raportujesz
lm()
wyniki z terminem interakcji, mówisz coś w stylu: „leczenie 1 jest inne niż leczenie 0 (beta! = 0, p = 0,0925), gdy czas jest ustawiony na wartość podstawową 1 ”. Natomiastanova()
wyniki ( jak wspomniano wcześniej ) ignorują wszelkie inne zmienne i dotyczą tylko różnic w wariancji.Możesz to udowodnić, usuwając termin interakcji i używając prostego modelu z tylko dwoma głównymi efektami ( m1 ):
W tym przypadku widzimy, że zgłaszane wartości p są takie same; to dlatego, że w przypadku tego prostszego modelu
źródło
summary(lm)
ianova(lm)
nie zawsze da identyczny wynik, jeśli nie ma terminu interakcji. Tak się składa, że w tych danychtime
itreat
są prostopadłe, a więc typ I (sekwencyjny) i III (marginalne) sumy kwadratów uzyskując identyczne wyniki.ROZWIĄZANIE PROBLEMU
NIEKTÓRE MODELE WYKORZYSTANE W OBJAŚNIENIU
JAK DZIAŁA LM T_TEST I JEST ZWIĄZANY Z F-TESTEM
JAK DZIAŁA AOV I WYBIERA DF W F-TESTACH
WAŻNA UWAGA
źródło