Czy ma sens zagnieżdżanie ustalonego efektu w losowym lub jak kodować powtarzane takty w R (aov i lmer)?

23

I zostały pominie ten przegląd lm / lmer formuł R od @conjugateprior i irytować się według następującego wpisu:

Załóżmy teraz, że A jest losowy, ale B jest stały, a B jest zagnieżdżony w A.

aov(Y ~ B + Error(A/B), data=d)

Poniżej przedstawiono analogiczną formułę modelu mieszanego lmer(Y ~ B + (1 | A:B), data=d) dla tego samego przypadku.

Nie do końca rozumiem, co to znaczy. W eksperymencie, w którym podmioty są podzielone na kilka grup, mielibyśmy czynnik losowy (podmioty) zagnieżdżony w ustalonym czynniku (grupach). Ale jak można zagnieździć stały czynnik w losowym czynniku? Coś naprawiono zagnieżdżonego w losowych obiektach? Czy to w ogóle możliwe? Jeśli nie jest to możliwe, czy te formuły R mają sens?


Ten przegląd jest wymieniona być częściowo oparte na stronach osobowości projektu na ten ANOVA w R oparła się na tym tutorialu na powtarzanych pomiarów w R . Podany jest następujący przykład ANOVA dla powtarzanych pomiarów:

aov(Recall ~ Valence + Error(Subject/Valence), data.ex3)

Tutaj uczestnikom przedstawiono słowa o różnej wartościowości (czynnik z trzema poziomami) i mierzono ich czas przywołania. Każdemu tematowi przedstawiane są słowa ze wszystkich trzech poziomów walencyjnych. Nie widzę nic zagnieżdżonego w tym projekcie (wydaje się, że jest skrzyżowane, jak na wspaniałą odpowiedź tutaj ), więc naiwnie pomyślałbym, że Error(Subject)lub (1 | Subject)powinien być odpowiedni losowy termin w tym przypadku. Subject/Valence„Zagnieżdżanie” (?) Jest niejasna.

Zauważ, że rozumiem, że Valencejest to czynnik wewnątrz podmiotu . Ale myślę, że nie jest to czynnik „zagnieżdżony” w podmiotach (ponieważ wszyscy badani doświadczają wszystkich trzech poziomów Valence).


Aktualizacja. Badam pytania na temat CV dotyczące kodowania powtarzanych miar ANOVA w R.

  • W tym przypadku stosuje się następujące ustalone i powtarzane miary w obrębie podmiotu / powtarzane miary subject:

    summary(aov(Y ~ A + Error(subject/A), data = d))
    anova(lme(Y ~ A, random = ~1|subject, data = d))
    
  • Tutaj dla dwóch stałych efektów A i B w obrębie podmiotu / powtarzanych pomiarów:

    summary(aov(Y ~ A*B + Error(subject/(A*B)), data=d))
    lmer(Y ~ A*B + (1|subject) + (1|A:subject) + (1|B:subject), data=d) 
    
  • Tutaj dla trzech wewnętrznych efektów A, B i C:

    summary(aov(Y ~ A*B*C + Error(subject/(A*B*C)), data=d))
    lmer(Y ~ A*B*C + (1|subject) + (0+A|subject) + (0+B|subject) + (0+C|subject) + (0+A:B|subject) + (0+A:C|subject) + (0+B:C|subject), data = d)
    

Moje pytania:

  1. Dlaczego Error(subject/A)nie Error(subject)?
  2. Jest to (1|subject)albo (1|subject)+(1|A:subject)lub po prostu (1|A:subject)?
  3. Jest to (1|subject) + (1|A:subject)czy (1|subject) + (0+A|subject)i dlaczego nie wystarczy (A|subject)?

Do tej pory widziałem kilka wątków, które twierdzą, że niektóre z tych rzeczy są równoważne (np. Pierwszy: twierdzenie, że są takie same, ale przeciwne twierdzenie dotyczące SO ; trzeci: rodzaj twierdzenia, że ​​są takie same ). Czy oni są?

