informacje o wersji: Kod tej strony został przetestowany w Stata 12.
zerowa regresja Poissona jest używana do modelowania danych liczbowych, które mają nadmiar zera. Ponadto teoria sugeruje, że nadmiarowe zera są generowane przez oddzielny proces od wartości liczenia i że nadmiarowe zera mogą być modelowane niezależnie. Tak więc model zip składa się z dwóch części, modelu liczby Poissona i modelu logit do przewidywania nadmiaru zer. Możesz zapoznać się z tymi przykładowymi stronami analizy danych, regresją Poissona i regresją logit.
Uwaga: celem tej strony jest pokazanie, jak używać różnych poleceń analizy danych. Nie obejmuje on wszystkich aspektów procesu badawczego, od którego oczekuje się przeprowadzenia badań. W szczególności nie obejmuje on czyszczenia i weryfikacji danych, weryfikacji założeń, diagnostyki modeli i potencjalnych analiz następczych.
przykłady regresji Poissona bez napompowania
przykład 1.
administratorzy szkół badają zachowanie uczniów szkół średnich w ciągu jednego semestru w dwóch szkołach. Frekwencja jest mierzona liczbą dni nieobecności i jest przewidywana przez płeć ucznia i standaryzowane wyniki w matematyce i sztuce językowej. Wielu studentów nie ma nieobecności w trakcie semestru.
przykład 2.
stanowi biolodzy przyrody chcą modelować, ile ryb złowionych jest przez rybaków w parku stanowym. Odwiedzający są pytani, czy mają kampera, ile osób było w grupie, czy w grupie były dzieci i ile złowiono ryb.Niektórzy odwiedzający nie łowią, ale nie ma danych na temat tego, czy dana osoba łowiła, czy nie. Niektórzy odwiedzający, którzy łowili ryby, nie złapali żadnej ryby, więc w danych jest nadmiar zer z powodu osób, które nie łowiły.
Opis danych
przejdźmy do przykładu 2 z góry.
mamy dane o 250 grupach, które poszły do parku. Zapytano każdą grupę o to, ile ryb złowili, ile dzieci było w grupie, ile osób było w grupie i czy przywieźli kampera do parku.
oprócz przewidywania liczby złowionych ryb, istnieje zainteresowanie przewidywaniem istnienia nadmiaru zer, czyli zer, które nie były po prostu wynikiem pechowego połowu. W naszym modelu będziemy używać zmiennych dziecko, osoby i Kamper. Spójrzmy na dane.
metody analizy możesz rozważyć
Poniżej znajduje się lista niektórych metod analizy, które możesz napotkać.Niektóre z wymienionych metod są całkiem rozsądne, podczas gdy inne wypadły z łask lub mają ograniczenia.
- zerowa regresja Poissona – główny punkt tej strony.
- Zero-inflated Negative Binomial Regression-ujemna regresja dwumianowa robi lepiej bez danych rozproszonych, tj. wariancji znacznie większej niż średnia.
- zwykłe modele liczbowe – modele dwumianowe Poissona lub ujemne mogą być bardziej odpowiednie, jeśli nie ma nadmiarowych zer.
- regresja OLS-Możesz spróbować przeanalizować te dane za pomocą regresji OLS. Jednak countdata są wysoce nienormalne i nie są dobrze oszacowane przez regresję OLS.
zerowa regresja Poissona
uruchomimy komendę zip z dzieckiem i camper jako predyktorami liczb,osobami jako predyktorem nadmiarowych zer. Uwzględniliśmy opcję vuong, która zapewnia test modelu bez napompowania w porównaniu ze standardowym modelem Poissona.
zip count child camper, inflate(persons) vuongFitting constant-only model:Iteration 0: log likelihood = -1347.807 Iteration 1: log likelihood = -1315.5343 Iteration 2: log likelihood = -1126.3689 Iteration 3: log likelihood = -1125.5358 Iteration 4: log likelihood = -1125.5357 Iteration 5: log likelihood = -1125.5357 Fitting full model:Iteration 0: log likelihood = -1125.5357 Iteration 1: log likelihood = -1044.8553 Iteration 2: log likelihood = -1031.8733 Iteration 3: log likelihood = -1031.6089 Iteration 4: log likelihood = -1031.6084 Iteration 5: log likelihood = -1031.6084 Zero-inflated Poisson regression Number of obs = 250 Nonzero obs = 108 Zero obs = 142Inflation model = logit LR chi2(2) = 187.85Log likelihood = -1031.608 Prob > chi2 = 0.0000------------------------------------------------------------------------------ count | Coef. Std. Err. z P>|z| -------------+----------------------------------------------------------------count | child | -1.042838 .0999883 -10.43 0.000 -1.238812 -.846865 1.camper | .8340222 .0936268 8.91 0.000 .650517 1.017527 _cons | 1.597889 .0855382 18.68 0.000 1.430237 1.76554-------------+----------------------------------------------------------------inflate | persons | -.5643472 .1629638 -3.46 0.001 -.8837503 -.244944 _cons | 1.297439 .3738522 3.47 0.001 .5647022 2.030176------------------------------------------------------------------------------Vuong test of zip vs. standard Poisson: z = 3.57 Pr>z = 0.0002
wyjście wygląda bardzo podobnie do wyjścia z regresji OLS:
- zaczyna się od dziennika iteracji, podając wartości dziennika, które rozpoczynają się od modelu, który nie ma predyktorów. Ostatnia wartość w logu jest ostateczną wartością prawdopodobieństwa logu dla pełnego modelu i jest powtarzana poniżej.
- Następna jest informacja o nagłówku. Po prawej stronie podano liczbę użytych obserwacji (250), liczbę niezerowych obserwacji (108) wraz ze współczynnikiem prawdopodobieństwa chi-kwadrat. Porównuje to pełny model z modelem bez predyktorów liczenia, co daje różnicę dwóch stopni swobody. Po tym następuje wartość p dla chi-kwadrat. Model, jako całość, jest statystycznie istotny.
- pod nagłówkiem znajdują się współczynniki regresji Poissona dla każdej z wariantów przewidywania liczby z błędami standardowymi, z-scores, P-values I 95% przedział ufności dla poszczególnych wariantów.
- Poniżej znajdują się współczynniki logit dla zmiennej przewidującej nadmiar zer wraz z jej standardowymi błędami, wynikami z, wartościami p i przedziałami ufności.
- pod różnymi współczynnikami znajdziesz wyniki testu Vuong. Test vuonga porównuje model zerowy ze zwykłym modelem regresji Poissona.Znaczący test z wskazuje, że model bez napompowania jest lepszy.
Cameron i Trivedi (2009) zalecają solidne błędy standardowe dla modeli Poissona.Ponownie uruchomimy model z opcją VCE (robust). Nie uwzględniliśmy tej opcji w pierwszym modelu, ponieważ opcje SOLID i vuong nie mogą być używane w tym samym modelu.
zip count child i.camper, inflate(persons) vce(robust)Fitting constant-only model:Iteration 0: log pseudolikelihood = -1347.807 Iteration 1: log pseudolikelihood = -1315.5343 Iteration 2: log pseudolikelihood = -1126.3689 Iteration 3: log pseudolikelihood = -1125.5358 Iteration 4: log pseudolikelihood = -1125.5357 Iteration 5: log pseudolikelihood = -1125.5357 Fitting full model:Iteration 0: log pseudolikelihood = -1125.5357 Iteration 1: log pseudolikelihood = -1044.8553 Iteration 2: log pseudolikelihood = -1031.8733 Iteration 3: log pseudolikelihood = -1031.6089 Iteration 4: log pseudolikelihood = -1031.6084 Iteration 5: log pseudolikelihood = -1031.6084 Zero-inflated Poisson regression Number of obs = 250 Nonzero obs = 108 Zero obs = 142Inflation model = logit Wald chi2(2) = 7.25Log pseudolikelihood = -1031.608 Prob > chi2 = 0.0266------------------------------------------------------------------------------ | Robust count | Coef. Std. Err. z P>|z| -------------+----------------------------------------------------------------count | child | -1.042838 .3893772 -2.68 0.007 -1.806004 -.2796731 1.camper | .8340222 .4076029 2.05 0.041 .0351352 1.632909 _cons | 1.597889 .2934631 5.44 0.000 1.022711 2.173066-------------+----------------------------------------------------------------inflate | persons | -.5643472 .2888849 -1.95 0.051 -1.130551 .0018567 _cons | 1.297439 .493986 2.63 0.009 .3292445 2.265634------------------------------------------------------------------------------
teraz możemy przejść do specyfiki poszczególnych wyników.
- użycie opcji SOLID spowodowało dość dużą zmianę w modelu chi-square,który jest teraz Wald chi-square. Ta statystyka jest oparta na Log pseudo-likelihoods zamiast log-likelihoods.
- współczynniki dla dziecka i kampera można interpretować następująco:
- dla każdego jednostkowego wzrostu dziecka oczekiwana liczba logów zmiennej odpowiedzi zmniejsza się o 1, 043.
- bycie kamperem zwiększa oczekiwaną liczbę logów o .834.
- współczynnik zawyżania dla osób oznacza, że dla każdej jednostki zwiększa się osobiście, A kursy dziennika zawyżonego zera zmniejszają się o .564.
możemy użyć marginesów (wprowadzonych w Stata 11), aby pomóc zrozumieć nasz model. Najpierw obliczymy oczekiwane liczby dla zmiennej kategorycznej camper, trzymając zmienną potomną continuous na jej średniej wartości za pomocą opcji atmeans.
margins camper, atmeansAdjusted predictions Number of obs = 250Model VCE : RobustExpression : Predicted number of events, predict()at : child = .684 (mean) 0.camper = .412 (mean) 1.camper = .588 (mean) persons = 2.528 (mean)------------------------------------------------------------------------------ | Delta-method | Margin Std. Err. z P>|z| -------------+---------------------------------------------------------------- camper | 0 | 1.289132 .4393168 2.93 0.003 .4280866 2.150177 1 | 2.968305 .619339 4.79 0.000 1.754423 4.182187------------------------------------------------------------------------------
przewidywana liczba ryb złowionych przez osoby niebędące obozowiczami wynosi 1,289, podczas gdy dla obozowiczów jest to 2,968 przy środkach dzieci i osób.
użycie opcji dydx oblicza różnicę w oczekiwanych liczbach między camper = 0 i camper = 1, trzymając dziecko w średniej wartości .684, A osób na poziomie 2528.
margins, dydx(camper) atmeansConditional marginal effects Number of obs = 250Model VCE : RobustExpression : Predicted number of events, predict()dy/dx w.r.t. : 1.camperat : child = .684 (mean) 0.camper = .412 (mean) 1.camper = .588 (mean) persons = 2.528 (mean)------------------------------------------------------------------------------ | Delta-method | dy/dx Std. Err. z P>|z| -------------+---------------------------------------------------------------- 1.camper | 1.679173 .7754611 2.17 0.030 .1592975 3.199049------------------------------------------------------------------------------Note: dy/dx for factor levels is the discrete change from the base level.
różnica w ilości złowionych ryb przez obozowiczów i nie-obozowiczów wynosi 1.679, co jest statystycznie istotne.
ostatnie polecenie margins da oczekiwane liczby dla wartości potomka od zera do trzech na obu poziomach camper.
spodziewana liczba złowionych ryb spada wraz ze wzrostem liczby dzieci zarówno dla osób z obozowiczami, jak i bez nich.
wiele wskaźników dopasowania modelu jest dostępnych za pomocą polecenia fitstat, które jest częścią programu sposado utilities autorstwa J. Scotta Longa i Jeremy ’ ego Freese (search sposado).
fitstatMeasures of Fit for zip of countLog-Lik Intercept Only: -1127.023 Log-Lik Full Model: -1031.608D(244): 2063.217 LR(4): 190.829 Prob > LR: 0.000McFadden's R2: 0.085 McFadden's Adj R2: 0.079ML (Cox-Snell) R2: 0.534 Cragg-Uhler(Nagelkerke) R2: 0.534AIC: 8.301 AIC*n: 2075.217BIC: 715.980 BIC': -168.743BIC used by Stata: 2090.824 AIC used by Stata: 2073.217
rzeczy do rozważenia
- ponieważ zip ma zarówno model zliczania, jak i model logit, każdy z dwóch modeli powinien mieć dobre predyktory. Oba modele niekoniecznie muszą używać tych samych predyktorów.
- problemy predykcji doskonałej, separacji lub separacji częściowej mogą wystąpić w części modelu zerowego.
- dane liczbowe często używają zmiennych ekspozycji, aby wskazać, ile razy zdarzenie mogło się wydarzyć. Możesz włączyć ekspozycję do swojego modelu, korzystając z opcji exposure ().
- nie zaleca się stosowania zerowych modeli Poissona do małych próbek. To, co stanowi małą próbkę, nie wydaje się być jasno zdefiniowane w literaturze.
- Pseudo-R-squared wartości różnią się od OLS R-Squared, zobacz FAQ: Co to są pseudo R-Squared? do dyskusji na ten temat.
Zobacz też
- Instrukcja Stata Online
- zip
- powiązane polecenia Stata
- nbreg-zero-napompowana ujemna regresja dwumianowa.
- Cameron, A. Colin i Trivedi, P. K. (2009) Microeconometrics using stata. College Station, TX: stata Press.
- Long, J. Scott, & Freese, Jeremy (2006). Modele regresji dla zmiennych zależnych kategorycznie za pomocą Stata (Wydanie drugie). College Station, TX: stata Press.
- Long, J. Scott (1997). Modele regresji dla zmiennych kategorycznych i ograniczonych zależnych. Thousand Oaks, CA: Sage Publications.