Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: random uniform variable with unequal probabilities
From
"Seed, Paul" <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: random uniform variable with unequal probabilities
Date
Wed, 21 Nov 2012 16:04:51 +0000
Here's a solution that does not involve matrices or add-on commands:
*************************** Example code ***************************
clear
set obs 200
gen double chosen = int(uniform()*10)+1
forval i = 1/10 {
gen double x`i' = int(uniform()*10) +1
gen change`i' = uniform() < 1/9
replace x`i' = chosen if change`i'
}
*************************** End example code ***************************
Date: Tue, 20 Nov 2012 10:36:55 +0000
From: Nick Cox <[email protected]>
Subject: Re: st: random uniform variable with unequal probabilities
On the last point: The crunch is that -rdiscrete()- requires a column
vector of probabilities. The implication, which I didn't spell out, is
that you would need an extra loop to get what is being asked for.
Nick
On Tue, Nov 20, 2012 at 10:25 AM, Seed, Paul <[email protected]> wrote:
> On Mon, Nov 19, 2012 at 11:44 AM, Tomáš Houška <[email protected]> wrote:
>
>> I need to generate a random variable from uniform distribution, but
>> the probabilities are not not same for each option. The variable is
>> discrete in interval [10,19] and is generated 10times. Each time one
>> of the options has twice as high probability of occurring as the
>> others. So in some sense, the draw is two-staged - in the first stage
>> a random number (n) between 1 and 10 is generated and then that
>> particular n-th option in the interval [10,19] has a probability 0.2
>> of occurring, the other options have a probability 0.8/9 each.
>>
>> How can I generate such variable?
>
> Actually, this _is_ a uniform distribution: It can be shown that
> Pr(X=x) = 0.1 for all integer x in the interval [10,19], = 0 otherwise.
> So the double negative ("not not same") does for once equal a positive.
>
> However, the second sentence implies that what is produced is not a
> number, but a group of 10 numbers, and the 10^10 possible groups are
> definitely not all equally likely. I expect that Nick's code can be
> easily adapted to give blocks of 10 numbers.
>
> BW
>
> Paul T Seed, Senior Lecturer in Medical Statistics,
> Division of Women's Health, King's College London
> Women's Health Academic Centre, King's Health Partners
> (+44) (0) 20
Paul T Seed, Senior Lecturer in Medical Statistics,
Division of Women's Health, King's College London
Women's Health Academic Centre, King's Health Partners
020 7188 3642,
[email protected],
http://www.kcl.ac.uk/medicine/research/divisions/wh/about/people/seedp.aspx
Please do not send unencrypted un-anonymised data to this address.
*
* 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/