Interface DiscreteDistribution
-
- All Known Subinterfaces:
IntegerDistribution
- All Known Implementing Classes:
AbstractIntegerDistribution,BinomialDistribution,EnumeratedIntegerDistribution,GeometricDistribution,HypergeometricDistribution,PascalDistribution,PoissonDistribution,UniformDiscreteDistribution,ZipfDistribution
public interface DiscreteDistributionInterface for distributions on the integers.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceDiscreteDistribution.SamplerSampling functionality.
-
Method Summary
Modifier and Type Method Description DiscreteDistribution.SamplercreateSampler(UniformRandomProvider rng)Creates a sampler.doublecumulativeProbability(int x)For a random variableXwhose values are distributed according to this distribution, this method returnsP(X <= x).doublegetMean()Gets the mean of this distribution.intgetSupportLowerBound()Gets the lower bound of the support.intgetSupportUpperBound()Gets the upper bound of the support.doublegetVariance()Gets the variance of this distribution.intinverseCumulativeProbability(double p)Computes the quantile function of this distribution.booleanisSupportConnected()Indicates whether the support is connected, i.e.default doublelogProbability(int x)For a random variableXwhose values are distributed according to this distribution, this method returnslog(P(X = x)), wherelogis the natural logarithm.doubleprobability(int x)For a random variableXwhose values are distributed according to this distribution, this method returnsP(X = x).doubleprobability(int x0, int x1)For a random variableXwhose values are distributed according to this distribution, this method returnsP(x0 < X <= x1).
-
-
-
Method Detail
-
logProbability
default double logProbability(int x)
For a random variableXwhose values are distributed according to this distribution, this method returnslog(P(X = x)), wherelogis the natural logarithm.- Parameters:
x- Point at which the PMF is evaluated.- Returns:
- the logarithm of the value of the probability mass function at
x.
-
probability
double probability(int x)
For a random variableXwhose values are distributed according to this distribution, this method returnsP(X = x). In other words, this method represents the probability mass function (PMF) for the distribution.- Parameters:
x- Point at which the PMF is evaluated.- Returns:
- the value of the probability mass function at
x.
-
probability
double probability(int x0, int x1)For a random variableXwhose values are distributed according to this distribution, this method returnsP(x0 < X <= x1).- Parameters:
x0- Lower bound (exclusive).x1- Upper bound (inclusive).- Returns:
- the probability that a random variable with this distribution
will take a value between
x0andx1, excluding the lower and including the upper endpoint. - Throws:
java.lang.IllegalArgumentException- ifx0 > x1.
-
cumulativeProbability
double cumulativeProbability(int x)
For a random variableXwhose values are distributed according to this distribution, this method returnsP(X <= x). In other, words, this method represents the (cumulative) distribution function (CDF) for this distribution.- Parameters:
x- Point at which the CDF is evaluated.- Returns:
- the probability that a random variable with this distribution
takes a value less than or equal to
x.
-
inverseCumulativeProbability
int inverseCumulativeProbability(double p)
Computes the quantile function of this distribution. For a random variableXdistributed according to this distribution, the returned value isinf{x in Z | P(X<=x) >= p}for0 < p <= 1,inf{x in Z | P(X<=x) > 0}forp = 0.
int, thenInteger.MIN_VALUEorInteger.MAX_VALUEis returned.- Parameters:
p- Cumulative probability.- Returns:
- the smallest
p-quantile of this distribution (largest 0-quantile forp = 0). - Throws:
java.lang.IllegalArgumentException- ifp < 0orp > 1.
-
getMean
double getMean()
Gets the mean of this distribution.- Returns:
- the mean, or
Double.NaNif it is not defined.
-
getVariance
double getVariance()
Gets the variance of this distribution.- Returns:
- the variance, or
Double.NaNif it is not defined.
-
getSupportLowerBound
int getSupportLowerBound()
Gets the lower bound of the support. This method must return the same value asinverseCumulativeProbability(0), i.e.inf {x in Z | P(X <= x) > 0}. By convention,Integer.MIN_VALUEshould be substituted for negative infinity.- Returns:
- the lower bound of the support.
-
getSupportUpperBound
int getSupportUpperBound()
Gets the upper bound of the support. This method must return the same value asinverseCumulativeProbability(1), i.e.inf {x in R | P(X <= x) = 1}. By convention,Integer.MAX_VALUEshould be substituted for positive infinity.- Returns:
- the upper bound of the support.
-
isSupportConnected
boolean isSupportConnected()
Indicates whether the support is connected, i.e. whether all integers between the lower and upper bound of the support are included in the support.- Returns:
- whether the support is connected.
-
createSampler
DiscreteDistribution.Sampler createSampler(UniformRandomProvider rng)
Creates a sampler.- Parameters:
rng- Generator of uniformly distributed numbers.- Returns:
- a sampler that produces random numbers according this distribution.
-
-