|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.math3.distribution.AbstractRealDistribution
org.apache.commons.math3.distribution.EnumeratedRealDistribution
public class EnumeratedRealDistribution
Implementation of a real-valued EnumeratedDistribution
.
Values with zero-probability are allowed but they do not extend the
support.
Duplicate values are allowed. Probabilities of duplicate values are combined
when computing cumulative probabilities and statistics.
Field Summary | |
---|---|
protected EnumeratedDistribution<Double> |
innerDistribution
EnumeratedDistribution (using the Double wrapper)
used to generate the pmf. |
private static long |
serialVersionUID
Serializable UID. |
Fields inherited from class org.apache.commons.math3.distribution.AbstractRealDistribution |
---|
random, randomData, SOLVER_DEFAULT_ABSOLUTE_ACCURACY |
Constructor Summary | |
---|---|
EnumeratedRealDistribution(double[] singletons,
double[] probabilities)
Create a discrete distribution using the given probability mass function enumeration. |
|
EnumeratedRealDistribution(RandomGenerator rng,
double[] singletons,
double[] probabilities)
Create a discrete distribution using the given random number generator and probability mass function enumeration. |
Method Summary | |
---|---|
double |
cumulativeProbability(double x)
For a random variable X whose values are distributed according
to this distribution, this method returns P(X <= x) . |
double |
density(double x)
For a random variable X whose values are distributed according to
this distribution, this method returns P(X = x) . |
double |
getNumericalMean()
Use this method to get the numerical value of the mean of this distribution. |
double |
getNumericalVariance()
Use this method to get the numerical value of the variance of this distribution. |
double |
getSupportLowerBound()
Access the lower bound of the support. |
double |
getSupportUpperBound()
Access the upper bound of the support. |
boolean |
isSupportConnected()
Use this method to get information about whether the support is connected, i.e. |
boolean |
isSupportLowerBoundInclusive()
Whether or not the lower bound of support is in the domain of the density function. |
boolean |
isSupportUpperBoundInclusive()
Whether or not the upper bound of support is in the domain of the density function. |
double |
probability(double x)
For a random variable X whose values are distributed according
to this distribution, this method returns P(X = x) . |
double |
sample()
Generate a random value sampled from this distribution. |
Methods inherited from class org.apache.commons.math3.distribution.AbstractRealDistribution |
---|
cumulativeProbability, getSolverAbsoluteAccuracy, inverseCumulativeProbability, probability, reseedRandomGenerator, sample |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final long serialVersionUID
protected final EnumeratedDistribution<Double> innerDistribution
EnumeratedDistribution
(using the Double
wrapper)
used to generate the pmf.
Constructor Detail |
---|
public EnumeratedRealDistribution(double[] singletons, double[] probabilities) throws DimensionMismatchException, NotPositiveException, MathArithmeticException, NotFiniteNumberException, NotANumberException
singletons
- array of random variable values.probabilities
- array of probabilities.
DimensionMismatchException
- if
singletons.length != probabilities.length
NotPositiveException
- if any of the probabilities are negative.
NotFiniteNumberException
- if any of the probabilities are infinite.
NotANumberException
- if any of the probabilities are NaN.
MathArithmeticException
- all of the probabilities are 0.public EnumeratedRealDistribution(RandomGenerator rng, double[] singletons, double[] probabilities) throws DimensionMismatchException, NotPositiveException, MathArithmeticException, NotFiniteNumberException, NotANumberException
rng
- random number generator.singletons
- array of random variable values.probabilities
- array of probabilities.
DimensionMismatchException
- if
singletons.length != probabilities.length
NotPositiveException
- if any of the probabilities are negative.
NotFiniteNumberException
- if any of the probabilities are infinite.
NotANumberException
- if any of the probabilities are NaN.
MathArithmeticException
- all of the probabilities are 0.Method Detail |
---|
public double probability(double x)
X
whose values are distributed according
to this distribution, this method returns P(X = x)
. In other
words, this method represents the probability mass function (PMF)
for the distribution.
probability
in interface RealDistribution
probability
in class AbstractRealDistribution
x
- the point at which the PMF is evaluated
public double density(double x)
X
whose values are distributed according to
this distribution, this method returns P(X = x)
. In other words,
this method represents the probability mass function (PMF) for the
distribution.
x
- the point at which the PMF is evaluated
x
public double cumulativeProbability(double x)
X
whose values are distributed according
to this distribution, this method returns P(X <= x)
. In other
words, this method represents the (cumulative) distribution function
(CDF) for this distribution.
x
- the point at which the CDF is evaluated
x
public double getNumericalMean()
sum(singletons[i] * probabilities[i])
public double getNumericalVariance()
sum((singletons[i] - mean) ^ 2 * probabilities[i])
public double getSupportLowerBound()
inverseCumulativeProbability(0)
. In other words, this
method must return
inf {x in R | P(X <= x) > 0}
.
public double getSupportUpperBound()
inverseCumulativeProbability(1)
. In other words, this
method must return
inf {x in R | P(X <= x) = 1}
.
public boolean isSupportLowerBoundInclusive()
getSupporLowerBound()
is finite and
density(getSupportLowerBound())
returns a non-NaN, non-infinite
value.
The support of this distribution includes the lower bound.
true
public boolean isSupportUpperBoundInclusive()
getSupportUpperBound()
is finite and
density(getSupportUpperBound())
returns a non-NaN, non-infinite
value.
The support of this distribution includes the upper bound.
true
public boolean isSupportConnected()
true
public double sample()
sample
in interface RealDistribution
sample
in class AbstractRealDistribution
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |