[Numpy-discussion] non-uniform discrete sampling with given probabilities (w/ and w/o replacement)

Olivier Delalleau shish at keba.be
Wed Aug 31 15:22:43 EDT 2011


2011/8/31 Christopher Jordan-Squire <cjordan1 at uw.edu>

> On Wed, Aug 31, 2011 at 2:07 PM, Olivier Delalleau <shish at keba.be> wrote:
> > You can use:
> > 1 + numpy.argmax(numpy.random.multinomial(1, [0.1, 0.2, 0.7]))
> >
> > For your "real" application you'll probably want to use a value >1 for
> the
> > first parameter (equal to your sample size), instead of calling it
> multiple
> > times.
> >
> > -=- Olivier
>
> Thanks. Warren (Weckesser) mentioned this possibility to me yesterday
> and I forgot to put it in my post. I assume you mean something like
>
> x = np.arange(3)
> y = np.random.multinomial(30, [0.1,0.2,0.7])
> z = np.repeat(x, y)
> np.random.shuffle(z)
>
> That look right?
>
> -Chris JS
>
>
Yes, exactly.

-=- Olivier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20110831/2ea4c146/attachment.html>


More information about the NumPy-Discussion mailing list