[net.math] deviates from various distr

anthony@utcsstat.UUCP (Anthony Ayiomamitis) (08/01/85)

	I am looking for references to papers describing how one may generate
random deviates from various distributions (for example, normal, Poisson)
using a uniform random number generator. As many of you may know, micro-
computers have built-in random number generators. However, these only
produce deviates which are uniform and in the range [0,1]. Thus, one must
use some "trick" to get deviates from other distributions.

-- 

       	{allegra,ihnp4,linus,decvax}!utzoo!utcsstat!anthony
        {ihnp4|decvax|utzoo|utcsrgv}!utcs!utzoo!utcsstat!anthony

gwyn@brl-tgr.ARPA (Doug Gwyn <gwyn>) (08/04/85)

> 	I am looking for references to papers describing how one may generate
> random deviates from various distributions ...

See Donald Knuth: The Art of Computer Programming, Vol II --
Seminumerical Algorithms.

norman@lasspvax.UUCP (Norman Ramsey) (08/05/85)

In article <2238@utcsstat.UUCP> anthony@utcsstat.UUCP (Anthony Ayiomamitis) writes:
>
>	I am looking for references to papers describing how one may generate
>random deviates from various distributions (for example, normal, Poisson)
>using a uniform random number generator. As many of you may know, micro-
>computers have built-in random number generators. However, these only
>produce deviates which are uniform and in the range [0,1]. Thus, one must
>use some "trick" to get deviates from other distributions.

This is real easy. I assume you have a probability density function on
[-infinity, infinity] that you want to duplicate. What you do is integrate
this up to yield an integral probability distribution P(x). This is a
monotonic function of x and is zero at - infinity and one at infinity. You
can think of it as the probability of a random variable's being less than x.
Anyway you have this beautiful monotonic thing with a range of [0,1], so you
just invert it, and voila! you have your uniform-to-whatever conversion
function. It's a theorem.
-- 
Norman Ramsey
ARPA: norman@lasspvax  -- or --  norman%lasspvax@cu-arpa.cs.cornell.edu
UUCP: {ihnp4,allegra,...}!cornell!lasspvax!norman
BITNET: (in desperation only) ZSYJARTJ at CORNELLA
        Never eat anything with a shelf life of more than ten years

jrrt@mtuxo.UUCP (r.mitchell) (08/06/85)

I may be out of line here, but if a "deviate" is the same thing as a
"realization" (that is, if you want functions that map random variables 
with a U[0,1] distribution to variables with other distribution functions, 
and if you don't mind a book, instead of a paper, as the reference, try
SIMULATION MODELING AND ANALYSIS by Law and Kelton (McGraw-Hill,
1982).  Chapter 7, "Generating Random Variables," includes a
theoretial as well as practical discussion on generating
Exponential, m-Erlnag, Gamma, Weibull, Normal, Chi-square, Student's
t, F, Lognormal, Beta, Triangular, Bernoulli, Discrete Uniform, Binomial, 
Geometric, Negative Binomial, Poisson, and Empirical/Arbitrary 
distributions from a U[0,1] distribution.

Apologies if I've misunderstood your request. 

Rob Mitchell  {allegra,ihnp4}!mtuxo!jrrt

Es un entreverado loco, lleno de lucidos intervalos.
(He is a muddled fool, full of lucid intervals.  *Don Quixote*)

keithd@cadovax.UUCP (Keith Doyle) (08/06/85)

> 
> 	I am looking for references to papers describing how one may generate
> random deviates from various distributions (for example, normal, Poisson)
> using a uniform random number generator. As many of you may know, micro-
> computers have built-in random number generators. However, these only
> produce deviates which are uniform and in the range [0,1]. Thus, one must
> use some "trick" to get deviates from other distributions.
> 
> -- 
> 
>        	{allegra,ihnp4,linus,decvax}!utzoo!utcsstat!anthony
>         {ihnp4|decvax|utzoo|utcsrgv}!utcs!utzoo!utcsstat!anthony

I'd like to hear about this too.

Keith Doyle
#  {ucbvax,ihnp4,decvax}!trwrb!cadovax!keithd

cline@aero.ARPA (Ken Cline ) (08/06/85)

In article <761@cadovax.UUCP> keithd@cadovax.UUCP (Keith Doyle) writes:
>> 
>> 	I am looking for references to papers describing how one may generate
>> random deviates from various distributions (for example, normal, Poisson)
>> using a uniform random number generator...
>>
>>        	{allegra,ihnp4,linus,decvax}!utzoo!utcsstat!anthony
>>         {ihnp4|decvax|utzoo|utcsrgv}!utcs!utzoo!utcsstat!anthony
>
>I'd like to hear about this too.
>
>Keith Doyle
>#  {ucbvax,ihnp4,decvax}!trwrb!cadovax!keithd

Since there seems to be sufficient interest, I'll reply to the net...
Section 3.4.1 of The Art of Computer Programming, Vol. II, by Knuth contains
a section on numerical distributions.  This is such an excellent book (and
so widely available) that I feel comfortable recommending, even though I am
no expert on this topic.  Knuth mentions "Non-Uniform Random Numbers" by J.
H. Ahrens and U. Dieter, which was "forthcoming" in 1981, as another
reference.

Ken Cline		Cline@Aerospace

jrm@wdl1.UUCP (08/08/85)

  If you get answers to your question regarding generation of random
 distributions, I would be interested in seeing them
              			Jim McGowan
				jrm@ford-wdl1