public class HypergeometricDistribution extends AbstractIntegerDistribution
random
Constructor and Description |
---|
HypergeometricDistribution(int populationSizeIn,
int numberOfSuccessesIn,
int sampleSizeIn)
Construct a new hypergeometric distribution with the specified population
size, number of successes in the population, and sample size.
|
HypergeometricDistribution(RandomGenerator rngIn,
int populationSizeIn,
int numberOfSuccessesIn,
int sampleSizeIn)
Creates a new hypergeometric distribution.
|
Modifier and Type | Method and Description |
---|---|
protected double |
calculateNumericalVariance()
Used by
getNumericalVariance() . |
double |
cumulativeProbability(int x)
For a random variable
X whose values are distributed according
to this distribution, this method returns P(X <= x) . |
int |
getNumberOfSuccesses()
Access the number of successes.
|
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 |
getPopulationSize()
Access the population size.
|
int |
getSampleSize()
Access the sample size.
|
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. whether all integers between the lower and upper bound of
the support are included in the support.
|
double |
probability(int x)
For a random variable
X whose values are distributed according
to this distribution, this method returns P(X = x) . |
double |
upperCumulativeProbability(int x)
For this distribution,
X , this method returns P(X >= x) . |
cumulativeProbability, inverseCumulativeProbability, reseedRandomGenerator, sample, sample, solveInverseCumulativeProbability
public HypergeometricDistribution(int populationSizeIn, int numberOfSuccessesIn, int sampleSizeIn)
populationSizeIn
- Population size.numberOfSuccessesIn
- Number of successes in the population.sampleSizeIn
- Sample size.NotPositiveException
- if numberOfSuccesses < 0
.NotStrictlyPositiveException
- if populationSize <= 0
.NumberIsTooLargeException
- if numberOfSuccesses > populationSize
,
or sampleSize > populationSize
.public HypergeometricDistribution(RandomGenerator rngIn, int populationSizeIn, int numberOfSuccessesIn, int sampleSizeIn)
rngIn
- Random number generator.populationSizeIn
- Population size.numberOfSuccessesIn
- Number of successes in the population.sampleSizeIn
- Sample size.NotPositiveException
- if numberOfSuccesses < 0
.NotStrictlyPositiveException
- if populationSize <= 0
.NumberIsTooLargeException
- if numberOfSuccesses > populationSize
,
or sampleSize > populationSize
.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 int getNumberOfSuccesses()
public int getPopulationSize()
public int getSampleSize()
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 upperCumulativeProbability(int x)
X
, this method returns P(X >= x)
.x
- Value at which the CDF is evaluated.public double getNumericalMean()
N
, number of successes m
, and sample
size n
, the mean is n * m / N
.Double.NaN
if it is not definedpublic double getNumericalVariance()
N
, number of successes m
, and sample
size n
, the variance is [n * m * (N - n) * (N - m)] / [N^2 * (N - 1)]
.Double.POSITIVE_INFINITY
or Double.NaN
if it is not defined)protected double calculateNumericalVariance()
getNumericalVariance()
.public int getSupportLowerBound()
inverseCumulativeProbability(0)
. In other words, this
method must return
inf {x in Z | P(X <= x) > 0}
.
N
, number of successes m
, and sample
size n
, the lower bound of the support is max(0, n + m - N)
.public int getSupportUpperBound()
inverseCumulativeProbability(1)
. In other words, this
method must return
inf {x in R | P(X <= x) = 1}
.
m
and sample size n
, the upper
bound of the support is min(m, n)
.public boolean isSupportConnected()
true
Copyright © 2021 CNES. All rights reserved.