|
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
Re: st: stcox output: p-value and CI don't agree
Thank you Richard. Yes, I do need to run the analysis within my
bootstrap program, and not using the bootstrap prefix or
-vce(bootstrap)- option after -stcox-. The reason for that is that
the data are -stset- using -iweights-.
Jeff Pitbaldo responded to a previous posting of mine (st: stcox:
weighted regression changes the # of observations) that: "-bootstrap-
is not meant for weighted data. Currently -stcox- with the
-vce(bootstrap)- option does not complain when weights have been
-stset, but it should (we will fix this soon)."
The reason I posted my question using <cancer.dta> is so I could
demonstrate my code so it would be reproducible. I do appreciate the
thoughtful and incisive attention of the Statalist users.
I'm still stymied!
Michael
At 10:26 PM 8/7/2007, Michael McCulloch wrote:
Finally, if you estimated the hazard ratio in -stcox- the header
would be "Observed Haz. Ratio", not "Observed coefficient".
Thank you Philip, but with all due respect I promise it's the
hazard ratio that is returned. The following is the code I used,
but for the purpose of this question, applied to the Stata system
data file <cancer.dta>. Note that the plain -stcox- and
bootstrapped -Cox- have the same effect size, but a different
header.
OK, here are the bootstrapped results using your code:
. bootstrap drug=r(drug), reps(100): boot_hr
(running boot_hr on estimation sample)
Bootstrap replications (100)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
.................................................. 50
.................................................. 100
Bootstrap results Number of obs = 48
Replications = 100
command: boot_hr
drug: r(drug)
------------------------------------------------------------------------------
| Observed Bootstrap Normal-based
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
drug | .2580584 .0692074 3.73 0.000 .1224144 .3937025
------------------------------------------------------------------------------
The z value = the incorrectly labeled hazard ratio (.2580584)
divided by the bootstrap standard error.
Now contrast that with the following:
. set seed 12358
. bootstrap, reps(100): stcox drug
(running stcox on estimation sample)
Bootstrap replications (100)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
.................................................. 50
.................................................. 100
Cox regression -- Breslow method for ties
No. of subjects = 48 Number of obs = 48
No. of failures = 31
Time at risk = 744
Wald chi2(1) = 19.56
Log likelihood = -86.389289 Prob > chi2 = 0.0000
------------------------------------------------------------------------------
| Observed Bootstrap Normal-based
_t | Haz. Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
drug | .2580584 .0790376 -4.42 0.000 .1415839 .4703513
------------------------------------------------------------------------------
Note that (a) the hazard ratio is now labeled correctly, and (b) z
does NOT equal the hazard ratio divided by the bootstrap std. error.
Finally, consider
. set seed 12358
. bootstrap, reps(100): stcox drug, nohr
(running stcox on estimation sample)
Bootstrap replications (100)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
.................................................. 50
.................................................. 100
Cox regression -- Breslow method for ties
No. of subjects = 48 Number of obs = 48
No. of failures = 31
Time at risk = 744
Wald chi2(1) = 19.56
Log likelihood = -86.389289 Prob > chi2 = 0.0000
------------------------------------------------------------------------------
| Observed Bootstrap Normal-based
_t | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
drug | -1.354569 .306278 -4.42 0.000 -1.954863 -.7542754
------------------------------------------------------------------------------
Here, z does equal observed coefficient/bootstrap std. error.
So again, I think the source of the earlier confusion stems from the
fact that Stata was doing things wrong. But, if you use the
bootstrap prefix command (which seems a lot simpler anyway) then you
get the right results. If you need to do it your way, I strongly
suspect StataCorp has to fix some bugs first; unless there is some
bug in your program I am overlooking.
-------------------------------------------
Richard Williams, Notre Dame Dept of Sociology
OFFICE: (574)631-6668, (574)631-6463
HOME: (574)289-5227
EMAIL: [email protected]
WWW: http://www.nd.edu/~rwilliam
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/