ameba mówi Przywróć Monikę
źródło
2
Wystarczy krótki komentarz, aby powiedzieć, że mówiąc ściśle koncepcyjnie , moim zdaniem praktycznie nigdy nie ma sensu umieszczanie stałego czynnika zagnieżdżonego w czynniku losowym. Przeczytałem też co najmniej jednego autora podręcznika, który mówi tyle samo (w tej chwili nie pamiętam odniesienia). To powiedziawszy, możliwe jest, że niektóre specyfikacje modeli, które napisałeś powyżej, są statystycznie równoważne z modelami, które mają większy sens ... Musiałbym o tym więcej pomyśleć i trochę się z tym bawić.
Jake Westfall
4
Właściwie myślę, że to ma sens, jeśli pomyślisz o tym, jak R interpretuje składnię A / B: po prostu rozwija to do A + A: B. Jeśli więc weźmiemy pod uwagę przypadek taki jak subject/conditionten, jest to koncepcyjnie wątpliwe, ponieważ wydaje się sugerować, że warunki są zagnieżdżone w podmiotach, kiedy wyraźnie jest odwrotnie, ale faktycznie jest subject + subject:conditionto model, który jest idealnie prawidłowym modelem z przypadkowymi efektami podmiotowymi i losowe stoki obiektu X.
Jake Westfall
@JakeWestfall Dzięki, myślę o tym sam do tej pory, ale bardzo chciałbym, żeby ktoś wytłumaczył to poprawnie. Właściwie jestem zaskoczony, że okazuje się to nietrywialne pytanie; Spodziewałbym się, że będziesz jednym z ludzi, którzy odpowiedzą od razu. Ale to ulga, ponieważ początkowo myślałem, że moje zamieszanie musi być głupie. Nawiasem mówiąc, czy istnieją jakieś standardowe odniesienia lmi aovformuły? Jeśli chcę mieć wiarygodne źródło tego, na czym dokładnie aovpolega (czy jest to opakowanie lm?) I jak Error()działają warunki, gdzie powinienem szukać?
ameba mówi Przywróć Monikę
1
@amoeba Tak, aovjest opakowaniem lmw tym sensie, że lmjest używane dla dopasowania najmniejszych kwadratów, ale aovwykonuje dodatkową pracę (zwłaszcza tłumacząc Errortermin lm). Autorytatywnym źródłem jest kod źródłowy lub ewentualnie odniesienie podane w help("aov"): Chambers i in. (1992). Ale nie mam dostępu do tego odwołania, więc zajrzałbym do kodu źródłowego.
Roland

Odpowiedzi:

12

W modelach mieszanych traktowanie czynników jako stałych lub losowych, szczególnie w połączeniu z tym, czy są one skrzyżowane, częściowo skrzyżowane czy zagnieżdżone, może prowadzić do wielu nieporozumień. Wydaje się również, że istnieją różnice w terminologii między tym, co rozumie się przez zagnieżdżanie w świecie anova / zaprojektowanych eksperymentów a światem modeli mieszanych / wielopoziomowych.

Nie twierdzę, że znam wszystkie odpowiedzi i moja odpowiedź nie będzie kompletna (i może powodować dalsze pytania), ale spróbuję rozwiązać niektóre z tych problemów tutaj:

Czy ma sens zagnieżdżanie ustalonego efektu w losowym lub jak kodować powtarzane takty w R (aov i lmer)?

(tytuł pytania)

Nie, nie sądzę, żeby to miało sens. Kiedy mamy do czynienia z powtarzanymi taktami, wtedy zwykle wszystko, co się powtarza, będzie losowe, nazwijmy to Subject, i lme4będziemy chcieli umieścić Subjectpo prawej stronie jednego lub więcej |w losowej części formuła. Jeśli mamy inne losowe efekty, są one albo skrzyżowane, częściowo skrzyżowane, albo zagnieżdżone - i moja odpowiedź na to pytanie rozwiązuje ten problem.

Problem z tymi eksperymentami typu anova wydaje się polegać na tym, jak radzić sobie z czynnikami, które normalnie można by uznać za ustalone, w sytuacji powtarzanych działań, a pytania w treści OP mówią o tym:

Dlaczego błąd (temat / A), a nie błąd (temat)?

Zwykle nie używam, aov()więc mogłem coś przeoczyć, ale dla mnie Error(subject/A)jest to bardzo mylące w przypadku powiązanego pytania . Error(subject)w rzeczywistości prowadzi do dokładnie takich samych wyników.

Czy to (1 | temat) lub (1 | temat) + (1 | A: temat), czy po prostu (1 | A: temat)?

Odnosi się to do tego pytania. W takim przypadku wszystkie poniższe formuły efektów losowych prowadzą do dokładnie tego samego wyniku:

(1|subject)
(1|A:subject)
(1|subject) + (1|A:subject)
(1|subject) + (1|A:subject) + (1|B:subject)

Wynika to jednak z faktu, że symulowany zestaw danych w pytaniu nie ma w sobie żadnej zmiany, jest po prostu tworzony Y = rnorm(48). Jeśli weźmiemy prawdziwy zestaw danych, taki jak cakezbiór danych w lme4, stwierdzimy, że na ogół tak nie będzie. Z dokumentacji oto konfiguracja eksperymentalna:

