Statalist The Stata Listserver


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: RE: Zinb predictions (this is it!)


From   "Feiveson, Alan H. \(JSC-SK311\)" <[email protected]>
To   <[email protected]>
Subject   st: RE: RE: Zinb predictions (this is it!)
Date   Wed, 14 Mar 2007 10:22:21 -0500

. use http://www.stata-press.com/data/r9/fish,clear

. zinb count persons livebait, inflate(child camper) nolog

Zero-inflated negative binomial regression        Number of obs   =
250
                                                  Nonzero obs     =
108
                                                  Zero obs        =
142

Inflation model = logit                           LR chi2(2)      =
82.23
Log likelihood  = -401.5478                       Prob > chi2     =
0.0000

------------------------------------------------------------------------
------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf.
Interval]
-------------+----------------------------------------------------------
------
count        |
     persons |   .9742984   .1034938     9.41   0.000     .7714543
1.177142
    livebait |   1.557523   .4124424     3.78   0.000     .7491503
2.365895
       _cons |  -2.730064    .476953    -5.72   0.000    -3.664874
-1.795253
-------------+----------------------------------------------------------
------
inflate      |
       child |   3.185999   .7468551     4.27   0.000      1.72219
4.649808
      camper |  -2.020951    .872054    -2.32   0.020    -3.730146
-.3117567
       _cons |  -2.695385   .8929071    -3.02   0.003     -4.44545
-.9453189
-------------+----------------------------------------------------------
------
    /lnalpha |   .5110429   .1816816     2.81   0.005     .1549535
.8671323
-------------+----------------------------------------------------------
------
       alpha |   1.667029   .3028685                      1.167604
2.380076
------------------------------------------------------------------------
------

. predict n_hat
(option n assumed; predicted number of events)

. gen pz = invlogit(-2.695385-2.020951*camper+3.185999*child)

. gen m = exp(-2.730064+1.557523*livebait+0.9742984*persons)

. gen my_n_hat = (1-pz)*m

. summ n_hat my_n_hat

    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
       n_hat |       250    3.131795    4.189243   .0159387   15.11586
    my_n_hat |       250    3.131795    4.189243   .0159391   15.11586


Al Feiveson
.  

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Steichen,
Thomas J.
Sent: Tuesday, March 13, 2007 3:21 PM
To: [email protected]
Subject: st: RE: Zinb predictions

Yesterday, I sent a message to the list saying: 

========================================================================
=
Below is (version 9.2) output from the -zinb- program using the example
data from the manual.  In this data, "count" is the number of fish
caught by visitors to a national park and "persons", "livebait", "child"
and "camper" are covariates.

 . use http://www.stata-press.com/data/r9/fish

 . zinb count persons livebait, inflate(child camper) nolog

Zero-inflated negative binomial regression  Number of obs   =        250
                                            Nonzero obs     =        108
                                            Zero obs        =        142

Inflation model = logit                     LR chi2(2)      =      82.23
Log likelihood  = -401.5478                 Prob > chi2     =     0.0000

------------------------------------------------------------------------
         |      Coef.   Std. Err.    z    P>|z|     [95% Conf. Interval]
---------+--------------------------------------------------------------
count    |
 persons |   .9742984   .1034938   9.41   0.000     .7714543    1.177142
livebait |   1.557523   .4124424   3.78   0.000     .7491503    2.365895
   _cons |  -2.730064    .476953  -5.72   0.000    -3.664874   -1.795253
---------+--------------------------------------------------------------
inflate  |
   child |   3.185999   .7468551   4.27   0.000      1.72219    4.649808
  camper |  -2.020951    .872054  -2.32   0.020    -3.730146   -.3117567
   _cons |  -2.695385   .8929071  -3.02   0.003     -4.44545   -.9453189
---------+--------------------------------------------------------------
/lnalpha |   .5110429   .1816816   2.81   0.005     .1549535    .8671323
---------+--------------------------------------------------------------
   alpha |   1.667029   .3028685                    1.167604    2.380076
------------------------------------------------------------------------

After fitting the model, one can use the -predict- command to generate
the predicted number of events (ie., the number of fish caught):

 . predict pn

This works fine, however, to verify I understand what the model really
is, I'm trying to manually calculate the predicted number of events from
the values of the variables and the model coefficients. 

So far, I'm failing miserably!

Can anyone suggest how to use these coefficients to manually generate
predicted # of events?
========================================================================
=


Resting my tired brain overnight let me see past the block I had formed
and I'm now able to manually generate the predicted counts.

For anyone interested, I'll explain below.

First, note that if one lists the coefficient matrix, e(b), it shows the
coefficients are stored as follows: 

 . matrix list e(b)

e(b)[1,7]
      count:    count:     count:  inflate:   inflate:   inflate:
lnalpha:
     persons  livebait      _cons     child     camper      _cons
_cons
y1 .97429837 1.5575226 -2.7300635 3.1859991 -2.0209512 -2.6953847
..51104289

I will refer to these coefficients, then, as b1, b2, ..., b7.




© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index