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