[SciPy-User] vectorized version of 'multinomial' sampling function

per freem perfreem at gmail.com
Tue Oct 13 17:01:52 EDT 2009


hi all,

i have a series of probability vector that i'd like to feed into
multinomial to get an array of vector outcomes back. for example,
given:

p = array([[ 0.9 ,  0.05,  0.05],
       [ 0.05,  0.05,  0.9 ]])

i'd like to call multinomial like this:

multinomial(1, p)

to get a vector of multinomial samplers, each using the nth list in
'p'. something like:

array([[1, 0, 0], [0, 0 1]]) in this case. is this possible? it seems
like 'multinomial' takes only a one dimensional array. i could write
this as a "for" loop of course but i prefer a vectorized version since
speed is crucial for me here.

thanks very much.



More information about the SciPy-User mailing list