public class EnumeratedIntegerDistribution extends AbstractIntegerDistribution
Implementation of an integer-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.
Modifier and Type | Field and Description |
---|---|
protected EnumeratedDistribution<Integer> |
innerDistribution
EnumeratedDistribution instance (using the Integer wrapper)
used to generate the pmf. |
random, randomData
Constructor and Description |
---|
EnumeratedIntegerDistribution(int[] singletons,
double[] probabilities)
Create a discrete distribution using the given probability mass function
definition.
|
EnumeratedIntegerDistribution(RandomGenerator rng,
int[] singletons,
double[] probabilities)
Create a discrete distribution using the given random number generator
and probability mass function definition.
|
Modifier and Type | Method and Description |
---|---|
double |
cumulativeProbability(int 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.
|
int |
getSupportLowerBound()
Access the lower bound of the support.
|
int |
getSupportUpperBound()
Access the upper bound of the support.
|
boolean |
isSupportConnected()
Use this method to get information about whether the support is
connected, i.e.
|
double |
probability(int x)
For a random variable
X whose values are distributed according
to this distribution, this method returns P(X = x) . |
int |
sample()
Generate a random value sampled from this distribution.
|
cumulativeProbability, inverseCumulativeProbability, logProbability, reseedRandomGenerator, sample, solveInverseCumulativeProbability
protected final EnumeratedDistribution<Integer> innerDistribution
EnumeratedDistribution
instance (using the Integer
wrapper)
used to generate the pmf.public EnumeratedIntegerDistribution(int[] 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 EnumeratedIntegerDistribution(RandomGenerator rng, int[] 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.public double probability(int 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(int 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 getNumericalMean()
sum(singletons[i] * probabilities[i])
public double getNumericalVariance()
sum((singletons[i] - mean) ^ 2 * probabilities[i])
public int getSupportLowerBound()
inverseCumulativeProbability(0)
. In other words, this
method must return
inf {x in Z | P(X <= x) > 0}
.
public int getSupportUpperBound()
inverseCumulativeProbability(1)
. In other words, this
method must return
inf {x in R | P(X <= x) = 1}
.
public boolean isSupportConnected()
true
public int sample()
sample
in interface IntegerDistribution
sample
in class AbstractIntegerDistribution
Copyright © 2003–2014 The Apache Software Foundation. All rights reserved.