Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Non-uniform random variate generation

From Wikipedia, the free encyclopedia
(Redirected fromPseudo-random number sampling)

Generating pseudo-random numbers that follow a probability distribution

Non-uniform random variate generation orpseudo-random number sampling is thenumerical practice of generatingpseudo-random numbers (PRN) that follow a givenprobability distribution.Methods are typically based on the availability of auniformly distributedPRN generator. Computational algorithms are then used to manipulate a singlerandom variate,X, or often several such variates, into a new random variateY such that these values have the required distribution.The first methods were developed forMonte-Carlo simulations in theManhattan Project,[citation needed] published byJohn von Neumann in the early 1950s.[1]

Finite discrete distributions

[edit]

For adiscrete probability distribution with a finite numbern of indices at which theprobability mass functionf takes non-zero values, the basic sampling algorithm is straightforward. The interval [0, 1) is divided inn intervals [0, f(1)), [f(1), f(1) + f(2)), ... The width of intervali equals the probability f(i).One draws a uniformly distributed pseudo-random numberX, and searches for the indexi of the corresponding interval. The so determinedi will have the distribution f(i).

Formalizing this idea becomes easier by using the cumulative distribution function

F(i)=j=1if(j).{\displaystyle F(i)=\sum _{j=1}^{i}f(j).}

It is convenient to setF(0) = 0. Then intervals are then simply [F(0), F(1)), [F(1), F(2)), ..., [F(n − 1), F(n)). The main computational task is then to determinei for whichF(i − 1) ≤ X < F(i).

This can be done by different algorithms:

Continuous distributions

[edit]

Generic methods for generatingindependent samples:

Generic methods for generatingcorrelated samples (often necessary for unusually-shaped or high-dimensional distributions):

For generating anormal distribution:

For generating aPoisson distribution:

Software libraries

[edit]
Random distributions provided by software libraries
LibraryBetaBinomialCauchyChi-squaredDirichletExponentialFGammaGeometricGumbelHypergeometricLaplaceLogisticLog-normalLogarithmicMultinomialMultivariate hypergeometricMultivariate normalNegative binomialNoncentral chi-squaredNoncentral FNormalParetoPoissonPowerRayleighStudents's tTriangularvon MisesWaldZeta
NumPyYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYes
GNU Scientific Library[5]YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesNoYesYesNoNoYesYesYes?YesYesNoNoNoNo

See also

[edit]

Footnotes

[edit]
  1. ^Von Neumann, John (1951)."Various Techniques Used in Connection with Random Digits"(PDF). In Householder, A. S.; Forsythe, G. E.; Germond, H. H. (eds.).Monte Carlo Methods. National Bureau of Standards Applied Mathematics Series. Vol. 12. US Government Printing Office. pp. 36–38.Any one who considers arithmetical methods of producing random digits is of course, in a state of sin. Also online is alow-quality scan of the original publication.
  2. ^Ripley (1987)[page needed]
  3. ^Fishman (1996)[page needed]
  4. ^Fishman (1996)[page needed]
  5. ^"Random Number Distributions - GSL 2.7 documentation".The GNU Operating System and the Free Software Movement. Retrieved2022-08-18.

Literature

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Non-uniform_random_variate_generation&oldid=1296802325"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp