Założenia regresji Poissona i jak je przetestować w R.

11

Chciałbym przetestować, która regresja najlepiej pasuje do moich danych. Moja zmienna zależna jest liczbą i ma wiele zer.

Potrzebowałbym pomocy w ustaleniu, jakiego modelu i rodziny użyć (poissona lub quasipoissona lub regresji poissona z zerowym napełnieniem) i jak przetestować założenia.

  1. Regresja Poissona: o ile rozumiem, silnym założeniem jest, że zmienna zależna średnia = wariancja. Jak to przetestujesz? Jak blisko siebie muszą być? Czy stosuje się do tego bezwarunkową lub warunkową średnią i wariancję? Co mam zrobić, jeśli to założenie się nie sprawdza?
  2. Czytam, że jeśli wariancja jest większa niż średnia, mamy nadmierną dyspersję, a potencjalnym sposobem radzenia sobie z tym jest uwzględnienie bardziej niezależnych zmiennych lub rodzina = quasipoisson. Czy ten rozkład ma jakieś inne wymagania lub założenia? Jakiego testu używam, aby sprawdzić, czy (1) lub (2) pasuje lepiej - po prostu anova(m1,m2)?
  3. Przeczytałem również, że rozkład ujemny-dwumianowy może być stosowany, gdy pojawia się nadmierna dyspersja. Jak to zrobić w R? Jaka jest różnica w stosunku do quasipoisson?
  4. Zero napompowana regresja Poissona: Czytam, że za pomocą testu vuong sprawdza się, które modele pasują lepiej.

    > vuong (model.poisson, model.zero.poisson)

    Czy to jest poprawne? Jakie założenia ma regresja z napompowaniem zerowym?

  5. Academic Technology Services z UCLA, Statistics Consulting Group ma sekcję o zerowo napompowanych regresjach Poissona i testuje model o napompowaniu zerowym (a) względem standardowego modelu Poissona (b):

    > m.a <- zeroinfl(count ~ child + camper | persons, data = zinb)
    > m.b <- glm(count ~ child + camper, family = poisson, data = zinb)
    > vuong(m.a, m.b)

Nie rozumiem, co robi | personsczęść pierwszego modelu i dlaczego można porównać te modele. Spodziewałem się, że regresja będzie taka sama i po prostu użyję innej rodziny.

Torvon
źródło

Odpowiedzi:

8

1) Oblicz średnią i wariancję próbki. powinien być rozproszony , gdzie jest rozmiarem próbki, a proces jest naprawdę Poissonem - ponieważ są one niezależnymi szacunkami o tej samej wariancji. F(1,n-1)nX¯S2fa(1,n-1)n

Pamiętaj, że ten test ignoruje zmienne towarzyszące - więc prawdopodobnie nie jest to najlepszy sposób na sprawdzenie nadmiernej dyspersji w takiej sytuacji.

Należy również zauważyć, że test ten jest prawdopodobnie słaby w stosunku do hipotezy o zerowym napełnieniu.

3) ujemny dwumian w R: użyj glm.nbz MASSpakietu lub użyj zeroinflfunkcji z psclpakietu, używając ujemnego dwumianowego łącza.

4) zip (Poisson-zero inflated) to model mieszany. Masz wynik binarny, zgodnie z którym podmiot należy do grupy A (gdzie 0 jest pewne) lub do grupy B (gdzie liczby są rozkładem dwumianowym Poissona lub nega). Zaobserwowane 0 wynika z osobników z grupy A + osobników z grupy B, którzy po prostu mieli szczęście. Oba aspekty modelu mogą zależeć od zmiennych towarzyszących: członkostwo w grupie jest modelowane jak logistycznie (iloraz logarytmiczny jest liniowy w zmiennych towarzyszących), a część Poissona jest modelowana w zwykły sposób: średnia logarytmiczna jest liniowa w zmiennych towarzyszących. Potrzebujesz więc zwykłych założeń dla logistyki (dla pewnej części 0) i zwykłych założeń dla Poissona. Innymi słowy, model zip nie wyleczy twoich problemów związanych z nadmierną dyspersją - leczy tylko dużą grupę zer.

5) nie jestem pewien, co to jest zestaw danych i nie mogłem znaleźć odniesienia. zeroinfl potrzebuje modelu zarówno dla części Poissona, jak i części binarnej (pewna 0 lub nie). Część 0 jest druga. Tak więc mama mówi, że to, czy dana osoba jest 0, czy nie, zależy od „osób” - i zakładając, że temat nie jest pewnym 0, liczenie jest funkcją obozowicza i dziecka. Innymi słowy, log (średnia) jest liniową funkcją kampera i dziecka dla tych pacjentów, którzy nie wymagają zliczenia 0.

mb jest po prostu ogólnym liniowym modelem liczenia pod względem kampera i dziecka - oba przyjmują za ustalone efekty. Funkcja łącza to Poisson.

Placidia
źródło
Dziękuję Ci! Szybkie pytanie: czy istnieje sposób na wytworzenie r ^ 2 lub pseudo-r ^ 2 jak Nagelkerke w glm przy użyciu family = poisson w R? Dziękuję Ci!
Torvon
0
  1. biblioteka (pastecs)

stat.desc (dep_var) - a następnie sprawdź, czy średnia i wariancja są równe. Stąd możesz również obliczyć% zer w wektorze.

palcowiec
źródło
3
Witamy na stronie. To bardziej przypomina komentarz niż odpowiedź; lepiej też używać poprawnej pisowni i tak dalej - to nie jest SMS-y, a wiele osób, które czytają tę stronę, ma angielski jako drugi, trzeci lub .... język.
Peter Flom - Przywróć Monikę
3
Proszę pracować nad poprawą tej szybkiej odpowiedzi.
chl