Analizuję wyniki eksperymentu czasu reakcji w R.
Przeprowadziłem ANOVA z powtarzanymi pomiarami (1 czynnik wewnątrz podmiotu z 2 poziomami i 1 czynnik między podmiotem z 2 poziomami). Uruchomiłem podobny liniowy model mieszany i chciałem podsumować wyniki lmera w formie tabeli ANOVA lmerTest::anova
.
Nie zrozumcie mnie źle: nie spodziewałem się identycznych wyników, jednak nie jestem pewien co do stopnia swobody lmerTest::anova
wyników. Wydaje mi się, że raczej odzwierciedla ANOVA bez agregacji na poziomie przedmiotu.
Zdaję sobie sprawę z tego, że obliczanie stopni swobody w modelach z efektami mieszanymi jest trudne, ale lmerTest::anova
jest wspomniane jako jedno z możliwych rozwiązań w zaktualizowanym ?pvalues
temacie ( lme4
pakiecie).
Czy to obliczenie jest prawidłowe? Czy wyniki lmerTest::anova
poprawnie odzwierciedlają określony model?
Aktualizacja: Zwiększiłem różnice indywidualne. Stopnie swobody lmerTest::anova
różnią się bardziej od prostych anova, ale wciąż nie jestem pewien, dlaczego są tak duże dla czynnika / interakcji wewnątrz podmiotu.
# mini example with ANT dataset from ez package
library(ez); library(lme4); library(lmerTest)
# repeated measures ANOVA with ez package
data(ANT)
ANT.2 <- subset(ANT, !error)
# update: make individual differences larger
baseline.shift <- rnorm(length(unique(ANT.2$subnum)), 0, 50)
ANT.2$rt <- ANT.2$rt + baseline.shift[as.numeric(ANT.2$subnum)]
anova.ez <- ezANOVA(data = ANT.2, dv = .(rt), wid = .(subnum),
within = .(direction), between = .(group))
anova.ez
# similarly with lmer and lmerTest::anova
model <- lmer(rt ~ group * direction + (1 | subnum), data = ANT.2)
lmerTest::anova(model)
# simple ANOVA on all available data
m <- lm(rt ~ group * direction, data = ANT.2)
anova(m)
Wyniki powyższego kodu [ zaktualizowane ]:
anova.ez
$ ANOVA
Effect DFn DFd F p p<.05 ges
2 group 1 18 2.6854464 0.11862957 0.1294475137
3 direction 1 18 0.9160571 0.35119193 0.0001690471
4 group:direction 1 18 4.9169156 0.03970473 * 0.0009066868
lmerTest :: anova (model)
Analysis of Variance Table of type 3 with Satterthwaite
approximation for degrees of freedom
Df Sum Sq Mean Sq F value Denom Pr(>F)
group 1 13293 13293 2.6830 18 0.1188
direction 1 1946 1946 0.3935 5169 0.5305
group:direction 1 11563 11563 2.3321 5169 0.1268
anova (m)
Analysis of Variance Table
Response: rt
Df Sum Sq Mean Sq F value Pr(>F)
group 1 1791568 1791568 242.3094 <2e-16 ***
direction 1 728 728 0.0985 0.7537
group:direction 1 12024 12024 1.6262 0.2023
Residuals 5187 38351225 7394
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
źródło
ezAnova
ostrzeżenie, ponieważ nie powinieneś uruchamiać anova 2x2, jeśli w rzeczywistości twoje dane pochodzą z projektu 2x2x2.ez
może zostać przeformułowane; w rzeczywistości ma dwie ważne części: (1) dane są agregowane i (2) informacje o projektach częściowych. # 1 jest najbardziej istotny dla rozbieżności, ponieważ wyjaśnia, że aby wykonać tradycyjną anovę z efektami nie mieszanymi, należy agregować dane do pojedynczej obserwacji na komórkę projektu. W tym przypadku chcemy jednej obserwacji na podmiot na poziom zmiennej „kierunek” (przy zachowaniu etykiet grupowych dla podmiotów). ezANOVA oblicza to automatycznie.summary(aov(rt ~ group*direction + Error(subnum/direction), data=ANT.2))
i daje 16 (?) Dfs zagroup
i 18 zadirection
igroup:direction
. Fakt, że istnieje ~ 125 obserwacji na kombinację grupy / kierunku, jest prawie nieistotny dla RM-ANOVA, patrz np. Moje własne pytanie stats.stackexchange.com/questions/286280 : kierunek jest testowany, że tak powiem, przeciwko podmiotowi interakcja kierunkowa.lmerTest
tym szacunkiem ~ 125 dfs.lmerTest::anova(model2, ddf="Kenward-Roger")
zwraca 18 000 df dlagroup
i17.987
df dla pozostałych dwóch czynników, co jest doskonale zgodne z RM-ANOVA (zgodnie z ezAnova). Mój wniosek jest taki, że przybliżenie Satterthwaite zmodel2
jakiegoś powodu zawodzi .Generalnie zgadzam się z analizą Bena, ale dodam kilka uwag i odrobinę intuicji.
Po pierwsze, ogólne wyniki:
Ben przedstawia projekt, w którym
subnum
jest zagnieżdżony wgroup
jednocześniedirection
igroup:direction
są skrzyżowane zsubnum
. Oznacza to, że termin błędu naturalnego (tj. Tak zwana „obejmująca warstwa błędu”) dlagroup
jest,subnum
podczas gdy obejmującą warstwą błędu dla innych terminów (w tymsubnum
) są reszty.Strukturę tę można przedstawić na tak zwanym schemacie struktury czynnikowej:
Tutaj losowe terminy są ujęte w nawiasy kwadratowe,
0
reprezentują ogólną średnią (lub punkt przecięcia),[I]
reprezentują termin błędu, liczby superskryptów to liczba poziomów, a liczby subskryptów to liczba stopni swobody przy założeniu zrównoważonego projektu. Wykres wskazuje, że składnikiem błędu naturalnego (obejmującego warstwę błędu) dlagroup
jestsubnum
i że licznik df dlasubnum
, który jest równy mianownikowi df dlagroup
, wynosi 18: 20 minus 1 df dlagroup
i 1 df dla średniej ogólnej. Bardziej kompleksowe wprowadzenie do diagramów struktury czynników jest dostępne w rozdziale 2 tutaj: https://02429.compute.dtu.dk/eBook .Gdyby dane były dokładnie zbalansowane, bylibyśmy w stanie skonstruować testy F z rozkładu SSQ, jak zapewnia
anova.lm
. Ponieważ zestaw danych jest bardzo ściśle zrównoważony, możemy uzyskać przybliżone testy F w następujący sposób:Tutaj wszystkie wartości F i p są obliczane przy założeniu, że wszystkie terminy mają reszty jako otaczającą warstwę błędów, i jest to prawdą dla wszystkich oprócz „grupy”. Zamiast tego „zrównoważony-poprawny” test F dla grupy to:
gdzie używamy
subnum
MS zamiastResiduals
MS w mianowniku wartości F.Zauważ, że te wartości dość dobrze pasują do wyników Satterthwaite:
Pozostałe różnice wynikają z tego, że dane nie są dokładnie zrównoważone.
OP porównuje
anova.lm
zanova.lmerModLmerTest
, co jest w porządku, ale aby porównać jak z podobnym, musimy użyć tych samych kontrastów. W tym przypadku istnieje różnica międzyanova.lm
ianova.lmerModLmerTest
ponieważ domyślnie produkują one odpowiednio testy typu I i III, a dla tego zestawu danych istnieje (mała) różnica między kontrastami typu I i III:Gdyby zestaw danych był całkowicie zrównoważony, kontrasty typu I byłyby takie same jak kontrasty typu III (na które nie ma wpływu obserwowana liczba próbek).
Ostatnia uwaga jest taka, że „powolność” metody Kenwarda-Rogera nie jest spowodowana ponownym dopasowaniem modelu, ale ponieważ wiąże się z obliczeniami z macierzą marginalnych wariancji-kowariancji obserwacji / reszt (w tym przypadku 5191 x 5191) przypadek metody Satterthwaite.
Dotyczy modelu 2
Jak dla MODEL2 sytuacja staje się bardziej złożona i myślę, że łatwiej jest rozpocząć dyskusję z innym modelem gdzie mam obejmowała „klasyczną” interakcji między
subnum
idirection
:Ponieważ wariancja związana z interakcją jest zasadniczo zerowa (w obecności
subnum
losowego efektu głównego), interakcja nie ma wpływu na obliczenie mianownika stopni swobody, wartości F i wartości p :Jednak
subnum:direction
jest załączając stratum błędusubnum
więc jeśli usuniemysubnum
wszystkie związane SSQ spada z powrotem dosubnum:direction
Teraz naturalny określenie błędu
group
,direction
agroup:direction
tosubnum:direction
inlevels(with(ANT.2, subnum:direction))
= 40 i czterech parametrów stopni swobody mianownika dla tych składników powinna wynosić około 36:Te testy F można także aproksymować za pomocą testów F „zrównoważonych-poprawnych” :
teraz przechodzę na model2:
Ten model opisuje dość skomplikowaną strukturę kowariancji losowego efektu z macierzą wariancji-kowariancji 2x2. Domyślna parametryzacja nie jest łatwa do opanowania, a lepszym rozwiązaniem jest ponowna parametryzacja modelu:
Jeśli porównamy
model2
tomodel4
, mają one równie wiele losowych efektów; 2 na każdysubnum
, tj. Łącznie 2 * 20 = 40. Chociażmodel4
określa pojedynczy parametr wariancji dla wszystkich 40 efektów losowych,model2
zastrzega, że każdasubnum
para efektów losowych ma dwu-zmienny rozkład normalny z macierzą wariancji-kowariancji 2x2, której parametry są podane przezWskazuje to na nadmierne dopasowanie, ale zachowajmy to na inny dzień. Ważną rzeczą jest to, że
model4
jest specjalnym przypadkiemmodel2
i żemodel
jest również szczególnym przypadkiemmodel2
. Luźno (i intuicyjnie) mówienie(direction | subnum)
zawiera lub rejestruje wariacje związane z głównym efektem,subnum
a także interakcjądirection:subnum
. W kategoriach efektów losowych możemy uznać te dwa efekty lub struktury za przechwytujące odpowiednio różnice między wierszami i wierszami po kolumnach:W tym przypadku zarówno oszacowania efektu losowego, jak i oszacowania parametru wariancji wskazują, że tak naprawdę mamy tutaj tylko losowy efekt główny
subnum
(zmienność między wierszami). Wszystko to prowadzi do tego, że mianownik Satterthwaite posiada stopnie swobodyjest kompromisem między tymi głównymi strukturami efektu i interakcji: Grupa DenDF pozostaje na 18 (zagnieżdżona w
subnum
projekcie), aledirection
igroup:direction
DenDF są kompromisami między 36 (model4
) a 5169 (model
).Nie sądzę, aby cokolwiek tutaj wskazuje, że przybliżenie Satterthwaite (lub jego implementacja w lmerTest ) jest błędna.
Tabela równoważna z metodą Kenwarda-Rogera daje
Nic dziwnego, że KR i Satterthwaite mogą się różnić, ale dla wszystkich praktycznych celów różnica w wartościach p jest niewielka. Moja analiza powyżej wskazuje, że
DenDF
fordirection
igroup:direction
nie powinien być mniejszy niż ~ 36 i prawdopodobnie większy niż ten, biorąc pod uwagę, że w zasadzie mamy tylko losowy główny efektdirection
teraźniejszości, więc jeśli cokolwiek myślę, to jest wskazanie, że metoda KR staje sięDenDF
zbyt niska w tym przypadku. Pamiętaj jednak, że dane tak naprawdę nie obsługują(group | direction)
struktury, więc porównanie jest trochę sztuczne - byłoby bardziej interesujące, gdyby model był obsługiwany.źródło
model3
. Jednak używa gosubnum:direction
jako terminu błędu do testowaniadirection
. Tutaj możesz zmusić, aby tak się stało tylko poprzez wykluczenie(1|subnum)
jak wmodel4
. Dlaczego? (2b) Również RM-ANOVA daje df = 18 dladirection
, a nie 36, kiedy się wchodziszmodel4
. Dlaczego?summary(aov(rt ~ group*direction + Error(subnum/direction), data=ANT.2))
.subnum
isubnum:direction
są niezerowe wtedyanova(lm(rt2 ~ group * direction + subnum + subnum:direction, data = ANT.2))
daje 18 df dla wszystkich trzech czynników i to, co KR-metoda podnosi. Widać to już wmodel3
przypadku, gdy KR daje oparte na projekcie 18 df dla wszystkich warunków, nawet gdy wariancja interakcji wynosi zero, podczas gdy Satterthwaite rozpoznaje zanikający warunek wariancji i odpowiednio dostosowuje df ...