Figure 14.1, page 505.
use https://stats.idre.ucla.edu/stat/stata/examples/alda/data/rearrest, clear
gen event = ~censor
stset months, failure(event)
sts graph, by(personal) xtitle("Months after release") ///
legend(ring(0) pos(2)) ylabel(,nogrid)
sts graph, cumh by(personal) xtitle("Months after release") ///
legend(ring(0) pos(5)) ylabel(,nogrid)
sts graph, haz by(personal) width(8) xtitle("Months after release") ///
legend(ring(0) pos(5)) xlabel(0(6)36) ylabel(,nogrid)
Figure 14.2, page 508.
use https://stats.idre.ucla.edu/stat/stata/examples/alda/data/rearrest, clear
gen event = ~censor
stset months, failure(event)
sts generate na = na, by(personal)
gen logna = log(na)
sort months
twoway (scatter logna months if personal==0, connect(stepstair) lpattern(solid) msize(zero)) ///
(scatter logna months if personal==1, connect(stepstair) lpattern(dash) msize(zero)), ///
legend(ring(0) pos(5) lab(1 "Personal = 0") lab(2 "Personal = 1")) ///
xtitle("Months after release") ytitle("Log H(t)")
stcox personal, basec(ch0)
gen ch1 = ch0 * 1.613919
gen logch = log(ch0)
replace logch = log(ch1) if personal == 1
sort months
twoway (scatter logch months if personal==0, connect(direct) lpattern(solid) msize(zero)) ///
(scatter logch months if personal==1, connect(direct) lpattern(dash) msize(zero)) ///
(scatter logna months if personal==0 & event == 1, msymbol(o)) ///
(scatter logna months if personal==1 & event == 1, msymbol(+)), ///
legend(ring(0) pos(5) lab(1 "Personal = 0") lab(2 "Personal = 1") ///
lab(3 "Personal = 0") lab(4 "Personal = 1")) ///
xtitle("Months after release") ytitle("Log H(t)")
twoway (scatter ch0 months if personal==0, connect(direct) lpattern(solid) msize(zero)) ///
(scatter ch1 months if personal==1, connect(direct) lpattern(dash) msize(zero)) ///
(scatter na months if personal==0 & event == 1, msymbol(o)) ///
(scatter na months if personal==1 & event == 1, msymbol(+)), ///
legend(ring(0) pos(5) lab(1 "Personal = 0") lab(2 "Personal = 1") ///
lab(3 "Personal = 0") lab(4 "Personal = 1")) ///
xtitle("Months after release") ytitle("H(t)")
Table 14.1, page 525.
use https://stats.idre.ucla.edu/stat/stata/examples/alda/data/rearrest, clear
generate event = ~censor
stset months, failure(event)
failure event: event ~= 0 & event ~= .
obs. time interval: (0, months]
exit on or before: failure
------------------------------------------------------------------------------
194 total obs.
0 exclusions
------------------------------------------------------------------------------
194 obs. remaining, representing
106 failures in single record/single failure data
2678.456 total analysis time at risk, at risk from t = 0
earliest observed entry t = 0
last observed exit t = 36
/* Model A */
stcox personal, nohr
Cox regression -- Breslow method for ties
No. of subjects = 194 Number of obs = 194
No. of failures = 106
Time at risk = 2678.455851
LR chi2(1) = 5.32
Log likelihood = -492.08392 Prob > chi2 = 0.0210
------------------------------------------------------------------------------
_t |
_d | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
personal | .4786654 .202482 2.36 0.018 .0818079 .8755229
------------------------------------------------------------------------------
test personal /* wald test */
( 1) personal = 0.0
chi2( 1) = 5.59
Prob > chi2 = 0.0181
/* Model B */
stcox property, nohr
Cox regression -- Breslow method for ties
No. of subjects = 194 Number of obs = 194
No. of failures = 106
Time at risk = 2678.455851
LR chi2(1) = 16.19
Log likelihood = -486.64864 Prob > chi2 = 0.0000
------------------------------------------------------------------------------
_t |
_d | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
property | 1.194205 .3492838 3.42 0.001 .5096218 1.878789
------------------------------------------------------------------------------
test property /* wald test */
( 1) property = 0.0
chi2( 1) = 11.69
Prob > chi2 = 0.0006
/* Model C */
stcox cage, nohr
Cox regression -- Breslow method for ties
No. of subjects = 194 Number of obs = 194
No. of failures = 106
Time at risk = 2678.455851
LR chi2(1) = 22.93
Log likelihood = -483.27909 Prob > chi2 = 0.0000
------------------------------------------------------------------------------
_t |
_d | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
cage | -.0680667 .0156264 -4.36 0.000 -.0986939 -.0374394
------------------------------------------------------------------------------
test cage /* wald test */
( 1) cage = 0.0
chi2( 1) = 18.97
Prob > chi2 = 0.0000
/* Model D */
stcox personal property cage, nohr
Cox regression -- Breslow method for ties
No. of subjects = 194 Number of obs = 194
No. of failures = 106
Time at risk = 2678.455851
LR chi2(3) = 38.91
Log likelihood = -475.29169 Prob > chi2 = 0.0000
------------------------------------------------------------------------------
_t |
_d | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
personal | .5686725 .2051984 2.77 0.006 .166491 .970854
property | .9354007 .3508835 2.67 0.008 .2476817 1.62312
cage | -.0666248 .0167731 -3.97 0.000 -.0994995 -.0337501
------------------------------------------------------------------------------
test personal /* wald test */
( 1) personal = 0.0
chi2( 1) = 7.68
Prob > chi2 = 0.0056
test property /* wald test */
( 1) property = 0.0
chi2( 1) = 7.11
Prob > chi2 = 0.0077
test cage /* wald test */
( 1) cage = 0.0
chi2( 1) = 15.78
Prob > chi2 = 0.0001
/* Likelihood ratio tests */
lrtest, saving(0)
quietly stcox property cage, nohr /* testing personal */
lrtest
Cox: likelihood-ratio test chi2(1) = 7.27
Prob > chi2 = 0.0070
quietly stcox personal cage, nohr /* testing property */
lrtest
Cox: likelihood-ratio test chi2(1) = 9.14
Prob > chi2 = 0.0025
quietly stcox personal property, nohr /* testing cage */
lrtest
Cox: likelihood-ratio test chi2(1) = 18.28
Prob > chi2 = 0.0000
Table 14.2, page 533.
Note: Observations are in numerical id order, not the order shown in the book.
use https://stats.idre.ucla.edu/stat/stata/examples/alda/data/rearrest, clear
generate event = ~censor
stset months, failure(event)
stcox personal property cage
predict risk
list id personal property cage risk months censor if inlist(id,22,8,187,26,5,130,106,33)
id personal property cage risk months censor
5. 5 1 1 -7.164588 7.25298 .2956879 0
8. 8 1 1 22.45074 1.008332 .62423 1
22. 22 0 0 .2577249 .9829757 1.708419 1
26. 26 0 1 -7.301481 4.144825 2.365503 0
33. 33 1 0 27.06129 .2910442 2.792608 1
106. 106 0 0 16.20297 .3397587 11.6961 0
130. 130 0 1 22.39051 .5732906 15.96715 1
187. 187 1 0 -7.200181 2.853034 36 1
Figure 14.4, page 538.
use https://stats.idre.ucla.edu/stat/stata/examples/alda/data/rearrest, clear
generate event = ~censor
stset months, failure(event)
stcox personal property cage, basec(ch0)
summarize personal
global meanpersonal = r(mean)
summarize property
global meanproperty = r(mean)
gen ch1 = ch0 * (1.765921* $meanpersonal + 2.548234* $meanproperty)
gen s0 = exp(-ch0)
gen s1 = exp(-ch1)
/* Top row */
twoway (scatter s0 months if event==1, connect(direct) msize(small)), ///
title("Baseline: Personal = 0, Property = 0") ylabel(0(.25)1) xlabel(0(6)36) xtitle("Months after release") ytitle("S(t)")
twoway (scatter s1 months if event==1, connect(direct) msize(small)), ///
title("Average Personal & Property") ylabel(0(.25)1) xlabel(0(6)36) xtitle("Months after release") ytitle("S(t)")
/* Middle row */
twoway (scatter ch0 months if event==1, connect(direct) lpattern(solid) msize(small)), ///
title("Baseline: Personal = 0, Property = 0") ylabel(0(.5)1.5) xlabel(0(6)36) xtitle("Months after release") ytitle("H(t)")
twoway (scatter ch1 months if event==1, connect(direct) lpattern(solid) msize(small)), ///
title("Average Personal & Property") ylabel(0(.5)1.5) xlabel(0(6)36) xtitle("Months after release") ytitle("H(t)")
/* Bottom row */
stcox personal property cage, basehc(h)
stcurve, hazard at(property = 0 personal = 0) width(8) ///
title("Baseline: Personal = 0, Property = 0") ylabel(0.00(0.02)0.08) xlabel(0(6)36) xtitle("Months after release") ytitle("h(t)")
stcurve, hazard at(property=$meanproperty personal = $meanpersonal) width(8) ///
title("Average Personal & Property") ylabel(0.00(0.02)0.08) xlabel(0(6)36) xtitle("Months after release") ytitle("h(t)")
Figure 14.5, page 541.
use https://stats.idre.ucla.edu/stat/stata/examples/alda/data/rearrest, clear
generate event = ~censor
stset months, failure(event)
stcox personal property cage, basec(ch_per0prop0)
gen ch_per1prop0 = ch_per0prop0 * exp(_coef[personal])
gen ch_per0prop1 = ch_per0prop0 * exp(_coef[property])
gen ch_per1prop1 = ch_per0prop0 * exp(_coef[property]) * exp(_coef[personal])
gen s00 = exp(-ch_per0prop0 )
gen s10 = exp(-ch_per1prop0 )
gen s01 = exp(-ch_per0prop1 )
gen s11 = exp(-ch_per1prop1 )
gen lh00 = log(ch_per0prop0 )
gen lh10 = log(ch_per1prop0 )
gen lh01 = log(ch_per0prop1 )
gen lh11 = log(ch_per1prop1 )
/* Top figure */
twoway (scatter s00 months if event==1, connect(direct) lpattern(solid) msize(zero)) ///
(scatter s10 months if event==1, connect(direct) lpattern(dash) msize(zero)) ///
(scatter s01 months if event==1, connect(direct) lpattern(dot) msize(zero)) ///
(scatter s11 months if event==1, connect(direct) lpattern(dash_dot) msize(zero)), ///
title("S(t)") ylabel(0.0(0.25)1.0) xtitle("Months after release") ///
legend(ring(0) pos(8) lab(1 "Prop=0, Pers=0") lab(2 "Prop=0, Pers=1") lab(3 "Pers=1, Prop=0") lab(4 "Pers=1, Prop=1")) scheme(Lean1)
/* Middle figure */
twoway (scatter ch_per0prop0 months if event==1, connect(direct) lpattern(solid) msize(zero)) ///
(scatter ch_per0prop1 months if event==1, connect(direct) lpattern(dash) msize(zero)) ///
(scatter ch_per1prop0 months if event==1, connect(direct) lpattern(dot) msize(zero)) ///
(scatter ch_per1prop1 months if event==1, connect(direct) lpattern(dash_dot) msize(zero)), ///
title("H(t)") ylabel(0.0(0.5)2.0) xtitle("Months after release") ///
legend(ring(0) pos(10) lab(1 "Prop=0, Pers=0") lab(2 "Prop=0, Pers=1") lab(3 "Pers=1, Prop=0") lab(4 "Pers=1, Prop=1")) scheme(Lean1)
/* Bottom figure */
twoway (scatter lh00 months if event==1, connect(direct) lpattern(solid) msize(zero)) ///
(scatter lh10 months if event==1, connect(direct) lpattern(dash) msize(zero)) ///
(scatter lh01 months if event==1, connect(direct) lpattern(dot) msize(zero)) ///
(scatter lh11 months if event==1, connect(direct) lpattern(dash_dot) msize(zero)), ///
title("Log(H(t))") ylabel(-7(1)1) xtitle("Months after release") ///
legend(ring(0) pos(5) lab(1 "Prop=0, Pers=0") lab(2 "Prop=0, Pers=1") lab(3 "Pers=1, Prop=0") lab(4 "Pers=1, Prop=1")) scheme(Lean1)
