|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.commons.math3.distribution.AbstractIntegerDistribution
public abstract class AbstractIntegerDistribution
Base class for integer-valued discrete distributions. Default implementations are provided for some of the methods that do not vary from distribution to distribution.
| Field Summary | |
|---|---|
protected RandomGenerator |
random
RNG instance used to generate samples from the distribution. |
protected RandomDataImpl |
randomData
Deprecated. As of 3.1, to be removed in 4.0. Please use the random instance variable instead. |
private static long |
serialVersionUID
Serializable version identifier |
| Constructor Summary | |
|---|---|
protected |
AbstractIntegerDistribution()
Deprecated. As of 3.1, to be removed in 4.0. Please use AbstractIntegerDistribution(RandomGenerator) instead. |
protected |
AbstractIntegerDistribution(RandomGenerator rng)
|
| Method Summary | |
|---|---|
private double |
checkedCumulativeProbability(int argument)
Computes the cumulative probability function and checks for NaN
values returned. |
double |
cumulativeProbability(int x0,
int x1)
For a random variable X whose values are distributed according
to this distribution, this method returns P(x0 < X <= x1). |
int |
inverseCumulativeProbability(double p)
Computes the quantile function of this distribution. |
void |
reseedRandomGenerator(long seed)
Reseed the random generator used to generate samples. |
int |
sample()
Generate a random value sampled from this distribution. |
int[] |
sample(int sampleSize)
Generate a random sample from the distribution. |
protected int |
solveInverseCumulativeProbability(double p,
int lower,
int upper)
This is a utility function used by inverseCumulativeProbability(double). |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.apache.commons.math3.distribution.IntegerDistribution |
|---|
cumulativeProbability, getNumericalMean, getNumericalVariance, getSupportLowerBound, getSupportUpperBound, isSupportConnected, probability |
| Field Detail |
|---|
private static final long serialVersionUID
@Deprecated protected final RandomDataImpl randomData
random instance variable instead.
protected final RandomGenerator random
| Constructor Detail |
|---|
@Deprecated protected AbstractIntegerDistribution()
AbstractIntegerDistribution(RandomGenerator) instead.
protected AbstractIntegerDistribution(RandomGenerator rng)
rng - Random number generator.| Method Detail |
|---|
public double cumulativeProbability(int x0,
int x1)
throws NumberIsTooLargeException
X whose values are distributed according
to this distribution, this method returns P(x0 < X <= x1).
The default implementation uses the identity
P(x0 < X <= x1) = P(X <= x1) - P(X <= x0)
cumulativeProbability in interface IntegerDistributionx0 - the exclusive lower boundx1 - the inclusive upper bound
x0 and x1,
excluding the lower and including the upper endpoint
NumberIsTooLargeException - if x0 > x1
public int inverseCumulativeProbability(double p)
throws OutOfRangeException
X distributed according to this distribution,
the returned value is
inf{x in Z | P(X<=x) >= p} for 0 < p <= 1,inf{x in Z | P(X<=x) > 0} for p = 0.int,
then Integer.MIN_VALUE or Integer.MAX_VALUE is returned.
The default implementation returns
IntegerDistribution.getSupportLowerBound() for p = 0,IntegerDistribution.getSupportUpperBound() for p = 1, andsolveInverseCumulativeProbability(double, int, int) for
0 < p < 1.
inverseCumulativeProbability in interface IntegerDistributionp - the cumulative probability
p-quantile of this distribution
(largest 0-quantile for p = 0)
OutOfRangeException - if p < 0 or p > 1
protected int solveInverseCumulativeProbability(double p,
int lower,
int upper)
inverseCumulativeProbability(double). It assumes 0 < p < 1 and
that the inverse cumulative probability lies in the bracket (lower, upper]. The implementation does simple bisection to find the
smallest p-quantile inf{x in Z | P(X<=x) >= p}.
p - the cumulative probabilitylower - a value satisfying cumulativeProbability(lower) < pupper - a value satisfying p <= cumulativeProbability(upper)
p-quantile of this distributionpublic void reseedRandomGenerator(long seed)
reseedRandomGenerator in interface IntegerDistributionseed - the new seedpublic int sample()
sample in interface IntegerDistributionpublic int[] sample(int sampleSize)
sample() in a loop.
sample in interface IntegerDistributionsampleSize - the number of random values to generate
private double checkedCumulativeProbability(int argument)
throws MathInternalError
NaN
values returned. Throws MathInternalError if the value is
NaN. Rethrows any exception encountered evaluating the cumulative
probability function. Throws MathInternalError if the cumulative
probability function returns NaN.
argument - input value
MathInternalError - if the cumulative probability is NaN
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||