Dane dotyczące kąta łamania ciastek czekoladowych wykonanych według trzech różnych przepisów i pieczonych w sześciu różnych temperaturach. Jest to projekt podzielonej działki, w którym receptury są całymi jednostkami, a różne temperatury są stosowane do podjednostek (w ramach powtórzeń). Uwagi eksperymentalne sugerują, że replikowana numeracja reprezentuje porządek czasowy.

Ramka danych z 270 obserwacjami następujących 5 zmiennych.

replicate współczynnik o poziomach od 1 do 15

recipe współczynnik z poziomami A, B i C

temperature czynnik uporządkowany o poziomach 175 <185 <195 <205 <215 <225

temp wartość liczbowa temperatury pieczenia (stopnie F).

angle wektor numeryczny podający kąt, pod jakim pękło ciasto.

Powtórzyliśmy więc w sobie środki replicate, a także interesują nas ustalone czynniki recipei temperature(możemy to zignorować, tempponieważ jest to po prostu inne kodowanie temperature) i możemy wizualizować sytuację za pomocą xtabs:

> xtabs(~recipe+replicate,data=cake)

     replicate
recipe 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
     A 6 6 6 6 6 6 6 6 6  6  6  6  6  6  6
     B 6 6 6 6 6 6 6 6 6  6  6  6  6  6  6
     C 6 6 6 6 6 6 6 6 6  6  6  6  6  6  6

Gdyby recipeto był efekt losowy, powiedzielibyśmy, że są to efekty losowe skrzyżowane. W żaden sposób nie recipe Anależy do replicate 1żadnej replikacji.

> xtabs(~temp+replicate,data=cake)

     replicate
temp  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  175 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  185 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  195 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  205 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  215 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3
  225 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3

Podobnie dla temp.

Pierwszy model, który moglibyśmy zmieścić, to:

> lmm1 <-  lmer(angle ~ recipe * temperature + (1|replicate), cake, REML= FALSE)

Będzie to traktować każde replicatejako jedyne źródło losowej zmienności (inne niż resztkowe oczywiście). Ale mogą istnieć losowe różnice między przepisami. Możemy więc pokusić się o uwzględnienie recipejako kolejnego (skrzyżowanego) efektu losowego, ale byłoby to niewłaściwe, ponieważ mamy tylko 3 poziomy, recipewięc nie możemy oczekiwać, że model dobrze oszacuje składniki wariancji. Zamiast tego możemy użyć replicate:recipejako zmiennej grupującej, która pozwoli nam traktować każdą kombinację replikacji i przepisu jako osobny czynnik grupujący. Tak więc mając na uwadze powyższy model, mielibyśmy 15 losowych przechwyceń dla poziomów replicate, a teraz będziemy mieli 45 losowych przechwyceń dla każdej z oddzielnych kombinacji:

lmm3 <-  lmer(angle ~ recipe * temperature + (1|replicate:recipe) , cake, REML= FALSE)

Zauważ, że mamy teraz (bardzo nieznacznie) różne wyniki wskazujące, że istnieje pewna losowa zmienność ze względu na przepis, ale nie jest to wielka różnica.

Podobnie moglibyśmy zrobić to samo temperature.

Teraz wracając do pytania, pytacie również

Dlaczego, (1|subject) + (1|A:subject)a (1|subject) + (0+A|subject)nawet po prostu (A|subject)?

Nie jestem do końca pewien, skąd to (przy użyciu losowych nachyleń) - wydaje się, że nie pojawia się w 2 połączonych pytaniach - ale mam problem z (1|subject) + (1|A:subject)tym, że jest dokładnie taki sam, (1|subject/A)co oznacza, że Ajest zagnieżdżony subject, co w turn oznacza (dla mnie), że każdy poziom Awystępuje na 1 i tylko 1 poziom, subjectktórego wyraźnie tutaj nie ma.

Prawdopodobnie dodam i / lub edytuję tę odpowiedź po tym, jak się nad tym zastanowię, ale chciałem uspokoić swoje początkowe przemyślenia.

