Model mieszany z 1 obserwacją na poziom


12

Dopasowuję model efektów losowych glmerdo niektórych danych biznesowych. Celem jest analiza wyników sprzedaży przez dystrybutora, z uwzględnieniem różnic regionalnych. Mam następujące zmienne:

  • distcode: identyfikator dystrybutora z około 800 poziomami
  • region: identyfikator geograficzny najwyższego poziomu (północ, południe, wschód, zachód)
  • zone: zagnieżdżona geografia średniego poziomu region, w sumie około 30 poziomów
  • territory: zagnieżdżona geografia niskiego poziomu zone, około 150 poziomów

Każdy dystrybutor działa tylko na jednym terytorium. Problem polega na tym, że są to podsumowane dane, z jednym punktem danych na dystrybutora. Mam więc 800 punktów danych i staram się dopasować (co najmniej) 800 parametrów, choć w regularny sposób.

Zamontowałem model w następujący sposób:

glmer(ninv ~ 1 + (1|region/zone/territory) + (1|distcode), family=poisson)

Działa to bez problemu, chociaż drukuje notatkę:

Liczba poziomów współczynnika grupowania dla efektów losowych jest równa n, liczbie obserwacji

Czy to rozsądne? Otrzymuję skończone oszacowania wszystkich współczynników, a AIC również nie jest nieracjonalne. Jeśli spróbuję poissona GLMM z łączem tożsamości, AIC jest znacznie gorszy, więc łącze dziennika jest co najmniej dobrym punktem wyjścia.

Jeśli wykreślę dopasowane wartości względem odpowiedzi, otrzymam to, co jest zasadniczo idealne dopasowanie, co wydaje mi się, ponieważ mam jeden punkt danych na dystrybutora. Czy to rozsądne, czy robię coś całkowicie głupiego?

To używa danych przez jeden miesiąc. Mogę uzyskiwać dane przez wiele miesięcy i w ten sposób uzyskać trochę replikacji, ale musiałbym dodać nowe warunki dotyczące zmienności z miesiąca na miesiąc i możliwych interakcji, prawda?


ETA: Ponownie uruchomiłem powyższy model, ale bez familyargumentu (więc tylko gaussowski LMM zamiast GLMM). Teraz lmerdał mi następujący błąd:

Błąd w (funkcja (fr, FL, start, REML, verbose): liczba poziomów czynnika grupującego dla efektów losowych musi być mniejsza niż liczba obserwacji

Sądzę więc, że nie robię czegoś sensownego, ponieważ zmiana rodziny nie powinna mieć wpływu. Ale teraz pytanie brzmi: dlaczego to zadziałało?

Odpowiedzi:


4

Zdecydowanie nie zgadzam się z praktyką dopasowywania modelu mieszanego, w którym masz taką samą liczbę grup co obserwacje na podstawie pojęć, nie ma „grup”, a także na podstawie obliczeń, ponieważ twój model powinien mieć problemy z identyfikowalnością - w tym przypadku przynajmniej LMM. (Pracuję wyłącznie z LMM, może to być również nieco stronnicze. :))

yN(Xβ,ZDZT+σ2I)Dσ2

(Nie rozumiem, co rozumiesz przez „rozsądny” AIC. AIC powinien być obliczalny w tym sensie, że pomimo nadmiernego dopasowania danych nadal „coś obliczasz”).

glmeryXβXβ>0glmer

Część konceptualna: myślę, że jest to nieco bardziej „subiektywne”, ale także nieco prostsze. Używasz Mixed Eff. modele, ponieważ zasadniczo rozpoznaliście, że w tym błędzie jest struktura związana z grupą. Teraz, jeśli masz tyle grup, ile punktów danych, nie ma struktury, którą można zobaczyć. Wszelkie odchylenia w strukturze błędów LM, które można by przypisać „grupowaniu”, są teraz przypisywane do konkretnego punktu obserwacji (i w rezultacie powstaje nadmiernie dopasowany model).

Ogólnie rzecz biorąc, grupy z pojedynczą obserwacją wydają się być nieco niechlujne; zacytować D.Batesa z listy mailingowej r-sig-mixed-models:

Myślę, że przekonasz się, że różnica w modelu jest bardzo niewielka, niezależnie od tego, czy włączasz, czy wykluczasz grupy z pojedynczą obserwacją. Wypróbuj i przekonaj się.


1
ma rację, że wydaje się to nie mieć większego sensu w ustawieniu liniowym, ale może być bardzo przydatne w regresji Poissona. Zobaczę, czy uda mi się wyśledzić link do czegoś, co Ben Bolker powiedział na ten temat (jest jednym z twórców lme4 wraz z Dougiem Batesem).
David J. Harris

Tak, jak powiedziałem, prawdopodobnie jestem stronniczy myśląc głównie o LMM i komentowałem „część konceptualną”. Wyjaśniłem jednak, dlaczego to działa w glmerkażdym razie (mimo że nie jestem z tego zbyt zadowolony).
usεr11852

8

Jeden poziom na obserwację może być bardzo przydatny, jeśli przesadziłeś dane zliczeń jako zmienną odpowiedzi. Jest to równoznaczne z powiedzeniem, że oczekujesz, że twoje dane zliczania będą pochodzić z rozkładu logarytmicznego Poissona, tzn. Że parametr lambda twojego rozkładu Poissona nie jest w pełni określony przez zmienne predykcyjne w twoim modelu i że możliwości są rozkładane logarytmicznie.

Ben Bolker, jeden z programistów lme4, zrobił z tym dwa przykłady podobne do samouczków. Pierwszy z syntetycznymi danymi zawiera nieco więcej szczegółów. Można znaleźć pdf tutaj . Przeszedł także przez analizę danych eksploracyjnych z prawdziwymi danymi dotyczącymi sów (pdf i kod R dostępny tutaj ).


1
+1. Zgadzam się z tym, co mówisz. Jak wspomniałem w moim oryginalnym poście: „ nadmierne rozproszenie (...) to sposób, w jaki„ poruszasz się ”w kwestii posiadania tylu grup, ile obserwacji. Dziękuję za lepsze zrozumienieglmer pojęć.
usεr11852

1
Dzięki za linki! Po ich przeczytaniu i dokładniejszym przyjrzeniu się dopasowanym wartościom z mojego modelu mam lepszy pomysł na to, co się dzieje. Właściwie nie uważam, że to, co robi Ben, jest odpowiednie do mojej analizy. Używa zmiennej na poziomie obserwacji, aby pozwolić na nadmierną dyspersję, więc jest to jak uciążliwy efekt. Dla mojej analizy distributorjest to efekt zainteresowania: chcę zobaczyć, jak dystrybutorzy działają względem siebie, dopuszczając inne zmienne. Dlatego jest bardziej porównywalny do konwencjonalnego liniowego modelu mieszanego, w którym nadmierne dopasowanie jest prawdziwym problemem.
Hong Ooi,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.