Class InverseTransformDiscreteSampler
- java.lang.Object
-
- org.apache.commons.rng.sampling.distribution.SamplerBase
-
- org.apache.commons.rng.sampling.distribution.InverseTransformDiscreteSampler
-
- All Implemented Interfaces:
DiscreteSampler
public class InverseTransformDiscreteSampler extends SamplerBase implements DiscreteSampler
Distribution sampler that uses the inversion method. It can be used to sample any distribution that provides access to its inverse cumulative probability function.Sampling uses
UniformRandomProvider.nextDouble().Example:
import org.apache.commons.math3.distribution.IntegerDistribution; import org.apache.commons.math3.distribution.BinomialDistribution; import org.apache.commons.rng.simple.RandomSource; import org.apache.commons.rng.sampling.distribution.DiscreteSampler; import org.apache.commons.rng.sampling.distribution.InverseTransformDiscreteSampler; import org.apache.commons.rng.sampling.distribution.DiscreteInverseCumulativeProbabilityFunction; // Distribution to sample. final IntegerDistribution dist = new BinomialDistribution(11, 0.56); // Create the sampler. final DiscreteSampler binomialSampler = new InverseTransformDiscreteSampler(RandomSource.create(RandomSource.MT), new DiscreteInverseCumulativeProbabilityFunction() { public int inverseCumulativeProbability(double p) { return dist.inverseCumulativeProbability(p); } }); // Generate random deviate. int random = binomialSampler.sample();- Since:
- 1.0
-
-
Constructor Summary
Constructors Constructor Description InverseTransformDiscreteSampler(UniformRandomProvider rng, DiscreteInverseCumulativeProbabilityFunction function)
-
Method Summary
-
Methods inherited from class org.apache.commons.rng.sampling.distribution.SamplerBase
nextDouble, nextInt, nextInt, nextLong
-
-
-
-
Constructor Detail
-
InverseTransformDiscreteSampler
public InverseTransformDiscreteSampler(UniformRandomProvider rng, DiscreteInverseCumulativeProbabilityFunction function)
- Parameters:
rng- Generator of uniformly distributed random numbers.function- Inverse cumulative probability function.
-
-
Method Detail
-
sample
public int sample()
Creates a sample.- Specified by:
samplein interfaceDiscreteSampler- Returns:
- a sample.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classSamplerBase
-
-