* Poisson Chapter drop _all clear input LOS count 1 9 2 10 3 11 4 12 5 13 6 12 7 11 8 10 9 9 10 8 11 7 12 6 13 5 14 4 15 3 16 2 17 1 end capture program drop doit program define doit version 6.0 graph count LOS, xlab(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17) /* */ ylab(0,1,2,3,4,5,6,7,8,9,10,11,12,13) c(.) s(o) saving(poisson, replace) end doit graph export poisson.eps, replace use medpar, clear glm los hmo white type2 type3, family(poisson) eform nolog glm los hmo white type2 type3, family(poisson) irls scale(dev) eform nolog noheader glm los hmo white type2 type3, family(poisson) cluster(provnum) eform nolog noheader use doll, clear glm deaths smokes a2-a5, family(poisson) lnoffset(pyears) eform nolog glm deaths smokes a2-a5, family(poisson) irls scale(dev) lnoffset(pyears) eform nolog noheader gen sa12 = smokes*(a1+a2) gen sa34 = smokes*(a3+a4) gen sa5 = smokes*(a5) glm deaths sa12 sa34 sa5 a2-a5, family(poisson) irls scale(dev) lnoffset(pyears) eform nolog noheader use medpar, clear glm los hmo white type2 type3, family(poisson) eform nolog noheader predict double mu, mu generate z = ((los-mu)^2-los) / (mu*sqrt(2)) regress z quietly summarize los, meanonly quietly scalar nybar = r(sum) quietly generate double musq = mu*mu quietly summarize musq, meanonly quietly scalar mu2 = r(sum) quietly scalar chival = (mu2-nybar)^2/(2*mu2) display as txt "LM value = " as res chival _n as txt "P-value = " as res %6.4f chi2tail(1, chival) sysuse cancer, clear tab drug, gen(drug) glm died age drug2 drug3, lnoffset(studytime) family(poisson) nolog stset studytime died streg age drug2 drug3, nohr dist(exp) nolog glm died age drug2 drug3, lnoffset(studytime) family(poisson) nolog noheader test age=0, notest test drug2=-1.5, accumulate estimates store Unconstrained generate double offvar = 0*age - 1.5*drug2 + log(studytime) glm died drug3, offset(offvar) family(poisson) nolog lrtest Unconstrained