Re: [Numpy-discussion] weibull distribution has only one parameter?

2007-11-12 Thread Robert Kern
D.Hendriks (Dennis) wrote:
> Alan G Isaac wrote:
>> On Mon, 12 Nov 2007, "D.Hendriks (Dennis)" apparently wrote: 
>>   
>>> All of this makes me doubt the correctness of the formula 
>>> you proposed. 
>>> 
>> It is always a good idea to hesitate before doubting Robert.
>> http://en.wikipedia.org/wiki/Weibull_distribution#Generating_Weibull-distributed_random_variates>
>>
>> hth,
>> Alan Isaac
>>   
> So, you are saying that it was indeed correct? That still leaves the
> question why I can't seem to confirm that in the figure I mentioned (red
> and green lines). Also, if you refer to X = lambda*(-ln(U))^(1/k) as
> 'proof' for the validity of the formula, I have to ask if
> Weibull(a,Size) does actually correspond to (-ln(U))^(1/a)?

double rk_standard_exponential(rk_state *state)
{
/* We use -log(1-U) since U is [0, 1) */
return -log(1.0 - rk_double(state));
}

double rk_weibull(rk_state *state, double a)
{
return pow(rk_standard_exponential(state), 1./a);
}

Like Ryan says, multiplying a random deviate by a number is different from
multiplying the PDF by a number. Multiplying the random deviate by lambda is
equivalent to transforming pdf(x) to pdf(x/lambda) not lambda*pdf(x).

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] weibull distribution has only one parameter?

2007-11-12 Thread Ryan May
D.Hendriks (Dennis) wrote:
> Alan G Isaac wrote:
>> On Mon, 12 Nov 2007, "D.Hendriks (Dennis)" apparently wrote: 
>>   
>>> All of this makes me doubt the correctness of the formula 
>>> you proposed. 
>>> 
>> It is always a good idea to hesitate before doubting Robert.
>> http://en.wikipedia.org/wiki/Weibull_distribution#Generating_Weibull-distributed_random_variates>
>>
>> hth,
>> Alan Isaac
>>   
> So, you are saying that it was indeed correct? That still leaves the 
> question why I can't seem to confirm that in the figure I mentioned (red 
> and green lines). Also, if you refer to X = lambda*(-ln(U))^(1/k) as 
> 'proof' for the validity of the formula, I have to ask if 
> Weibull(a,Size) does actually correspond to (-ln(U))^(1/a)?
> 

Have you actually looked at a histogram of the random variates generated 
this way to see if they are wrong?

Multiplying the the individual random values by a number changes the 
distribution differently than multiplying the distribution/density 
function by a number.

Ryan

-- 
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] weibull distribution has only one parameter?

2007-11-12 Thread D.Hendriks (Dennis)

Alan G Isaac wrote:

On Mon, 12 Nov 2007, "D.Hendriks (Dennis)" apparently wrote: 
 

All of this makes me doubt the correctness of the formula 
you proposed. 
   


It is always a good idea to hesitate before doubting Robert.
http://en.wikipedia.org/wiki/Weibull_distribution#Generating_Weibull-distributed_random_variates>

hth,
Alan Isaac
 

So, you are saying that it was indeed correct? That still leaves the 
question why I can't seem to confirm that in the figure I mentioned (red 
and green lines). Also, if you refer to X = lambda*(-ln(U))^(1/k) as 
'proof' for the validity of the formula, I have to ask if 
Weibull(a,Size) does actually correspond to (-ln(U))^(1/a)?
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] weibull distribution has only one parameter?

2007-11-12 Thread Alan G Isaac
On Mon, 12 Nov 2007, "D.Hendriks (Dennis)" apparently wrote: 
> All of this makes me doubt the correctness of the formula 
> you proposed. 


It is always a good idea to hesitate before doubting Robert.
http://en.wikipedia.org/wiki/Weibull_distribution#Generating_Weibull-distributed_random_variates>

hth,
Alan Isaac



___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] weibull distribution has only one parameter?

2007-11-12 Thread D.Hendriks (Dennis)

Robert Kern wrote:


D.Hendriks (Dennis) wrote:
 

According to (for instance) 
http://en.wikipedia.org/wiki/Weibull_distribution the Weibull 
distribution has two parameters: lambda > 0 is the scale parameter 
(real) and k > 0 is the shape parameter (real). However, the 
numpy.random.weibull function has only a single 'a' parameter (except 
for the size parameter which indicates the size of the array to fill 
with values - this is NOT a parameter of the distribution itself). My 
question is how this 'a' parameter translates to the Weibull 
distribution as it 'normally' is and how to sample the distribution when 
I have the lambda and k parameters?
   



lambda * numpy.random.weibull(k)

 

Thanks for the quick replay. However, when I look at the image of the 
probability density function at 
http://en.wikipedia.org/wiki/Weibull_distribution I see a red line and a 
green line, both with k=2. The red line is for lambda=0.5 and the green 
for lambda=1.0. The green line is not only half the height of the red 
one (while double the lambda factor!), but also has its mean a bit more 
to the right. Looking at the formulas on the same page, this makes 
sense. All of this makes me doubt the correctness of the formula you 
proposed...


___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] weibull distribution has only one parameter?

2007-11-12 Thread Robert Kern
D.Hendriks (Dennis) wrote:
> According to (for instance) 
> http://en.wikipedia.org/wiki/Weibull_distribution the Weibull 
> distribution has two parameters: lambda > 0 is the scale parameter 
> (real) and k > 0 is the shape parameter (real). However, the 
> numpy.random.weibull function has only a single 'a' parameter (except 
> for the size parameter which indicates the size of the array to fill 
> with values - this is NOT a parameter of the distribution itself). My 
> question is how this 'a' parameter translates to the Weibull 
> distribution as it 'normally' is and how to sample the distribution when 
> I have the lambda and k parameters?

lambda * numpy.random.weibull(k)

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] weibull distribution has only one parameter?

2007-11-12 Thread D.Hendriks (Dennis)
According to (for instance) 
http://en.wikipedia.org/wiki/Weibull_distribution the Weibull 
distribution has two parameters: lambda > 0 is the scale parameter 
(real) and k > 0 is the shape parameter (real). However, the 
numpy.random.weibull function has only a single 'a' parameter (except 
for the size parameter which indicates the size of the array to fill 
with values - this is NOT a parameter of the distribution itself). My 
question is how this 'a' parameter translates to the Weibull 
distribution as it 'normally' is and how to sample the distribution when 
I have the lambda and k parameters?
___
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion