Noll uppblåsta Poisson Regression / Stata dataanalys exempel

versionsinformation: kod för denna sida testades i Stata 12.

Nolluppblåst poisson-regression används för att modellera räkningsdata som har ett överskott av nollräkningar. Vidare föreslår teorin att överskott av nollorgenereras av en separat process från räknevärdena och att överskott av nollor kanmodelleras oberoende. Således har zip-modellen två delar, en poisson count-modell och logit-modellenför att förutsäga överskott av nollor. Du kanske vill granska dessa dataanalys exempelsidor, Poisson Regression andLogit Regression.

Observera: syftet med denna sida är att visa hur man använder olika dataanalyskommandon. Det täcker inte alla aspekter av forskningsprocessen som forskare förväntas göra. I synnerhet omfattar det inte datarengöring och verifiering, verifiering av antaganden, modelldiagnostik och potentiella uppföljningsanalyser.

exempel på noll-uppblåst Poisson regression

exempel 1.

skoladministratörer studerar närvarobeteendet hos gymnasieelever under en termin på två skolor. Närvaro mäts av antalet dagar frånvarande och förutses av kön av studenten och standardiseradetest poäng i matematik och språk konst. Många elever har ingen frånvaro under terminen.

exempel 2.

de statliga naturbiologerna vill modellera hur många fiskar som fångas av fiskare i en statspark. Besökare frågas om de har en husbil, hur mångamänniskor var i gruppen, var det barn i gruppen och hur många fiskar som fångades.Vissa besökare fiskar inte, men det finns inga uppgifter om huruvida en person fiskade eller inte. Somebesökare som gjorde fisk inte fånga någon fisk så det finns överskott nollor i data på grund av de människor som inte fiskar.

beskrivning av data

låt oss fortsätta exempel 2 från ovan.

vi har uppgifter om 250 grupper som gick till en park. Varje grupp ifrågasattes om hur många fiskar de fångade (räkna), hur många barn som var i gruppen (barn), hur många personer som var i gruppen (personer) och huruvida de tog en husbil till parken (husbil) eller inte.

förutom att förutsäga antalet fångade fiskar finns det intresse av att förutsäga förekomsten av överflödiga nollor, dvs nollorna som inte bara var ett resultat av oturfiske. Vi kommer att använda variablerna barn, personer och husbil i vår modell. Låt oss titta på uppgifterna.

analysmetoder du kan överväga

nedan är en lista över några analysmetoder som du kan ha stött på.Några av de angivna metoderna är ganska rimliga medan andra antingen har fallit i favör eller har begränsningar.

  • noll-uppblåst Poisson Regression – fokus för denna webbsida.
  • noll-uppblåst negativ Binomial Regression-negativ binomial regression gör bättre withover dispergerade data, dvs varians mycket större än medelvärdet.
  • vanliga Räknemodeller-Poisson eller negativa binomialmodeller kan vara merlämpliga om det inte finns några överflödiga nollor.
  • Ols-Regression – du kan försöka analysera dessa data med hjälp av OLS-regression. Countdata är dock mycket icke-normala och uppskattas inte väl av OLS-regression.

noll-uppblåst Poisson regression

vi kommer att köra zip-kommandot med barn och husbil som prediktorer för räkningarna,personer som prediktor för överskottsnollorna. Vi har inkluderat vuong-alternativetvilket ger ett test av den nolluppblåsta modellen jämfört med standard poisson-modellen.

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

