public class InverseTransformContinuousSampler extends SamplerBase implements ContinuousSampler
Example:
import org.apache.commons.math3.distribution.RealDistribution;
import org.apache.commons.math3.distribution.ChiSquaredDistribution;
import org.apache.commons.rng.simple.RandomSource;
import org.apache.commons.rng.sampling.distribution.ContinuousSampler;
import org.apache.commons.rng.sampling.distribution.InverseTransformContinuousSampler;
import org.apache.commons.rng.sampling.distribution.ContinuousInverseCumulativeProbabilityFunction;
// Distribution to sample.
final RealDistribution dist = new ChiSquaredDistribution(9);
// Create the sampler.
final ContinuousSampler chiSquareSampler =
new InverseTransformContinuousSampler(RandomSource.create(RandomSource.MT),
new ContinuousInverseCumulativeProbabilityFunction() {
public double inverseCumulativeProbability(double p) {
return dist.inverseCumulativeProbability(p);
}
});
// Generate random deviate.
double random = chiSquareSampler.sample();
| Constructor and Description |
|---|
InverseTransformContinuousSampler(UniformRandomProvider rng,
ContinuousInverseCumulativeProbabilityFunction function) |
| Modifier and Type | Method and Description |
|---|---|
double |
sample()
Creates a sample.
|
String |
toString() |
nextDouble, nextInt, nextIntpublic InverseTransformContinuousSampler(UniformRandomProvider rng, ContinuousInverseCumulativeProbabilityFunction function)
rng - Generator of uniformly distributed random numbers.function - Inverse cumulative probability function.public double sample()
sample in interface ContinuousSamplerpublic String toString()
toString in class SamplerBaseCopyright © 2016 The Apache Software Foundation. All rights reserved.