Example C6 Bivariate count response model
Cameron and Trivedi (1988) use various forms of overdispersed Poisson model to study the relationship between type of health insurance and various responses which measure the demand for health care, e.g. number of consultations with a doctor or specialist. The data set they use in this analysis is from the Australian Health survey for 1977-1978. In a later work Cameron and Trivedi (1998) estimate a bivariate Poisson model. for two of the measures for the demand for health care. We use a version of the Cameron and Trivedi (1988) data set (called visit-prescribe.dat) for the bivariate model. The data for the bivariate model (visit-prescribe.dat) are a stacked version of Cameron and Trivedi data set. A copy of the original data set (racd.dat) and further details about the variables in racd.dat can be obtained from http://cameron.econ.ucdavis.edu/racd/racddata.html.
References
Cameron, A.C., Trivedi, P.K., Milne, F., Piggott, J., (1988) A microeconometric model of the demand for Health Care and Health Insurance in Australia, Review of Economic Studies, 55, 85-106.
Cameron, A.C., Trivedi, P.K
(1998), Regression Analysis of Count Data, Econometric Society Monograph
No.30,
Data description
Number of observations (rows): 10380
Number of variables (columns): 26
Variables:
ij = respondent identifier
r = if this is the 1st measure of the demand for health care, 2 for the second.
sex= 1 if respondent is female, 0 if male
age = respondent’s age in years divided by 100,
agesq = age squared
income = respondent’s annual income in Australian dollars divided by 1000
levyplus =1 if respondent is covered by private health insurance fund for private patient in public hospital (with doctor of choice), 0 otherwise
freepoor =1 if respondent is covered by government because low income, recent immigrant, unemployed, 0 otherwise
freerepa=1 if respondent is covered free by government because of old-age or disability pension, or because invalid veteran or family of deceased veteran, 0 otherwise
illness = number of illnesses in past 2 weeks with 5 or more coded as 5
actdays = number of days of reduced activity in past two weeks due to illness or injury
hscore = respondent’s general health questionnaire score using Goldberg's method, high score indicates bad health.
chcond1 = 1 if respondent has chronic condition(s) but not limited in activity, 0 otherwise
chcond2 = 1 if respondent has chronic condition(s) and limited in activity, 0 otherwise
dvisits = number of consultations with a doctor or specialist in the past 2 weeks
nondocco = number of consultations with non-doctor health professionals, (chemist, optician, physiotherapist, social worker, district community nurse, chiropodist or chiropractor in the past 2 weeks
hospadmi = number of admissions to a hospital, psychiatric hospital, nursing or convalescent home in the past 12 months (up to 5 or more admissions which is coded as 5)
hospdays = number of nights in a hospital, etc. during most recent admission, in past 12 months
medicine = total number of prescribed and nonprescribed medications used in past 2 days
prescribe = total number of prescribed medications used in past 2 days
nonprescribe = total number of nonprescribed medications used in past 2 days
constant = 1 for all observations
id= ij
y = when r1=1, y is dvisits and when r2=1, y is prescribe
r1 = 1 if r=1, 0 otherwise
r2 = 1 if r=2, 0 otherwise
The first few lines of the stacked data (visit-prescribe.dat) look like:

Sabre commands
out visit-prescribe.log
trace visit-prescribe.trace
data ij
r sex age agesq income levyplus
freepoor freerepa illness actdays &
hscore chcond1 chcond2 dvisits nondocco hospadmi hospdays medicine &
prescrib nonpresc
constant id y r1 r2
read visit-prescribe.dat
case id
yvar y
model b
rvar r
family first=p second=p
constant first=r1 second=r2
trans r1_sex r1 * sex
trans r1_age r1 * age
trans r1_agesq r1 * agesq
trans r1_income r1 * income
trans r1_levyplus r1 * levyplus
trans r1_freepoor r1 * freepoor
trans r1_freerepa r1 * freerepa
trans r1_illness r1 * illness
trans r1_actdays r1 * actdays
trans r1_hscore r1 * hscore
trans r1_chcond1 r1 * chcond1
trans r1_chcond2 r1 * chcond2
trans r2_sex r2 * sex
trans r2_age r2 * age
trans r2_agesq r2 * agesq
trans r2_income r2 * income
trans r2_levyplus r2 * levyplus
trans r2_freepoor r2 * freepoor
trans r2_freerepa r2 * freerepa
trans r2_illness r2 * illness
trans r2_actdays r2 * actdays
trans r2_hscore r2 * hscore
trans r2_chcond1 r2 * chcond1
trans r2_chcond2 r2 * chcond2
nvar
13
lfit
r1_sex r1_age r1_agesq r1_income r1_levyplus r1_freepoor r1_freerepa &
r1_illness
r1_actdays r1_hscore r1_chcond1 r1_chcond2 r1 &
r2_sex r2_age
r2_agesq r2_income r2_levyplus r2_freepoor r2_freerepa &
r2_illness
r2_actdays r2_hscore r2_chcond1 r2_chcond2 r2
dis m
dis e
fit r1_sex r1_age r1_agesq
r1_income r1_levyplus r1_freepoor r1_freerepa &
r1_illness
r1_actdays r1_hscore r1_chcond1 r1_chcond2 r1 &
r2_sex r2_age r2_agesq r2_income r2_levyplus
r2_freepoor r2_freerepa &
r2_illness
r2_actdays r2_hscore r2_chcond1 r2_chcond2 r2
dis m
dis e
stop
Sabre log file
<S> trace visit-prescribe.trace
<S> data ij r sex age agesq income levyplus freepoor freerepa illness actdays &
<S> hscore chcond1 chcond2 dvisits nondocco hospadmi hospdays medicine &
<S> prescrib nonpresc constant id y r1 r2
<S> read visit-prescribe.dat
10380 observations in dataset
<S> case id
<S> yvar y
<S> model b
<S> rvar r
<S> family first=p second=p
<S> constant first=r1 second=r2
<S> trans r1_sex r1 * sex
<S> trans r1_age r1 * age
<S> trans r1_agesq r1 * agesq
<S> trans r1_income r1 * income
<S> trans r1_levyplus r1 * levyplus
<S> trans r1_freepoor r1 * freepoor
<S> trans r1_freerepa r1 * freerepa
<S> trans r1_illness r1 * illness
<S> trans r1_actdays r1 * actdays
<S> trans r1_hscore r1 * hscore
<S> trans r1_chcond1 r1 * chcond1
<S> trans r1_chcond2 r1 * chcond2
<S> trans r2_sex r2 * sex
<S> trans r2_age r2 * age
<S> trans r2_agesq r2 * agesq
<S> trans r2_income r2 * income
<S> trans r2_levyplus r2 * levyplus
<S> trans r2_freepoor r2 * freepoor
<S> trans r2_freerepa r2 * freerepa
<S> trans r2_illness r2 * illness
<S> trans r2_actdays r2 * actdays
<S> trans r2_hscore r2 * hscore
<S> trans r2_chcond1 r2 * chcond1
<S> trans r2_chcond2 r2 * chcond2
<S> nvar 13
<S> lfit r1_sex r1_age r1_agesq r1_income r1_levyplus r1_freepoor r1_freerepa &
<S> r1_illness r1_actdays r1_hscore r1_chcond1 r1_chcond2 r1 &
<S> r2_sex r2_age r2_agesq r2_income r2_levyplus r2_freepoor r2_freerepa &
<S> r2_illness r2_actdays r2_hscore r2_chcond1 r2_chcond2 r2
Iteration Log. lik. Difference
__________________________________________
1 -15324.252
2 -10132.089 5192.
3 -9024.2545 1108.
4 -8891.0379 133.2
5 -8886.3277 4.710
6 -8886.3083 0.1945E-01
7 -8886.3083 0.1989E-05
<S> dis m
X-vars Y-var
______________________________
r1 y
r1_sex
r1_age
r1_agesq
r1_income
r1_levyplus
r1_freepoor
r1_freerepa
r1_illness
r1_actdays
r1_hscore
r1_chcond1
r1_chcond2
r2
r2_sex
r2_age
r2_agesq
r2_income
r2_levyplus
r2_freepoor
r2_freerepa
r2_illness
r2_actdays
r2_hscore
r2_chcond1
r2_chcond2
Correlated bivariate model
Standard Poisson/Poisson
Number of observations = 10380
X-var df = 26
Log likelihood = -8886.3083 on 10354 residual degrees of freedom
<S> dis e
Parameter Estimate Std. Err.
___________________________________________________
r1 -2.2238 0.18982
r1_sex 0.15688 0.56137E-01
r1_age 1.0563 1.0008
r1_agesq -0.84870 1.0778
r1_income -0.20532 0.88379E-01
r1_levyplus 0.12319 0.71640E-01
r1_freepoor -0.44006 0.17981
r1_freerepa 0.79798E-01 0.92060E-01
r1_illness 0.18695 0.18281E-01
r1_actdays 0.12685 0.50340E-02
r1_hscore 0.30081E-01 0.10099E-01
r1_chcond1 0.11409 0.66640E-01
r1_chcond2 0.14116 0.83145E-01
r2 -2.7412 0.12921
r2_sex 0.48377 0.36639E-01
r2_age 2.6497 0.61491
r2_agesq -0.88778 0.64292
r2_income -0.44661E-02 0.55766E-01
r2_levyplus 0.28274 0.52278E-01
r2_freepoor -0.45680E-01 0.12414
r2_freerepa 0.29584 0.59667E-01
r2_illness 0.20112 0.10530E-01
r2_actdays 0.29261E-01 0.36746E-02
r2_hscore 0.20103E-01 0.63664E-02
r2_chcond1 0.77565 0.46130E-01
r2_chcond2 1.0107 0.53895E-01
<S> fit r1_sex r1_age r1_agesq r1_income r1_levyplus r1_freepoor r1_freerepa &
<S> r1_illness r1_actdays r1_hscore r1_chcond1 r1_chcond2 r1 &
<S> r2_sex r2_age r2_agesq r2_income r2_levyplus r2_freepoor r2_freerepa &
<S> r2_illness r2_actdays r2_hscore r2_chcond1 r2_chcond2 r2
Initial Homogeneous Fit:
Iteration Log. lik. Difference
__________________________________________
1 -15324.252
2 -10132.089 5192.
3 -9024.2545 1108.
4 -8891.0379 133.2
5 -8886.3277 4.710
6 -8886.3083 0.1945E-01
7 -8886.3083 0.1989E-05
Iteration Log. lik. Step End-points Orthogonality
length 0 1 criterion
________________________________________________________________________
1 -8732.7442 1.0000 fixed fixed 72.910
2 -8650.4889 1.0000 fixed fixed 68.194
3 -8634.0864 1.0000 fixed fixed 0.60170
4 -8592.1028 0.0312 fixed fixed 188.30
5 -8562.0288 1.0000 fixed fixed 51.688
6 -8554.9622 1.0000 fixed fixed 126.87
7 -8551.2538 1.0000 fixed fixed 18.966
8 -8551.2208 1.0000 fixed fixed 3.8237
9 -8551.2208 1.0000 fixed fixed
<S> dis m
X-vars Y-var Case-var
________________________________________________
r1 y id
r1_sex
r1_age
r1_agesq
r1_income
r1_levyplus
r1_freepoor
r1_freerepa
r1_illness
r1_actdays
r1_hscore
r1_chcond1
r1_chcond2
r2
r2_sex
r2_age
r2_agesq
r2_income
r2_levyplus
r2_freepoor
r2_freerepa
r2_illness
r2_actdays
r2_hscore
r2_chcond1
r2_chcond2
Correlated bivariate model
Standard Poisson/Poisson
Gaussian random effects
Number of observations = 10380
Number of cases = 5190
X-var df = 26
Scale df = 3
Log likelihood = -8551.2208 on 10351 residual degrees of freedom
<S> dis e
Parameter Estimate Std. Err.
___________________________________________________
r1 -2.6694 0.24673
r1_sex 0.27506 0.73571E-01
r1_age -0.96132 1.3337
r1_agesq 1.4568 1.4522
r1_income -0.11897 0.11257
r1_levyplus 0.15202 0.89966E-01
r1_freepoor -0.62151 0.23768
r1_freerepa 0.17419 0.12109
r1_illness 0.22347 0.25097E-01
r1_actdays 0.13872 0.81816E-02
r1_hscore 0.39132E-01 0.14129E-01
r1_chcond1 0.15663 0.83179E-01
r1_chcond2 0.26404 0.10820
r2 -2.9069 0.15064
r2_sex 0.57019 0.43558E-01
r2_age 2.0381 0.74431
r2_agesq -0.19637 0.79300
r2_income 0.32556E-01 0.65766E-01
r2_levyplus 0.27330 0.58470E-01
r2_freepoor -0.91061E-01 0.13849
r2_freerepa 0.29736 0.69972E-01
r2_illness 0.21674 0.13479E-01
r2_actdays 0.40222E-01 0.50644E-02
r2_hscore 0.21171E-01 0.81907E-02
r2_chcond1 0.77259 0.51285E-01
r2_chcond2 1.0204 0.63007E-01
scale1 0.99674 0.43107E-01
scale2 0.56067 0.40558E-01
corr 0.83217 0.27601E-01
<S> stop