utgången ser väldigt mycket ut som utgången från en OLS-regression:

  • börjar med iterationsloggen som ger värdena för loggens Sannolikhet som börjar med en modell som inte har några prediktorer. Det sista värdet i loggen är det slutliga värdetav loggens Sannolikhet för hela modellen och upprepas nedan.
  • nästa kommer rubrikinformationen. På höger sida anges antalet observationer som används (250), antalet icke-nollobservationer (108) tillsammans med sannolikhetsförhållandet chi-kvadrat. Detta jämför hela modellen med en modell utan räkneprognoser, vilket ger en skillnad på två frihetsgrader. Detta följs av p-värdet för chi-torget. Modellen är som helhet statistiskt signifikant.
  • under rubriken hittar du poisson-regressionskoefficienterna för var och en av räkningen som förutsäger variablertillsammans med standardfel, z-poäng, p-värden och 95% konfidensintervall förkoefficienterna.
  • Följande är logit koefficienter för variabeln förutsäga överskott nollor alongwith dess standardfel, z-poäng, p-värden och konfidensintervall.
  • under de olika koefficienterna hittar du resultaten från Vuong-testet. TheVuong-testet jämför den nolluppblåsta modellen med en vanlig poisson-regressionsmodell.Ett signifikant z-test indikerar att den nollblåsta modellen är bättre.
  • Cameron och Trivedi (2009) rekommenderar robusta standardfel för poisson-modeller.Vi kommer att köra om modellen med alternativet vce(robust). Vi inkluderade inte detta alternativi den första modellen eftersom robusta och vuong-alternativ inte kan användas i samma modell.

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------------------------------------------------------------------------------

nu kan vi gå vidare till detaljerna i de enskilda resultaten.

  • att använda det robusta alternativet har resulterat i en ganska stor förändring i modellen chi-square,som nu är en Wald chi-square. Denna statistik är baserad på log pseudo-sannolikheter istället för log-sannolikheter.
  • koefficienterna för barn och husbil kan tolkas enligt följande:
    • för varje enhetsökning av barn minskar det förväntade loggantalet för svarsvariabeln med 1,043.
    • att vara en husbil ökar det förväntade loggantalet med .834.
  • uppblåsningskoefficienten för personerföreslår att för varje enhet ökar personen loggoddsen för en uppblåst nollminskning med .564.

vi kan använda marginalerna (introducerad i Stata 11) för att förstå vår modell. Vi kommer först att beräkna de förväntade räkningarna för den kategoriska variabeln camper medan du håller det kontinuerliga variabelbarnet till sitt medelvärde med alternativet 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------------------------------------------------------------------------------

den förväntade räkningen för antalet fiskar som fångas av noncampers är 1.289 medan för campare är det2.968 med hjälp av barn och personer.

med dydx-alternativet beräknas skillnaden i förväntade räkningar mellan camper = 0 och camper = 1 medan du fortfarande håller barn vid dess medelvärde .684 och personer vid sitt medelvärde av 2.528.

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.

skillnaden i antalet fiskar som fångats av campare och noncampers är 1.679, vilket ärstatistiskt signifikant.

ett sista marginalkommando ger de förväntade räkningarna för värden för barn från noll till tre på båda nivåerna av husbil.

det förväntade antalet fångade fiskar minskar när antalet barn ökar för både personer med och utan campare.

ett antal modellanpassningsindikatorer är tillgängliga med fitstat-kommandot, vilket är en del av spostado-verktygen av J. Scott Long och Jeremy Freese (sök spostado).

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

saker att tänka på

  • eftersom zip har både en räknemodell och en logit-modell, bör var och en av de två modellerna ha bra prediktorer. De två modellerna behöver inte nödvändigtvis använda samma prediktorer.
  • problem med perfekt förutsägelse, separation eller partiell separation kan uppstå ilogistisk del av den nolluppblåsta modellen.
  • Räknedata använder ofta exponeringsvariabler för att ange hur många gånger händelsen kunde ha hänt. Du kan integrera exponering i din modell genom att använda alternativet exposure ().
  • det rekommenderas inte att nolluppblåsta poisson-modeller appliceras på små prover. Vad som utgör ett litet urval verkar inte vara tydligt definieradi litteraturen.
  • Pseudo-r-kvadratvärden skiljer sig från OLS R-kvadrat, se FAQ: Vad är pseudo-R-kvadrat? för en diskussion om denna fråga.

Se även

  • Stata Online Manual
    • zip
  • relaterade Stata kommandon
    • nbreg-noll-uppblåst negativ binomial regression.
  • Cameron, A. Colin och Trivedi, P. K. (2009) Mikroekonometri med stata. College Station, TX: Stata Press.
  • Lång, J. Scott, & Freese, Jeremy (2006). Regressionsmodeller för kategoriska beroende variabler med Stata (andra upplagan). College Station, TX: Stata Press.
  • Lång, J. Scott (1997). Regressionsmodeller för kategoriska och begränsade beroende variabler. Thousand Oaks, CA: Sage publikationer.



+