Jak napisać termin błędu w powtarzanych pomiarach ANOVA w R: Błąd (temat) vs Błąd (temat / czas)

10

Moje pytanie jest bardzo ściśle związane z poprzednim poście Określanie Błąd () termin w ANOVA z powtarzanymi pomiarami w R . Chciałbym jednak uzyskać więcej informacji na temat definiowania terminu błędu.

Załóżmy, że mam dwukierunkową powtarzaną ANOVA. Czynnikiem pomiędzy efektami grupowymi jest Leczenie (kontrola vs. placebo), podczas gdy Czas jest efektem wewnątrz grupy mierzonym wielokrotnie ponad 4 razy (T1 ~ T4). Identyfikatory pacjentów są rejestrowane jako podmiot. Tutaj pożyczyłem dane z przykładu z samouczka w http://gjkerns.github.io/R/2012/01/20/power-sample-size.html, więc dane wyglądają tak

 Time Subject Method      NDI
 0min    1     Treat 51.01078
 15min   1     Treat 47.12314
 48hrs   1     Treat 26.63542
 96hrs   1     Treat 20.78196
 0min    2     Treat 42.61345
 15min   2     Treat 32.77171

Aby zastosować ANOVA:

aovComp <- aov(NDI ~ Time*Method + Error(Subject/Time), theData)
summary(aovComp)
Error: Subject
          Df Sum Sq Mean Sq F value Pr(>F)
Method     1    113   112.7   0.481  0.491
Residuals 58  13579   234.1              

Error: Subject:Time        
            Df Sum Sq Mean Sq F value  Pr(>F)    
Time          3  13963    4654 103.789 < 2e-16 ***
Time:Method   3   1221     407   9.074 1.3e-05 ***
Residuals   174   7803      45 

Próbowałem również innego terminu błędu:

aovComp1 <- aov(NDI ~ Time*Method + Error(Subject), theData)
summary(aovComp1)

Error: Subject      
          Df Sum Sq Mean Sq F value Pr(>F)
Method     1    113   112.7   0.481  0.491
Residuals 58  13579   234.1               

Error: Within
             Df Sum Sq Mean Sq F value  Pr(>F)    
Time          3  13963    4654 103.789 < 2e-16 ***
Time:Method   3   1221     407   9.074 1.3e-05 ***
Residuals   174   7803      45

Czy ktoś może mi pomóc wyjaśnić różnice między tymi dwoma terminami błędów? Jeśli pierwszy termin jest prawidłowy, co oznaczają wyniki z drugiego terminu błędu?

Aktualizacja autorstwa @amoeba: dwa wyjścia są takie same, więc wydaje się, że w tym przypadku nie ma różnicy, ale pozostaje pytanie, jaka jest różnica w zasadzie . Czy Error(subject)i Error(subject/time)zawsze to samo?

Tiantianchen
źródło
3
przepraszam, właśnie zdałem sobie sprawę, że te dwa warunki dają takie same wyniki. Sądzę więc, że są takie same :-)
tiantianchen
1
Miałem nadzieję na wyjaśnienie tego: /
vipin8169
Wszystko, co mogę zebrać na temat terminu błędu, to >> "W projekcie powtarzanych miar musimy podać termin błędu, który odpowiada naturalnej zmienności między uczestnikami. (Np. Mogę zareagować nieco inaczej na przerażającą muzykę niż ty robię to, ponieważ uwielbiam filmy o zombie, a ty ich nienawidzisz!) Robimy to za pomocą funkcji Error (): w szczególności mówimy, że chcemy kontrolować tę zmienność między uczestnikami w odniesieniu do wszystkich naszych zmiennych wewnątrz podmiotów ”.
vipin8169
(+1) Są równoważne tylko wtedy, gdy istnieje dokładnie 1 pomiar na każdą kombinację obiektu / czasu. Jeśli jest więcej pomiarów na kombinację osobnik / czas (albo po prostu dlatego, że pomiary zostały powtórzone, albo dlatego, że istnieje inny wewnątrz-czynnikowy czynnik B, oprócz time), to Error(subject)i Error(subject/time)da różne wartości F i p dla time.
ameba
To samo pytanie na SO: stackoverflow.com/questions/37497948 - niestety bez pełnej satysfakcjonującej odpowiedzi (imho).
ameba

Odpowiedzi:

2

Po pierwsze, subject/timezapis dla timezagnieżdżonego subject, a więc rozwija się do dwóch części subjecti subject:timeinterakcji. Pytanie staje się bardziej właściwe: kiedy należy określić subject:timeinterakcję i jaką to robi różnicę?

Przed udzieleniem odpowiedzi na to pytanie należy jeszcze zdać sobie sprawę z tego, że wszystkie modele zawierają jeden dodatkowy termin błędu, który nie musi być określony, który jest terminem błędu związanym z poszczególnymi pomiarami (najniższy poziom, jeśli myślisz o tym hierarchicznie).

W tym przypadku subject:timeinterakcja jest na najniższym poziomie, który jest zawsze uwzględniany w modelu. Więc używając Error(subject)i Error(subject/time)daj ten sam rezultat; jedyną różnicą jest to, że na wyjściu ten poziom wyników jest wywoływany Withindla pierwszego i jest wywoływany subject:timedla drugiego.

Jednak w przypadkach, gdy istnieje wiele pomiarów dla każdej subject/timekombinacji, konieczne jest określenie subject:timeinterakcji, ponieważ wtedy interakcja nie jest na najniższym poziomie.

Aaron opuścił Stack Overflow
źródło
(Miałem otwartą nagrodę za to pytanie, ale niestety skończyło się wczoraj ...) +1, ale myślę, że ta odpowiedź pomija najważniejszy problem tutaj: w przypadku wielu pomiarów dla każdej subject/timekombinacji, dlaczego mielibyśmy koniecznie chcesz przetestować efekt timestosunku do subject:timeinterakcji? Taka jest zasadniczo treść mojego pytania tutaj stats.stackexchange.com/questions/286280 , dlatego zapraszam przyszłych czytelników tego wątku do szukania tam uzasadnienia koncepcyjnego.
ameba
Istnieje również bardzo podobne pytanie i A tutaj: stats.stackexchange.com/questions/247582 .
ameba