Class HyperGeometricDistribution

java.lang.Object
smile.stat.distribution.DiscreteDistribution
smile.stat.distribution.HyperGeometricDistribution
All Implemented Interfaces:
Serializable, Distribution

public class HyperGeometricDistribution extends DiscreteDistribution
The hypergeometric distribution is a discrete probability distribution that describes the number of successes in a sequence of n draws from a finite population without replacement, just as the binomial distribution describes the number of successes for draws with replacement.

Suppose you are to draw "n" balls without replacement from an urn containing "N" balls in total, "m" of which are white. The hypergeometric distribution describes the distribution of the number of white balls drawn from the urn.

See Also:
  • Field Details

    • N

      public final int N
      The number of total samples.
    • m

      public final int m
      The number of defects.
    • n

      public final int n
      The number of draws.
  • Constructor Details

    • HyperGeometricDistribution

      public HyperGeometricDistribution(int N, int m, int n)
      Constructor.
      Parameters:
      N - the number of total samples.
      m - the number of defects.
      n - the number of draws.
  • Method Details

    • length

      public int length()
      Description copied from interface: Distribution
      Returns the number of parameters of the distribution. The "length" is in the sense of the minimum description length principle.
      Returns:
      The number of parameters.
    • mean

      public double mean()
      Description copied from interface: Distribution
      Returns the mean of distribution.
      Returns:
      The mean.
    • variance

      public double variance()
      Description copied from interface: Distribution
      Returns the variance of distribution.
      Returns:
      The variance.
    • entropy

      public double entropy()
      Description copied from interface: Distribution
      Returns Shannon entropy of the distribution.
      Returns:
      Shannon entropy.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • p

      public double p(int k)
      Description copied from class: DiscreteDistribution
      The probability mass function.
      Specified by:
      p in class DiscreteDistribution
      Parameters:
      k - a real value.
      Returns:
      the probability.
    • logp

      public double logp(int k)
      Description copied from class: DiscreteDistribution
      The probability mass function in log scale.
      Specified by:
      logp in class DiscreteDistribution
      Parameters:
      k - a real value.
      Returns:
      the log probability.
    • cdf

      public double cdf(double k)
      Description copied from interface: Distribution
      Cumulative distribution function. That is the probability to the left of x.
      Parameters:
      k - a real number.
      Returns:
      the probability.
    • quantile

      public double quantile(double p)
      Description copied from interface: Distribution
      The quantile, the probability to the left of quantile is p. It is actually the inverse of cdf.
      Parameters:
      p - the probability.
      Returns:
      the quantile.
    • rand

      public double rand()
      Uses inversion by chop-down search from the mode when the mean < 20 and the patchwork-rejection method when the mean >= 20.
      Returns:
      a random number.