[R] Scale parameter in Weibull distribution
dwinsemius at comcast.net
Wed Mar 7 22:51:22 CET 2012
On Mar 6, 2012, at 6:19 PM, FU-WEN LIANG wrote:
> Thanks for your advise, David.
> I did read the help for survreg and using the followings to calculate.
> survreg's scale = 1/(rweibull shape)
> survreg's intercept = log(rweibull scale)
> However, the scale in rweibull has been transformed by exp(betaX's).
> In my case, the baseline hazard for T is 0.004.
> I'm wondering if it's possible to get the estimated baseline hazard
> by the output from survreg.
Questions about the "baseline hazard" need more careful definition.
Is there a set of parameters or data which you want to call a
"baseline" group? Or do you want the hazard function for the group as
a whole , i.e. fitmean <- survreg(Surv(time, event) ~ 1) ? At the
moment you seem to be using the term "baseline hazard" to describe
cases where all parameters and covariates sum to zero. So wouldn't
that just be the weibull(Intercept*t, scale)?
I do not see any x1 or x2 and its unclear what estimates for b1 and b2
would be since you have fixed their parameters with opposite signs but
> Thank you very much.
> On Tue, Mar 6, 2012 at 5:06 PM, David Winsemius <dwinsemius at comcast.net
> > wrote:
> On Mar 6, 2012, at 5:53 PM, FU-WEN LIANG wrote:
> Hi all,
> I'm trying to generate a Weibull distribution including four
> covariates in
> the model. Here is the code I used:
> T = rweibull(200, shape=1.3,
> C = rweibull(n, shape=1.5, scale=0.008) #censoring time
> time = pmin(T,C) #observed time is min of censored and true
> event = time==T # set to 1 if event is observed
It's certainly not reproducible. As noted before, all of the x's and
b's are missing in action and the return() at the end does not seem to
be occuring in a function body.
> And then, I used this dataset to fit a Weibull regression mode:
> survreg(Surv(time, event)~b1+b2+x1+x2, dist='weibull')
> The result I got was:
> Intercept b1 b2 x1 x2 Scale
> -3.983 1.916 -1.828 -0.808 1.022 0.778
> I transformed those estimates into:
> Shape = 1/0.778=1.3
> beta1 = -1.916/0.778 = -2.5
> beta2 = -(-1.828)/0.778 = 2.5
> beta3 = -(-0.808)/0.778 = 1.0
> beta4 = -1.022/0.778 = -1.3
> scale = exp(-3.983) = 0.0186
> From the result, we can see all parameter estimates are close to the
> initial values, except for scale. The baseline scale is 0.004.
> The scale parameter is varying by covariates.
> If so, how can I double check if the estimated baseline scale is
> close to
> the initial baseline scale?
> Please read the read the help() for 'survreg' and make sure you
> follow the links provided and work through the examples.
> Please advise if my concept
> The concept is the problem.
> or code is not correct.
> Thank you very much.
> David Winsemius, MD
> West Hartford, CT
David Winsemius, MD
West Hartford, CT
More information about the R-help