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 Details
-
InverseTransformDiscreteSampler
public InverseTransformDiscreteSampler(UniformRandomProvider rng, DiscreteInverseCumulativeProbabilityFunction function)- Parameters:
rng- Generator of uniformly distributed random numbers.function- Inverse cumulative probability function.
-
-
Method Details
-
sample
public int sample()Creates a sample.- Specified by:
samplein interfaceDiscreteSampler- Returns:
- a sample.
-
toString
public java.lang.String toString()- Overrides:
toStringin classSamplerBase
-