Class InverseTransformSampling
java.lang.Object
dev.nm.stat.random.rng.univariate.InverseTransformSampling
- All Implemented Interfaces:
RandomNumberGenerator
,Seedable
- Direct Known Subclasses:
InverseTransformSamplingExpRNG
,InverseTransformSamplingGammaRNG
,RayleighRNG
,WeibullRNG
Inverse transform sampling (also known as inversion sampling, the inverse probability integral
transform, the inverse transformation method, Smirnov transform, golden rule, etc.)
is a basic method for pseudo-random number sampling,
i.e. for generating sample numbers at random from any probability distribution given its
cumulative distribution function.
This basic idea is this:
to generate a random variable X with a cumulative distribution function F(x) for
all x,
we first sample u from the uniform distribution.
Then, x = F-1(u) = Q(u).
This method requires that F(x) has a continuous density function,
hence, strictly increasing and its inverse well defined.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionInverseTransformSampling
(ProbabilityDistribution distribution) Construct a random number generator to sample from a distribution.InverseTransformSampling
(ProbabilityDistribution distribution, RandomLongGenerator uniform) Construct a random number generator to sample from a distribution. -
Method Summary
Modifier and TypeMethodDescriptiondouble
Get the next randomdouble
.void
seed
(long... seeds) Seed the random number/vector/scenario generator to produce repeatable experiments.
-
Constructor Details
-
InverseTransformSampling
Construct a random number generator to sample from a distribution.- Parameters:
distribution
- the distribution to sample fromuniform
- a uniform random number generator
-
InverseTransformSampling
Construct a random number generator to sample from a distribution.- Parameters:
distribution
- the distribution to sample from
-
-
Method Details
-
seed
public void seed(long... seeds) Description copied from interface:Seedable
Seed the random number/vector/scenario generator to produce repeatable experiments. -
nextDouble
public double nextDouble()Description copied from interface:RandomNumberGenerator
Get the next randomdouble
.- Specified by:
nextDouble
in interfaceRandomNumberGenerator
- Returns:
- the next random number
-