Przedział ufności dla modelu GAM

14

Czytanie mgcv::gamstrony pomocy:

przedziały ufności / wiarygodności są łatwo dostępne dla dowolnej ilości przewidywanej na podstawie dopasowanego modelu

Jednak nie mogę znaleźć sposobu, aby go zdobyć. Myślałem, predict.gamże mają type=confidencei to levelparametr, ale tak nie jest. Czy możesz mi pomóc, jak go stworzyć?

George Dontas
źródło

Odpowiedzi:

33

W zwykły sposób:

p <- predict(mod, newdata, type = "link", se.fit = TRUE)

Następnie zauważ, że pzawiera komponent $se.fitze standardowymi błędami prognoz dla obserwacji w newdata. Następnie możesz utworzyć CI, mnożąc SE przez wartość odpowiednią do pożądanego poziomu. Np. Przybliżony 95% przedział ufności powstaje jako:

upr <- p$fit + (2 * p$se.fit)
lwr <- p$fit - (2 * p$se.fit)

Zastępujesz odpowiednią wartość z rozkładu lub Gaussa za potrzebny przedział.t

Pamiętaj, że używam, type = "link"ponieważ nie mówisz, jeśli masz GAM lub tylko AM. W GAM musisz utworzyć przedział ufności na skali predyktora liniowego, a następnie przekształcić go na skalę odpowiedzi, stosując odwrotność funkcji link:

upr <- mod$family$linkinv(upr)
lwr <- mod$family$linkinv(lwr)

Teraz zauważ, że są to bardzo przybliżone interwały. Ponadto przedziały te są punktowo oparte na przewidywanych wartościach i nie uwzględniają faktu, że dokonano wyboru gładkości.

Równoczesny przedział ufności można obliczyć poprzez symulację na podstawie tylnego rozkładu parametrów. Mam taki przykład na swoim blogu .

Jeśli potrzebujesz przedziału ufności, który nie jest uzależniony od parametrów wygładzania (tj. Takiego, który bierze pod uwagę, że nie znamy, ale szacuje wartości parametrów wygładzania), następnie dodaj unconditional = TRUEdo predict()wywołania.

Ponadto, jeśli nie chcesz tego robić sam, pamiętaj, że nowsze wersje mgcv mają plot.gam()funkcję, która zwraca obiekt ze wszystkimi danymi użytymi do utworzenia wykresów wygładzeń i ich przedziałów ufności. Możesz po prostu zapisać dane wyjściowe plot.gam()w obiekcie obj

obj <- plot(model, ....)

a następnie sprawdź obj, która jest listą zawierającą jeden składnik na gładkie. Dodaj seWithMean = TRUEdo plot()wywołania, aby uzyskać przedziały ufności, które nie są uzależnione od parametru gładkości.

Przywróć Monikę - G. Simpson
źródło
Wykonanie równoczesnego CI i parametrycznego ładowania początkowego nieco bardziej angażuje się w kod, więc jeśli możesz sobie poradzić z odstępami punktowymi świetnie. Jeśli nie, mogę podać dalsze przykłady dla każdego z nich.
Przywróć Monikę - G. Simpson
+1 za odpowiedź. Imponujący post na blogu, naprawdę będę go studiować, aby poprawić swoje umiejętności graficzne.
jbowman
W jakikolwiek sposób mógłbym uzyskać dostęp do tego imponującego posta na blogu ( ucfagls.wordpress.com/2011/06/12/… )? Obecnie blog wymaga logowania.
genorama
@geneorama Przeniosłem mojego bloga z Wordpress i przez rok zapłaciłem za przekierowania do nowego dla wszystkich adresów URL, ale ostatnio to straciłem. Przepraszam za to. Edytowałem nowy link, który nie wymaga logowania. (Aby uniknąć dwóch kopii tego samego postu, byłem zbyt leniwy, aby usunąć strony z witryny Wordpress.)
Przywróć Monikę - G. Simpson
Oryginalny post na blogu (patrz historia edycji tego pytania i odpowiedzi) miał fundamentalną wadę w sposobie tworzenia jednoczesnego interwału. Link w bieżącej (na grudzień 2016 r.) Wersji odpowiedzi poprawnie oblicza interwał jednocześnie.
Przywróć Monikę - G. Simpson
5

Jeśli chcesz je wydrukować, plot.gamfunkcja ma cieniowanie, które domyślnie określa przedziały ufności za pomocą argumentu zaciemnienia. Zobacz także, jak gam.vcompuzyskać interwały.

Jan
źródło
5

Pakiet mgcv(nowszy niż gam) z łatwością wykreśla wiarygodne interwały. To bayesowskie podejście różni się od przedziałów ufności, ale wyniki są prawie takie same, jak pokazały symulacje numeryczne (patrz artykuł Marry i Wooda połączony w mgcv).

Peter Straka
źródło
2
+1 Kluczowym rezultatem pracy Marra & Wood jest to, że rozwijają oni rozumienie / wyjaśnienie Nychki, dlaczego empiryczne wiarygodne przedziały Bayesa mają również dość niezwykłą interpretację / zachowanie częstokroć postrzegane jako „przedziałowe” przedziały ufności. Możesz traktować interwały w sposób bayesowski lub częsty, a właściwość ubezpieczenia sugerowana przez1-αinterwał utrzymuje się w przybliżeniu.
Przywróć Monikę - G. Simpson