Class HypergeometricDistributionImpl

    • Constructor Detail

      • 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 Detail

      • getDomainLowerBound

        protected int getDomainLowerBound​(double p)
        Access the domain value lower bound, based on p, used to bracket a PDF root.
        Specified by:
        getDomainLowerBound in class AbstractIntegerDistribution
        Parameters:
        p - the desired probability for the critical value
        Returns:
        domain value lower bound, i.e. P(X < lower bound) < p
      • getDomainUpperBound

        protected int getDomainUpperBound​(double p)
        Access the domain value upper bound, based on p, used to bracket a PDF root.
        Specified by:
        getDomainUpperBound in class AbstractIntegerDistribution
        Parameters:
        p - the desired probability for the critical value
        Returns:
        domain value upper bound, i.e. P(X < upper bound) > p
      • 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:
        java.lang.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:
        java.lang.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:
        java.lang.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
      • getNumericalMean

        protected double getNumericalMean()
        Returns the mean. For population size N, number of successes m, and sample size n, the mean is n * m / N
        Returns:
        the mean
        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