public class EnumeratedRealDistribution extends AbstractRealDistribution
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.
DEFAULT_SOLVER_ABSOLUTE_ACCURACY
Constructor and Description |
---|
EnumeratedRealDistribution(double[] data)
Create a discrete real-valued distribution from the input data.
|
EnumeratedRealDistribution(double[] singletons,
double[] probabilities)
Create a discrete real-valued distribution using the given probability mass function
enumeration.
|
Modifier and Type | Method and Description |
---|---|
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.
|
List<Pair<Double,Double>> |
getPmf()
Return the probability mass function as a list of (value, probability) pairs.
|
double |
getSupportLowerBound()
Access the lower bound of the support.
|
double |
getSupportUpperBound()
Access the upper bound of the support.
|
double |
inverseCumulativeProbability(double p)
Computes the quantile function of this distribution.
|
boolean |
isSupportConnected()
Use this method to get information about whether the support is connected,
i.e.
|
double |
probability(double x)
For a random variable
X whose values are distributed according to
this distribution, this method returns P(X = x) . |
getSolverAbsoluteAccuracy, logDensity, probability
public EnumeratedRealDistribution(double[] data)
data
- input datasetpublic EnumeratedRealDistribution(double[] singletons, double[] probabilities) throws MathIllegalArgumentException
singletons
- array of random variable values.probabilities
- array of probabilities.MathIllegalArgumentException
- if
singletons.length != probabilities.length
MathIllegalArgumentException
- if any of the probabilities are negative.MathIllegalArgumentException
- if any of the probabilities are NaN.MathIllegalArgumentException
- if any of the probabilities are infinite.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.
Note that if x1
and x2
satisfy x1.equals(x2)
,
or both are null, then probability(x1) = probability(x2)
.
x
- the point at which the PMF is evaluatedx
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 evaluatedx
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 evaluatedx
public double inverseCumulativeProbability(double p) throws MathIllegalArgumentException
X
distributed according to this distribution, the
returned value is
inf{x in R | P(X<=x) >= p}
for 0 < p <= 1
,inf{x in R | P(X<=x) > 0}
for p = 0
.RealDistribution.getSupportLowerBound()
for p = 0
,RealDistribution.getSupportUpperBound()
for p = 1
.inverseCumulativeProbability
in interface RealDistribution
inverseCumulativeProbability
in class AbstractRealDistribution
p
- the cumulative probabilityp
-quantile of this distribution
(largest 0-quantile for p = 0
)MathIllegalArgumentException
- if p < 0
or p > 1
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 isSupportConnected()
true
Copyright © 2016–2020 Hipparchus.org. All rights reserved.