Czy poprawnie podałem swój model w lmer?

26

Przeszukałem wiele stron pomocy i wciąż nie jestem pewien, jak określić bardziej skomplikowane terminy zagnieżdżone w modelu mieszanym. Jestem również mylić jak wykorzystanie :i /oraz |w określaniu i gniazdowania interakcje z czynnikami losowymi wykorzystujących lmer()w lme4opakowaniu w R.

Na potrzeby tego pytania załóżmy, że dokładnie przedstawiłem moje dane za pomocą tego standardowego modelu statystycznego: jest naprawiony, a są losowe. jest (niejawnie) zagnieżdżony .

Yjajotk=u+stacjaja+holowniczyjot(ja)+dzieńk+(stacja×dzień)jak+(holowniczy×dzień)jot(ja)k
stationtowdayTowstation

Innymi słowy, mam nadzieję, że mój model obejmuje Station (i, fixed), Tow (j, random, implicite nested in Station), Day (k, random) oraz interakcję między Tow i Day oraz interakcję między Day i stacja. Skonsultowałem się ze statystykami w celu stworzenia mojego modelu i obecnie uważam, że jest on reprezentatywny dla moich danych, ale dodam także opis moich danych dla tych, którzy są zainteresowani na dole mojego postu, aby nie zaśmiecać.

Do tej pory udało mi się poskładać lmer:

lmer(y ~ station + (1|station:tow) + (1|Day) + (1|station:day) + (1|tow:day), 
     data=my.data)

Czy to dokładnie przedstawia mój model statystyczny? Wszelkie sugestie dotyczące ulepszenia mojego kodu, jeśli nie czyta się go poprawnie?

Pogrubiłem konkretne terminy, które mam trudności z określeniem w mojej mniejszej formule

# 1. tow zagnieżdżony w stacji, gdy hol jest losowy, a stacja jest naprawiona
, jestem zdezorientowany, jednak co do rozróżnienia między warunkami zagnieżdżenia i interakcji, które są losowe przy użyciu :i /. W powyższym przykładzie (1|station:tow)mam nadzieję, że czyta hol zagnieżdżony w stacji. Czytałem sprzeczne komentarze na różnych stronach, niezależnie od tego, czy powinienem ich używać, :czy /tutaj w losowym (1|...)formacie lmer.

# 2. Interakcja między stacją a dniem, gdy stacja jest stała, a dzień jest losowy,
mam, (1|station:day)ale tym razem mam nadzieję, że odczyta interakcję między stacją a dniem. Wygląda na to, że mógłbym użyć stacji * dzień, aby uwzględnić indywidualne efekty stacji i dnia, a także ich interakcję (zamiast uwzględniać każdy z trzech terminów osobno, jak powyżej), ale nie widzę, jak to określić gdy jeden jest ustalony, a drugi losowy. Zrobiłby station*(1|day)to?

# 3. Interakcja między holowaniem a dniem (oba losowe), gdy hol jest zagnieżdżony w stacji (naprawiony) Na koniec mam (1|tow:day), mam nadzieję, odczytanie interakcji towi day, ale zastanawiam się, czy muszę ponownie określić, że hol jest zagnieżdżony (domyślnie) na stacji?

Jestem nowy zarówno w modelowaniu statystycznym, jak Ri, lmeri bardzo doceniam trud dokładnych wyjaśnień w odpowiedziach na moje pytania, jeśli to możliwe.

Więcej szczegółów na temat moich danych: pytam, czy stężenia planktonu różnią się na fizycznym froncie oceanu przybrzeżnego. Mam trzy stacje, przybrzeżne, wewnętrzne i przybrzeżne tego frontu. Stacja jest w ten sposób naprawiona. Na każdej stacji biorę trzy repliki holowników planktonowych (z których sortuję, liczę i uzyskuję stężenie pod względem liczby błędów na metr sześcienny wody). Holowanie jest losowe: w trzech holach mam nadzieję uwzględnić ogólną zmienność planktonu na tej konkretnej stacji. Holowanie jest wewnętrznie zagnieżdżone w stacji, ponieważ każda holownica nie ma unikalnego identyfikatora (123 123 123 to identyfikator holowania na każdej stacji). Potem robiłem to przez wiele niezależnych dni z nowym uformowanym frontem. Myślę, że mogę myśleć o Dniu jako o czynniku blokującym? Dzień jest losowy, ponieważ powtarzanie go w wielu niezależnych dniach frontowych próbuje uchwycić zmienność z dnia na dzień i być reprezentatywnym dla wszystkich dni, w których ten front jest obecny. Chcę wiedzieć o warunkach interakcji, aby zobaczyć, czy holowniki zmieniają zmienność z dnia na dzień i czy stacje zawsze dostarczają podobne dane, czy zależy to od dnia?

