commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Phil Steitz <phil.ste...@gmail.com>
Subject Re: [math] Re: binomial random generator
Date Mon, 24 Oct 2011 04:58:50 GMT
On 10/23/11 9:51 PM, Ahmed Abdeen Hamed wrote:
> Hi Phil,
>
> Thank you for your response. The answer you provided gave me only half of
> what I need. The other half is how to get this boolean value with a given
> probability much the same as nextBonimial?

Sorry, I misread your code.  To do that, I would just use
gen.nextDouble() with a test against Simulation.M_RATE as the
commented out code does.

Phil
>
> Thanks very much!
> Ahmed
>
> On Mon, Oct 24, 2011 at 12:19 AM, Phil Steitz <phil.steitz@gmail.com> wrote:
>
>> On 10/22/11 8:40 PM, Ahmed Abdeen Hamed wrote:
>>> Hi Phil,
>>>
>>> Thanks very much for your quick response. I am doing some simulations
>> that
>>> produce probailities which are in turn must be compared to certains
>> rates.
>>> Here is an example of what I am doing:
>>>
>>>   if (randBinomial.nextBinomial(1, Simulation.MRATE)==1) {
>>>
>>> // the condition can be replaced by the following uncommented condition
>>>
>>> //randM.nextDouble() < Simulation.M_RATE;
>>>
>>>   if (gt[i] == 0) {
>>>
>>>    gt[i] = 1;
>>>
>>>   } else {
>>>
>>>    gt[i] = 0;
>>>
>>>   }
>>>
>>>   }
>>>
>>> Please let me know if I am using Binomial object and its method
>> correctly.
>>
>> As Ted pointed out, you should not be generating values from the
>> Binomial distribution here.   That distribution is for the number of
>> successes in a given number of Bernoulli trials.  The degenerate
>> case, where the number of trials is 1, can be much more efficiently
>> handled just generating a random boolean, which can be generated by
>> a RandomGenerator directly.  As Luc pointed out, there are better
>> PRNGs in [math] than the JDK-supplied generator.  To use, for
>> example, a Well generator, just do
>>
>> RandomGenerator gen = new Well19937c();
>>
>> and then
>>
>> gen.nextBoolean();
>>
>> to generate (pseudo-)random boolean values.
>>
>> Phil
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message