Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: Weibull simulation-parametrization


From   "Nick Cox" <[email protected]>
To   <[email protected]>
Subject   st: RE: Weibull simulation-parametrization
Date   Tue, 6 May 2003 17:40:16 +0100

n p
 
> I want to simulate data (time to failure) from a
> Weibull distribution:
> 
> p.d.f. :
> f(t)=lamda*gamma*t^(gamma-1)*exp(-lamda*t^gamma)
> 
> (scale = lamda, shape=gamma)
> 
> I have downloaded the "rnd" package (through "findit")
> and using the "rndwei" command I get the following
> puzzling (at least for me) results:
> 
> 
> . drop _all
> 
> . rndwei 10000 1.5 0.0078
> ( Generating . )
> Variable xw created.
> 
> . gen ev=1
> 
> . stset xw ev
> 
>      failure event:  ev ~= 0 & ev ~= .
> obs. time interval:  (0, xw]
>  exit on or before:  failure
> 
> 
> . streg ,dist(wei) nohr nolog
> 
>          failure _d:  ev
>    analysis time _t:  xw
> --------------------------
>  _cons |   -7.35076   
>      p |   1.513405  
> --------------------------
> 
> 1.513405 very close to 1.5 
> 
> but
> 
> . di exp(-7.35076)
> .0006421
> 
> and
> 
> . di exp(-7.35076/1.513405)
> .00777299
> 
> If I use the AFT form in streg, the exponentiated
> coefficient of the constant gives the correct result.
> 
> I think this has to do with the parametrization used
> in "rndwei" but the help for this command is very
> limited. Do you think that rndwei is using some
> parametrization like lamda=(lamda')^gamma or am I
> missing something? I think that I have seen this
> parametrization among sociologists texts but my
> background is biostatistical (I was trying to
> replicate some examples from D. Collet's survival
> book)
> 
> I would appreciate any other ideas for a Weibull
> simulation or even better a Weibull with frailties
> simulation.

When all else fails, look at the code. 

For shape parameter gamma and scale parameter lambda, -rndwei- 
boils down to one expression 

((log(1/uniform()))^(1/ gamma)) / lambda

where naturally you need to plug in numbers instead 
of parameter names. 

That's got lambda as the reciprocal of the way 
it is parameterised in two texts I looked at, 
after which I stopped looking. As you say, 
there are different parameterisations in 
different literatures. 

However, your own pdf looks wrong on 
a casual glance, if only on dimensional grounds. 

But for a two-parameter Weibull, random 
number generation is just one line, and 
you need not depend on anybody's program
once you know your own parameterisation. 

Nick 
[email protected] 

*
*   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/



© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index