Jeszcze raz dziękuję za poświęcony czas i pomoc, doceniam to!

wtree
źródło
Uważam, że brakuje niektórych indeksów dolnych (nie chciałem ich dodawać, jeśli się mylę) w standardowym modelu statystycznym.
1
FWIW, dla każdego, kto spotyka ten wątek i zastanawia się, czy jest on na temat, biorąc pod uwagę, że koncentruje się na Rskładni, IMO, jest wystarczająco statystyczny (wrt rozumienie, w jaki sposób określony model odnosi się do zagnieżdżania i interakcji itp.), Aby być na temat dla CV.
gung - Przywróć Monikę
1
Moim zdaniem jest to w 100% temat.
2
Zgodnie ze lmer()składnią określono model, w którym występuje stały efekt stationi cztery losowe przechwyty, wspólne dla osób o tej samej (1) kombinacji stationi tow, (2) wartości Day, (3) kombinacji stationi dayi ( 4) połączenia towi day, odpowiednio. Czy to jest to, co zamierzałeś? Nie jestem pewien, ponieważ, jak wskazał @BabekP, jak napisałeś formułę modelu, nie jest jasne. Napisałeś nazwy zmiennych, a nie parametrów. Zwykle w takim modelu kombinacje zmiennych są przechwytywane przez indeksy dolne.
Makro

Odpowiedzi:

23

Holowanie zagnieżdżone w stacji, gdy holowanie jest losowe, a stacja jest naprawiona

station+(1|station:tow)jest poprawne. Jak powiedział @John w swojej odpowiedzi, (1|station/tow)rozwinąłby się do (1|station)+(1|station:tow)(główny efekt stacji plus interakcja między holowaniem a stacją), czego nie chcesz, ponieważ już określiłeś stację jako efekt stały.

Interakcja między stacją a dniem, gdy stacja jest stała, a dzień jest losowy.

Interakcja między stałym i losowym efektem jest zawsze losowa. Ponownie, jak powiedział @John, station*dayrozwija się do station+day+station:day, czego (znowu) nie chcesz, ponieważ już określiłeś dayw swoim modelu. Nie sądzę, że istnieje sposób na zrobienie tego, co chcesz i zlikwidowanie skrzyżowanych efektów day(losowych) i station(naprawionych), ale możesz, jeśli chcesz pisać station+(1|day/station), który, jak określono w poprzedniej odpowiedzi, rozwinąłby się station + (1|day) + (1|day:station).

interakcja między holowaniem a dniem, kiedy hol jest zagnieżdżony w stacji