Robert Long
źródło
Wielkie dzięki (+1). Nie jestem pewien, czy rozumiem cakezestaw danych. Wydaje się, że replikacja jest zagnieżdżona w recepturze; powód xtabsnie pokazuje, że jest to dokładnie powód, który opisujesz w swojej odpowiedzi zagnieżdżonej vs. skrzyżowanej: replikacja jest myląco kodowana jako 1-15, a nie jako 1-45. Dla każdego przepisu wykonano 15 „powtórzeń” z 6 ciastami; każde ciasto następnie pieczono w innej temperaturze. Zatem przepis jest czynnikiem między podmiotami, a temperatura jest czynnikiem wewnątrz podmiotu. Tak powinno być zgodnie z twoją odpowiedzią (1|recipe/replicate). Nie? (1|replicate:recipe)jest prawdopodobnie równoważny.
ameba mówi Przywróć Monikę
Skoncentrowałem swoje pytanie tylko na czynnikach wewnętrznych, więc byłoby to jak ograniczenie się cakedo jednego przepisu. Jeśli chodzi o trzeci punkt, o którym mówisz, że nie masz pewności, skąd on pochodzi, zobacz ostatni link w moim Q, z przykładem trzech czynników wewnątrz podmiotu. Zobacz także pozytywny komentarz Jake'a pod tym Q, w którym wspomina o losowych zboczach.
ameba mówi Przywróć Monikę
A jeśli chodzi o aovciebie, masz rację, że wydaje się, że Error(subject/A)i Error(subject)dają takie same wyniki, jeśli nie ma innych czynników, ale weź przykład z połączonego wątku z dwoma czynnikami, a tam Error(subject/(A*B))i Error(subject)nie są równoważne. Moje obecne rozumienie jest takie, że to pierwsze obejmuje przypadkowe stoki.
ameba mówi Przywróć Monikę
@amoeba cakezestaw danych nie był dobrym działającym przykładem. Przepraszam. Przyjrzę się temu nieco głębiej i prawdopodobnie spróbuję znaleźć lepszy do zilustrowania.
Robert Long,
Dzięki. Czekamy na wszelkie aktualizacje, a także na aktualizację, którą przygotowuje Placidia. Tymczasem myślę, że dostanę tu nagrodę.
ameba mówi Przywróć Monikę
3

Ups Alarmujący komentatorzy zauważyli, że mój post był pełen bzdur. Myliłem projekty zagnieżdżone i powtarzane miary.

Ta strona zawiera użyteczny podział różnicy między projektami zagnieżdżonych i powtarzanych miar. Co ciekawe, autor pokazuje oczekiwane średnie kwadraty dla ustalonych w ustalonych, losowych w ustalonych i losowych w losowych - ale nie ustalonych w losowych. Trudno sobie wyobrazić, co by to oznaczało - jeśli czynniki na poziomie A zostaną wybrane losowo, to losowość rządzi teraz wyborem czynników na poziomie B. Jeśli 5 szkół zostanie wybranych losowo z rady szkoły, a następnie 3 nauczycieli będzie wybrane z każdej szkoły (nauczyciele zagnieżdżeni w szkołach), poziomy współczynnika „nauczyciela” są teraz losową selekcją nauczycieli z rady szkolnej na podstawie losowej selekcji szkół. Nie mogę „naprawić” nauczycieli, których będę miał w eksperymencie.

Placidia
źródło
2
+1, wielkie dzięki. Wszystko w twojej odpowiedzi ma dla mnie sens. Myślę jednak, że powinniśmy się zgodzić, że słowo „zagnieżdżony” jest używane w dwóch różnych sensach, co powoduje zamieszanie. @RobertLong mówi, że A jest zagnieżdżone w B, gdy każdy poziom B występuje wraz z różnymi poziomami klas AEg, które są zagnieżdżone w szkołach, które są zagnieżdżone w miastach itp. W twoim przykładzie przedmioty są zagnieżdżone w czynniku leczenia / kontroli. Mówicie, że czas jest zagnieżdżony w przedmiotach, ale wszystkie poziomy czasu występują we wszystkich przedmiotach, więc Robert powiedziałby, że zostały przekroczone! To jest inny „zagnieżdżony”. Dobrze?
ameba mówi Przywróć Monikę
1
W twoim przykładzie jasne jest, że czas i leczenie są ustalonymi efektami, ale nie jest jasne, czy czas jest zagnieżdżony w pacjencie. Czy możesz podać definicję „zagnieżdżonego”?
Joe King
Mój błąd. Mylę zagnieżdżanie i powtarzanie pomiarów. Zmieniłem odpowiedź - jeszcze raz!
Placidia
Właściwie podobała mi się twoja oryginalna odpowiedź z poprawkami / uzupełnieniami z dzisiejszego dnia. Było wiele użytecznych informacji na moje pytanie, ponieważ, jak widzisz, tak naprawdę interesują mnie tutaj „powtarzane miary” (a pytanie o „zagnieżdżanie” było tylko terminologicznym punktem). Proponuję zachować poprzednią wersję!
ameba mówi Przywróć Monikę
2
Kiedy to pisałem, zdałem sobie sprawę, że losowe efekty w powtarzanych taktach są zagnieżdżone i chcę przetestować, jak działa matematyka i stopnie swobody. Wzmocnię moją odpowiedź, gdy będę pewien, że to przybiłem!
Placidia