# support for truncated normal distribution

4 messages
Open this post in threaded view
|

## support for truncated normal distribution

 I've noticed that there is no truncated normal distribution in NumPy, at least according to the following source: http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.mtrand.RandomState.html, I've written code to generate random deviates from a truncated normal distribution via acceptance-rejection, but this is inefficient when the acceptance probability is low. I assume that NumPy is generating standard normal deviates via the Ziggurat algorithm. That algorithm can be modified to produce random deviates from a truncated normal without the use of acceptance-rejection.  I'd be very grateful if someone can implement this.
Open this post in threaded view
|

## Re: [SciPy-user] support for truncated normal distribution

 On Tue, Mar 15, 2011 at 13:45, Dr. Phillip M. Feldman <[hidden email]> wrote: > > I've noticed that there is no truncated normal distribution in NumPy, at > least according to the following source: > > http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.mtrand.RandomState.html, > > I've written code to generate random deviates from a truncated normal > distribution via acceptance-rejection, but this is inefficient when the > acceptance probability is low. I assume that NumPy is generating standard > normal deviates via the Ziggurat algorithm. That algorithm can be modified > to produce random deviates from a truncated normal without the use of > acceptance-rejection.  I'd be very grateful if someone can implement this. No, we use the Box-Mueller transform, which is not easily truncated. -- 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 _______________________________________________ SciPy-User mailing list [hidden email] http://mail.scipy.org/mailman/listinfo/scipy-user