Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Oliver Eger <egolto15@yahoo.de> |
To | "statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu> |
Subject | Re: st: stcurve: why two different graphs? |
Date | Mon, 3 Dec 2012 17:34:02 +0000 (GMT) |
Dear Steve, thanks for your answer and your effort. I think, I understand. If I take the drugtr dataset and type for example *******CODE BEGINS********* stcox age, basehc(bhc) stcurve, hazard title("age = mean") *******CODE ENDS************ the resulting hazard ratio for age is 1.079845. The mean of age is 57, weighted by number of persons: 55.875. So I get an identical graph by typing: *******CODE BEGINS********* stcox age, basehc(bhc2) stcurve, hazard at(age=55.875) title("age = 55.875") *******CODE ENDS************ That’s clear. For example, for age = 70.375 (55.875 + 14.5) one can calculate 1.079845^14.5 = 3.05, so the graph should show approximatively 3 times the values of the graphs above. *******CODE BEGINS********* stcox age, basehc(bhc3) stcurve, hazard at(age=70.375) title("age = 70.375") *******CODE ENDS``********* The graphical comparison seems to confirm this . For example, for age = 25.875 (55.875 - 30) one can calculate 1 : (1.079845^30) = 0.1, so the graph should show 0.1 times the values of the first two graphs above. *******CODE BEGINS********* stcox age, basehc(bhc4) stcurve, hazard at(age=25.875) title("age = 25.875") *******CODE ENDS************ The graphical comparison seems to confirm this again. To come to the age=0 case: For age = 0 one can calculate 1 : (1.079845^55.875) = 0.014, so the graph should show 0.014 times the values of the first two graphs above. *******CODE BEGINS********* stcox age, basehc(bhc5) stcurve, hazard at(age=0) title("age = 0") *******CODE ENDS’’’********* And again, the graphical comparison seems to confirm this approximatively. So age=0 does in fact mean 0.014 times the hazard value of the “average model” Can things be seen in this way? Then I “understand” may wrong way of thinking in the age=0 case. This brings me to the following two questions: 1.) The estimating of the baseline hazard function as described in Cleves et al, 3rd edition, “an introduction to survival analysis using stata”, page 139 - 143 for the cox model is the same as estimating the baseline hazard function in the non parametric case at page 113 - 116. Estimating the hazard function, i.e. including covariat(s), means nothing more than to multiply the baseline hazard function of the cox model by the value(s) of interest for the covariate(s) of interest. Right? 2.) Doesn’t this mean, that the following two examples should give the same graphs? Or: where do the (small) differences in the two following graphs actual result from? *******CODE BEGINS********* stcox, estimate basehc(bhc6) stcurve, hazard title("Smoothed Cox Baseline Hazard - no covariates") *******CODE ENDS************ *******CODE BEGINS********** stcox age, basehc(bhc7) stcurve, hazard title("Cox Age=mean") *******CODE ENDS************ Best regards Oliver ________________________________ Von: Steve Samuels <sjsamuels@gmail.com> An: statalist@hsphsun2.harvard.edu Gesendet: 21:25 Freitag, 30.November 2012 Betreff: Re: st: stcurve: why two different graphs? This is for someone age = 0 The youngest age in the drug treatment data set is 47, so the model is extrapolating way outside the range of the data. Your mistake is in thinking that if a covariate has value zero, it is not in the model. The "intercept" h0 is not the same in the two models. Simple example with regress. ******************* input x y 40 40 50 50 60 60 end regress y // intercept is mean regress y x // intercept is y value at x = 0 ************** Steve On Nov 30, 2012, at 2:25 PM, Oliver Eger wrote: Dear Steve, thanks for your answer! I vow to improve my statalist questions next time;-) Your stata commands with the drugtr example brings my question to the point. *************CODE BEGINS************* webuse drugtr, clear stcox , estimate basehc(bhc) sts graph,hazard saving(g00.gph, replace) /// title("Smoothed KM") stcurve, hazard saving(g01, replace) /// title("Smoothed Cox Baseline Hazard") *************CODE INTERRUPTED ******* The first two graphs are identical, I can understand that. Kaplan-Meier hazard graph = stcox null model graph. But I don´t understand, why the third graph is different from the others: *************CODE CONTINOUS ********* stcox age drug stcurve, hazard at(age=0 drug=0) /// title("Cox Age=0 Drug=0")saving(g02, replace) *************CODE ENDS ************** I have in mind the formula, given by the stata press book "an introduction to survival analysis using stata", third edition, by Cleves et al, page 129: h(t|xj) = h0(t) exp(xjßj) If the covariates xj = 0, as in your third example, then only h0(t) remains in the formula and should give the same graph as your first and second example. Why don´t they? I would be happy, if you could help me. Best regards Oliver ________________________________ Von: Steve Samuels <sjsamuels@gmail.com> An: statalist@hsphsun2.harvard.edu Gesendet: 3:57 Dienstag, 16.Oktober 2012 Betreff: Re: st: stcurve: why two different graphs? Dear Oliver: The Statalist standard is to use full real names. Please do so in the future. We don't know what you saw, but models with and without covariates are very different. Note that the FAQ ask that when you observe a problem, you demonstrate it if possible on an available data set. Here is an extreme counter-example, which works because age = 0 is outside the range of the data. *************CODE BEGINS************* webuse drugtr, clear stcox , estimate basehc(bhc) sts graph,hazard saving(g00.gph, replace) /// title("Smoothed KM") stcurve, hazard saving(g01, replace) /// title("Smoothed Cox Baseline Hazard") stcox age drug stcurve, hazard at(age=0 drug=0) /// title("Cox Age=0 Drug=0")saving(g02, replace) graph combine g00.gph g01.gph g02.gph, /// ycommon xcommon saving(g03, replace) **************CODE ENDS************** Steve On Oct 15, 2012, at 5:12 PM, egolto15@yahoo.de wrote: Dear Statalisters, unfortunately I got no answer yet, but maye now someone has an idea;-): Stata command sts graph, hazard gives the same graph to me as stcox, estimate basehc(bhc) stcurve, hazard I can understand that. Kaplan-Meier hazard graph = stcox null modell. But, why don´t I get the same result, if I write stcox var1 var2 var3 var4, basehc(bhc) stcurve, hazard at(var1=0 var2=0 var3=0 var4=0) ? The graph is similar, but not identical. Is this not the same as above? Thanks! Best Oliver * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/ * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/ * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/ * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/ ; * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/faqs/resources/statalist-faq/ * http://www.ats.ucla.edu/stat/stata/