Tło: Obecnie pracuję nad porównaniem różnych bayesowskich modeli hierarchicznych. Dane są liczbowymi miarami dobrostanu uczestnika i oraz czasu j . Mam około 1000 uczestników i 5 do 10 obserwacji na uczestnika.
Podobnie jak w przypadku większości podłużnych zestawów danych, spodziewam się, że zobaczę jakąś formę autokorelacji, w której obserwacje, które są bliższe w czasie, mają większą korelację niż te, które są bardziej oddalone. Upraszczając kilka rzeczy, podstawowy model wygląda następująco:
gdzie porównuję model bez opóźnień:
z modelem opóźnionym:
Otrzymywane wyniki wskazują, że:
- Parametr opóźnienia wynosi około 0,18, 95% CI [.14, .21]. Tj. Jest niezerowy
- Średnie odchylenie i wskaźnik DIC zwiększają się o kilkaset, gdy opóźnienie jest uwzględnione w modelu
- Wcześniejsze kontrole predykcyjne pokazują, że dzięki włączeniu efektu opóźnienia model lepiej odzyskuje autokorelację w danych
Podsumowując, niezerowy parametr opóźnienia i późniejsze kontrole predykcyjne sugerują, że model opóźnienia jest lepszy; jednak średnie odchylenie i DIC sugerują, że model bez opóźnień jest lepszy. To mnie zastanawia.
Moje ogólne doświadczenie jest takie, że jeśli dodasz użyteczny parametr, powinien on przynajmniej zmniejszyć średnie odchylenie (nawet jeśli po karach za złożoność DIC nie ulegnie poprawie). Co więcej, wartość zero dla parametru opóźnienia osiągnęłaby to samo odchylenie, co model bez opóźnienia.
Pytanie
Dlaczego dodanie efektu opóźnienia może zwiększyć średnie odchylenie w bayesowskim modelu hierarchicznym, nawet jeśli parametr opóźnienia nie jest równy zero i poprawia późniejsze kontrole predykcyjne?
Wstępne przemyślenia
- Przeprowadziłem wiele kontroli zbieżności (np. Patrząc na wykresy śledzenia; badając zmienność wyników odchyleń między łańcuchami i przebiegami) i oba modele wydają się zbieżne z tyłu.
- Przeprowadziłem sprawdzanie kodu, w którym zmusiłem efekt opóźnienia do zera, i to przywróciło odchylenia modelu bez opóźnienia.
- Spojrzałem również na średnie odchylenie minus kara, która powinna dać odchylenie przy oczekiwanych wartościach, a to także pogorszyło model opóźnienia.
- Być może jest jakiś problem z tym, jak oszacowałem domyślny punkt czasowy przed pierwszą obserwacją.
- Być może efekt opóźnienia jest po prostu słaby w tych danych
- Próbowałem oszacować model przy użyciu maksymalnego prawdopodobieństwa przy użyciu
lme
zcorrelation=corAR1()
. Oszacowanie parametru opóźnienia było bardzo podobne. W tym przypadku model opóźnienia miał większe prawdopodobieństwo logarytmiczne i mniejszy AIC (o około 100) niż model bez opóźnienia (tj. Sugerował, że model opóźnienia był lepszy). To umocniło więc pomysł, że dodanie opóźnienia powinno również obniżyć odchylenie w modelu Bayesa. - Być może jest coś wyjątkowego w pozostałościach bayesowskich. Jeśli model opóźnienia wykorzystuje różnicę między przewidywanym a rzeczywistym yw poprzednim punkcie czasowym, wówczas ta ilość będzie niepewna. Zatem efekt opóźnienia będzie działał w wiarygodnym przedziale takich wartości rezydualnych.
źródło
Odpowiedzi:
Oto moje przemyślenia:
Idźmy o krok dalej: weźmy model, który nie uwzględnia efektu opóźnienia (c) i obliczmy jego krańcowe prawdopodobieństwo . Następnie weź klasę modelu (d), która zawiera efekt opóźnienia i ma pierwszeństwo w parametrze opóźnienia; obliczyć krańcowe prawdopodobieństwo (d). Można się spodziewać, że (d) ma większe marginalne prawdopodobieństwo . Co jeśli nie ?:
(1) Krańcowe prawdopodobieństwo uwzględnia klasę modelu jako całość. Obejmuje to efekt opóźnienia, liczbę parametrów, prawdopodobieństwo, wcześniejsze.
(2) Porównywanie modeli, które mają różną liczbę parametrów, jest zawsze delikatne, jeżeli istnieje znaczna niepewność co do wcześniejszych parametrów dodatkowych.
(3) Jeśli podasz niepewność w przedziale parametru opóźnienia zbyt nieuzasadnioną, karasz całą klasę modelu.
(4) Jakie informacje potwierdzają równe prawdopodobieństwo opóźnień ujemnych i dodatnich? Uważam, że bardzo mało prawdopodobne jest zaobserwowanie ujemnego opóźnienia i należy to uwzględnić w poprzednim.
(5) Uprzednio wybrany przez ciebie parametr opóźnienia jest jednolity. Zazwyczaj nie jest to dobry wybór: czy jesteś absolutnie pewien, że twoje parametry muszą naprawdę mieścić się w określonych granicach? Czy każda wartość opóźnienia w granicach naprawdę ma równe prawdopodobieństwo? Moja sugestia: skorzystaj z rozkładu beta (jeśli masz pewność, że opóźnienie jest ograniczone; lub z log-normal, jeśli możesz wykluczyć wartości mniejsze niż zero .
(6) Jest to szczególny przykład, w którym zastosowanie nieinformacyjnych priorytetów nie jest dobre (patrząc na marginalne prawdopodobieństwo ): zawsze faworyzujesz model, który ma mniejszą liczbę niepewnych parametrów; nie ma znaczenia, jak dobry lub zły może być model z większą liczbą parametrów.
Mam nadzieję, że moje myśli dadzą ci nowe pomysły, wskazówki ?!
źródło