Ponieważ nie mają unikalne wartości towzmiennej (tj bo jak mówisz poniżej wyciągi są określone jako 1, 2, 3na każdej stacji, to zrobić należy określić zagnieżdżania, jak (1|station:tow:day). Jeśli miał wyciągów określono jednoznacznie, można użyć albo (1|tow:day)lub (1|station:tow:day)(powinny dać równoważne odpowiedzi). Jeśli nie określisz zagnieżdżenia w tym przypadku, lme4spróbujesz oszacować losowy efekt, który jest wspólny dla holowania nr 1 na wszystkich stacjach ...

station:tow:day××

Czy http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#model-specification i http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#nested-or-crossed są dla Ciebie przydatne?

Ben Bolker
źródło
dziękuję bardzo za pomocną odpowiedź i referencje, są bardzo doceniane. Jestem zdezorientowany co do zapisu (1 | a: b), jak opisano powyżej, w którym wydaje się, że „:” może oznaczać „zagnieżdżony”, a także interakcję. Jak to określić? Innymi słowy, skąd Lmer wie, który związek wskazujesz? Przepraszam, chyba brakuje mi czegoś podstawowego.
wtree
4
W tym kontekście nie ma tak dużej różnicy między interakcją a zagnieżdżaniem. To, czy Bjest zagnieżdżone, Aczy po prostu oddziałuje z nim, zależy od tego, czy główny efekt Ajest uwzględniony w modelu, czy nie. Jeśli główny efekt Bjest również w modelu, to jest przekroczony ...
Ben Bolker 24.09.2013
Cześć wszystkim, zadałem powiązane pytanie tutaj: stats.stackexchange.com/questions/272377/... jeśli ktoś (szczególnie @BenBolker) ma szansę zajrzeć i udzielić odpowiedzi.
Joshua Rosenberg
11

Niektóre elementy formuły są nieco mylące. Dotyczy :interakcji między dwoma terminami, podczas gdy *dotyczy głównych efektów i interakcji. Drugi /dotyczy interakcji, ale generuje interakcję między licznikiem a wszystkimi terminami w mianowniku (np A/(B+C) = A:B + A:C.). Dotyczy |czegoś w rodzaju „pogrupowane według”. Tak więc 1|stationprzechwytywanie pogrupowane według stacji, w nawiasach jest losowe (1|station). Tak właśnie zagnieżdżałbyś się.

Mam nadzieję, że to pomoże. To trochę dziwne, że losowy efekt jest zagnieżdżony w stałym efekcie i nie jestem pewien, jak byś to reprezentował. Nie mogę sobie nawet wyobrazić sytuacji. Możesz uzyskać lepszą odpowiedź, jeśli wyjaśnisz tylko, jakie są twoje zmienne i co chcesz osiągnąć. Wiele razy ludzie zadają pytania i źle posługują się terminologią i trudno jest się porozumieć. Wyjaśnij, co reprezentują zmienne i co chcesz o nich wiedzieć.

Skupiając się na twoim opisie w ostatnim akapicie, brzmi to tak, jakby twój tow był po prostu wskaźnikiem zebranych próbek, a nie czymś, czego potrzebujesz szacunków, w tym sensie, że spodziewasz się, że tow 1 będzie w pewien sposób różnił się od tow 2. Tow oznacza tylko próbkę. Jeśli nie wierzysz, że kolejność holowania ma znaczenie, nawet nie przejmuj się tą zmienną. A jeśli się liczyły, to jest to ustalony efekt (i może losowy, ale nie wyłącznie losowy). Mówisz, że chcesz wiedzieć, czy holowniki zmieniają zmienność z dnia na dzień. Co powiesz na odpowiedź tak? Nie ma realistycznego prawdopodobieństwa, że ​​nie różnią się one z dnia na dzień. To tylko wariancja twoich miar. Ty' nie wolno próbować uwzględniać każdej specyfikacji wariancji, ponieważ wtedy nie ma już żadnej wariancji z powodu błędu. Miałbyś zbyt wyszczególniony model. Będziesz w momencie zgłaszania każdego pomiaru.

Podobnym stwierdzeniem jest zastanawianie się, czy stacja zmienia się w zależności od dnia; Oczywiście, że tak. Ale może masz na myśli określone dni? Czy dni były w jakiś sposób pogrupowane według sezonu, cyklu księżycowego itp.? O ile nie masz czegoś innego niż tylko dzień 1, to dzień 2 itd. W jaki sposób wiedza o tym, że stacje zmieniają się z dnia na dzień, mówi ci coś innego niż stacje różnią się? Odpowiedź na to pytanie brzmi oczywiście, że stacje różnią się z dnia na dzień. I oczywiście holowniki różnią się z dnia na dzień i od stacji do stacji. Skończyło się na prostym modelu:

aov(y ~ station, data = dat)

Jedyny ustalony efekt, jaki masz tutaj, stacja, jest próbkowany przez wiele holów i wiele dni. Nie jestem pewien, czy naprawdę potrzebujesz tutaj modelowania wielopoziomowego. Wygląda na to, że przesadzasz ze swoim modelem.

Jeśli naprawdę chcesz losowych efektów dnia i holowania, a są tam informacje, których tu nie określiłeś, możesz rozwinąć je do modelu wielopoziomowego. To byłoby:

lmer(y ~ station + (two*day|station), data = dat)

Jednak do korzystania z tego modelu potrzeba wielu holów na każdej stacji i dnia.

Jan
źródło
Zgadzam się ze wszystkim, co powiedziałeś, ale myślę, że to chyba bardziej komentarz niż odpowiedź.
Makro
@John Byłem z tobą aż do „w taki sposób zagnieździłbyś się”. Wydaje mi się, że brakowało mi faktycznego sposobu zagnieżdżania. Czy chciałbyś wyjaśnić bardziej szczegółowo? Myślę, że wciąż jestem zdezorientowany | i przyjrzymy się temu bardziej. Ale po twojej odpowiedzi wciąż nie jestem pewien, jak na przykład wskazać, że holowanie (losowe) jest zagnieżdżone w stacji (naprawione)?
wtree
@John Oh, a stacja jest ustalona, ​​ponieważ miejsca / miejsca zainteresowania w oceanie, a holowanie jest losowe, ponieważ biorę ciągi planktonu w tych miejscach, które są losowe, ponieważ próbują uwzględnić zmienność planktonu w każdym miejscu, a następnie ekstrapolować reprezentować populację planktonu na stacji.
wtree
1
Nie każda etykieta próbki jest zmienną losową, patrz zmiany.
Jan
1
Nadal uważam, że hol nie powinien być w modelu, biorąc pod uwagę ten opis. Ale dzień brzmi dobrze.
John