类 HypergeometricDistribution

java.lang.Object
org.hipparchus.distribution.discrete.AbstractIntegerDistribution
org.hipparchus.distribution.discrete.HypergeometricDistribution
所有已实现的接口:
Serializable, IntegerDistribution

public class HypergeometricDistribution extends AbstractIntegerDistribution
超几何分布的实现。
另请参阅:
  • 构造器详细资料

    • HypergeometricDistribution

      public HypergeometricDistribution(int populationSize, int numberOfSuccesses, int sampleSize) throws MathIllegalArgumentException
      构造具有指定总体大小、总体中成功次数和样本大小的新超几何分布。
      参数:
      populationSize - 总体大小。
      numberOfSuccesses - 总体中的成功次数。
      sampleSize - 样本大小。
      抛出:
      MathIllegalArgumentException - 如果 numberOfSuccesses < 0
      MathIllegalArgumentException - 如果 populationSize <= 0
      MathIllegalArgumentException - 如果 numberOfSuccesses > populationSize,或 sampleSize > populationSize
  • 方法详细资料

    • cumulativeProbability

      public double cumulativeProbability(int x)
      对于随机变量 X,其值根据此分布进行分布,此方法返回 P(X ≤ x)。换句话说,此方法表示此分布的(累积)分布函数(CDF)。
      参数:
      x - 评估CDF的点
      返回:
      随机变量具有此分布的值小于或等于 x 的概率
    • getNumberOfSuccesses

      public int getNumberOfSuccesses()
      访问成功次数。
      返回:
      成功次数。
    • getPopulationSize

      public int getPopulationSize()
      访问总体大小。
      返回:
      总体大小。
    • getSampleSize

      public int getSampleSize()
      访问样本大小。
      返回:
      样本大小。
    • probability

      public double probability(int x)
      对于随机变量 X,其值根据此分布进行分布,此方法返回 P(X = x)。换句话说,此方法表示分布的概率质量函数(PMF)。
      参数:
      x - 评估PMF的点
      返回:
      x 处的概率质量函数的值
    • logProbability

      public double logProbability(int x)
      对于随机变量 X,其值根据此分布进行分布,此方法返回 log(P(X = x)),其中 log 是自然对数。换句话说,此方法表示分布的概率质量函数(PMF)的对数。请注意,由于浮点精度和下溢/上溢问题,对于某些分布,此方法可能比计算 IntegerDistribution.probability(int) 的对数更精确和更快。

      默认实现只是计算 probability(x) 的对数。

      指定者:
      logProbability 在接口中 IntegerDistribution
      覆盖:
      logProbability 在类中 AbstractIntegerDistribution
      参数:
      x - 评估PMF的点
      返回:
      x 处的概率质量函数的值的对数
    • upperCumulativeProbability

      public double upperCumulativeProbability(int x)
      对于此分布,X,此方法返回 P(X ≥ x)
      参数:
      x - 评估CDF的值。
      返回:
      此分布的上尾CDF。
    • getNumericalMean

      public double getNumericalMean()
      使用此方法获取此分布的均值的数值。对于总体大小 N、成功次数 m 和样本大小 n,均值为 n * m / N
      返回:
      均值或 Double.NaN(如果未定义)
    • getNumericalVariance

      public double getNumericalVariance()
      使用此方法获取此分布的方差的数值。对于总体大小 N、成功次数 m 和样本大小 n,方差为 [n * m * (N - n) * (N - m)] / [N^2 * (N - 1)]
      返回:
      方差(可能为 Double.POSITIVE_INFINITYDouble.NaN,如果未定义)
    • getSupportLowerBound

      public int getSupportLowerBound()
      访问支持的下限。此方法必须返回与 inverseCumulativeProbability(0) 相同的值。换句话说,此方法必须返回

      inf {x in Z | P(X ≤ x) > 0}

      对于总体大小 N、成功次数 m 和样本大小 n,支持的下限为 max(0, n + m - N)
      返回:
      支持的下限
    • getSupportUpperBound

      public int getSupportUpperBound()
      访问支持的上限。此方法必须返回与 inverseCumulativeProbability(1) 相同的值。换句话说,此方法必顙返回

      inf {x in R | P(X ≤ x) = 1}

      对于成功次数 m 和样本大小 n,支持的上限为 min(m, n)
      返回:
      支持的上限
    • isSupportConnected

      public boolean isSupportConnected()
      使用此方法获取有关支持是否连通的信息,即支持是否包括支持的下限和上限之间的所有整数。此分布的支持是连通的。
      返回:
      true