Class HypergeometricDistributionImpl

All Implemented Interfaces:
Serializable, DiscreteDistribution, Distribution, HypergeometricDistribution, IntegerDistribution

public class HypergeometricDistributionImpl extends AbstractIntegerDistribution implements HypergeometricDistribution, Serializable
The default implementation of HypergeometricDistribution.
See Also:
  • Constructor Details

    • HypergeometricDistributionImpl

      public HypergeometricDistributionImpl(int populationSize, int numberOfSuccesses, int sampleSize)
      Construct a new hypergeometric distribution with the given the population size, the number of successes in the population, and the sample size.
      Parameters:
      populationSize - the population size.
      numberOfSuccesses - number of successes in the population.
      sampleSize - the sample size.
  • Method Details

    • cumulativeProbability

      public double cumulativeProbability(int x)
      For this distribution, X, this method returns P(X ≤ x).
      Specified by:
      cumulativeProbability in interface IntegerDistribution
      Specified by:
      cumulativeProbability in class AbstractIntegerDistribution
      Parameters:
      x - the value at which the PDF is evaluated.
      Returns:
      PDF for this distribution.
    • getNumberOfSuccesses

      public int getNumberOfSuccesses()
      Access the number of successes.
      Specified by:
      getNumberOfSuccesses in interface HypergeometricDistribution
      Returns:
      the number of successes.
    • getPopulationSize

      public int getPopulationSize()
      Access the population size.
      Specified by:
      getPopulationSize in interface HypergeometricDistribution
      Returns:
      the population size.
    • getSampleSize

      public int getSampleSize()
      Access the sample size.
      Specified by:
      getSampleSize in interface HypergeometricDistribution
      Returns:
      the sample size.
    • probability

      public double probability(int x)
      For this distribution, X, this method returns P(X = x).
      Specified by:
      probability in interface IntegerDistribution
      Parameters:
      x - the value at which the PMF is evaluated.
      Returns:
      PMF for this distribution.
    • setNumberOfSuccesses

      @Deprecated public void setNumberOfSuccesses(int num)
      Deprecated.
      as of 2.1 (class will become immutable in 3.0)
      Modify the number of successes.
      Specified by:
      setNumberOfSuccesses in interface HypergeometricDistribution
      Parameters:
      num - the new number of successes.
      Throws:
      IllegalArgumentException - if num is negative.
    • setPopulationSize

      @Deprecated public void setPopulationSize(int size)
      Deprecated.
      as of 2.1 (class will become immutable in 3.0)
      Modify the population size.
      Specified by:
      setPopulationSize in interface HypergeometricDistribution
      Parameters:
      size - the new population size.
      Throws:
      IllegalArgumentException - if size is not positive.
    • setSampleSize

      @Deprecated public void setSampleSize(int size)
      Deprecated.
      as of 2.1 (class will become immutable in 3.0)
      Modify the sample size.
      Specified by:
      setSampleSize in interface HypergeometricDistribution
      Parameters:
      size - the new sample size.
      Throws:
      IllegalArgumentException - if size is negative.
    • upperCumulativeProbability

      public double upperCumulativeProbability(int x)
      For this distribution, X, this method returns P(X ≥ x).
      Parameters:
      x - the value at which the CDF is evaluated.
      Returns:
      upper tail CDF for this distribution.
      Since:
      1.1
    • getSupportLowerBound

      public int getSupportLowerBound()
      Returns the lower bound for the support for the distribution. For population size N, number of successes m, and sample size n, the lower bound of the support is max(0, n + m - N)
      Returns:
      lower bound of the support
      Since:
      2.2
    • getSupportUpperBound

      public int getSupportUpperBound()
      Returns the upper bound for the support of the distribution. For number of successes m and sample size n, the upper bound of the support is min(m, n)
      Returns:
      upper bound of the support
      Since:
      2.2
    • getNumericalVariance

      public double getNumericalVariance()
      Returns the variance. For population size N, number of successes m, and sample size n, the variance is [ n * m * (N - n) * (N - m) ] / [ N^2 * (N - 1) ]
      Returns:
      the variance
      Since:
      2.2