类 PascalDistribution
java.lang.Object
org.hipparchus.distribution.discrete.AbstractIntegerDistribution
org.hipparchus.distribution.discrete.PascalDistribution
- 所有已实现的接口:
-
Serializable
,IntegerDistribution
Pascal分布的实现。
Pascal分布是负二项分布的特例,其中成功次数参数为整数。
有多种方式可以表示Pascal分布的概率质量和分布函数。当前实现代表了在发生
对于随机变量X
,其值根据此分布进行分布,概率质量函数如下:P(X = k) = C(k + r - 1, r - 1) * p^r * (1 - p)^k,
其中
是成功的概率,X
是失败的总次数。C(n, k)
是二项式系数(n
选择k
)。X
的均值和方差为E(X) = (1 - p) * r / p, var(X) = (1 - p) * r / p^2.
最后,累积分布函数如下:P(X <= k) = I(p, r, k + 1)
,其中I是正则不完全Beta函数。
- 另请参阅:
-
构造器概要
-
方法概要
修饰符和类型方法说明double
cumulativeProbability
(int x) 对于随机变量X
,其值根据此分布进行分布,此方法返回P(X <= x)
。int
访问此分布的成功次数。double
使用此方法获取此分布均值的数值。double
使用此方法获取此分布方差的数值。double
访问此分布的成功概率。int
访问支持的下限。int
访问支持的上限。boolean
使用此方法获取有关支持是否连通的信息,即支持是否包括在支持的下限和上限之间的所有整数。double
logProbability
(int x) 对于随机变量X
,其值根据此分布进行分布,此方法返回log(P(X = x))
,其中log
是自然对数。double
probability
(int x) 对于随机变量X
,其值根据此分布进行分布,此方法返回P(X = x)
。从类继承的方法 org.hipparchus.distribution.discrete.AbstractIntegerDistribution
inverseCumulativeProbability, probability, solveInverseCumulativeProbability
-
构造器详细资料
-
PascalDistribution
创建具有给定成功次数和成功概率的Pascal分布。- 参数:
-
r
- 成功次数。 -
p
- 成功概率。 - 抛出:
-
MathIllegalArgumentException
- 如果成功次数不是正数 -
MathIllegalArgumentException
- 如果成功概率不在范围[0, 1]
内。
-
-
方法详细资料
-
getNumberOfSuccesses
public int getNumberOfSuccesses()访问此分布的成功次数。- 返回:
- 成功次数。
-
getProbabilityOfSuccess
public double getProbabilityOfSuccess()访问此分布的成功概率。- 返回:
- 成功概率。
-
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
处概率质量函数的对数值
-
cumulativeProbability
public double cumulativeProbability(int x) 对于随机变量X
,其值根据此分布进行分布,此方法返回P(X <= x)
。换句话说,此方法表示此分布的(累积)分布函数(CDF)。- 参数:
-
x
- 评估CDF的点 - 返回:
-
随机变量具有此分布的概率小于或等于
x
的概率
-
getNumericalMean
public double getNumericalMean()使用此方法获取此分布均值的数值。对于成功次数r
和成功概率p
,均值为r * (1 - p) / p
。- 返回:
-
均值或
Double.NaN
(如果未定义)
-
getNumericalVariance
public double getNumericalVariance()使用此方法获取此分布方差的数值。对于成功次数r
和成功概率p
,方差为r * (1 - p) / p^2
。- 返回:
-
方差(可能为
Double.POSITIVE_INFINITY
或Double.NaN
,如果未定义)
-
getSupportLowerBound
public int getSupportLowerBound()访问支持的下限。此方法必须返回与inverseCumulativeProbability(0)
相同的值。换句话说,此方法必须返回
支持的下限始终为0,无论参数如何。inf {x in Z | P(X <= x) > 0}
。- 返回:
- 支持的下限(始终为0)
-
getSupportUpperBound
public int getSupportUpperBound()访问支持的上限。此方法必须返回与inverseCumulativeProbability(1)
相同的值。换句话说,此方法必须返回
支持的上限始终为正无穷,无论参数如何。正无穷由inf {x in R | P(X <= x) = 1}
。Integer.MAX_VALUE
表示。- 返回:
-
支持的上限(对于正无穷始终为
Integer.MAX_VALUE
)
-
isSupportConnected
public boolean isSupportConnected()使用此方法获取有关支持是否连通的信息,即支持是否包括在支持的下限和上限之间的所有整数。此分布的支持是连通的。- 返回:
-
true
-