类 ZipfDistribution
java.lang.Object
org.hipparchus.distribution.discrete.AbstractIntegerDistribution
org.hipparchus.distribution.discrete.ZipfDistribution
- 所有已实现的接口:
-
Serializable,IntegerDistribution
Zipf分布的实现。
参数: 对于随机变量X,其值根据此分布进行分布,概率质量函数如下
P(X = k) = H(N,s) * 1 / k^s 对于k = 1,2,...,N。
H(N,s)是归一化常数,对应于s的N阶广义调和数。
N是元素的数量s是指数
- 另请参阅:
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明protected doubleprotected doubledoublecumulativeProbability(int x) 对于随机变量X,其值根据此分布进行分布,此方法返回P(X ≤ x)。double获取表征分布的指数。int获取分布的元素数量(例如,语料库大小)。double使用此方法获取此分布的均值的数值。double使用此方法获取此分布的方差的数值。int访问支持的下界。int访问支持的上界。boolean使用此方法获取有关支持是否连通的信息,即支持是否包括在支持的下界和上界之间的所有整数。doublelogProbability(int x) 对于随机变量X,其值根据此分布进行分布,此方法返回log(P(X = x)),其中log是自然对数。doubleprobability(int x) 对于随机变量X,其值根据此分布进行分布,此方法返回P(X = x)。从类继承的方法 org.hipparchus.distribution.discrete.AbstractIntegerDistribution
inverseCumulativeProbability, probability, solveInverseCumulativeProbability
-
构造器详细资料
-
ZipfDistribution
创建具有给定元素数量和指数的新Zipf分布。- 参数:
-
numberOfElements- 元素数量。 -
exponent- 指数。 - 抛出:
-
MathIllegalArgumentException- 如果numberOfElements ≤ 0或exponent ≤ 0。
-
-
方法详细资料
-
getNumberOfElements
public int getNumberOfElements()获取分布的元素数量(例如,语料库大小)。- 返回:
- 元素数量
-
getExponent
public double getExponent()获取表征分布的指数。- 返回:
- 指数
-
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()使用此方法获取此分布的均值的数值。对于元素数量N和指数s,均值为Hs1 / Hs,其中Hs1 = generalizedHarmonic(N, s - 1),Hs = generalizedHarmonic(N, s)。
- 返回:
-
均值或
Double.NaN(如果未定义)
-
calculateNumericalMean
protected double calculateNumericalMean()- 返回:
- 此分布的均值
-
getNumericalVariance
public double getNumericalVariance()使用此方法获取此分布的方差的数值。对于元素数量N和指数s,均值为(Hs2 / Hs) - (Hs1^2 / Hs^2),其中Hs2 = generalizedHarmonic(N, s - 2),Hs1 = generalizedHarmonic(N, s - 1),Hs = generalizedHarmonic(N, s)。
- 返回:
-
方差(可能为
Double.POSITIVE_INFINITY或Double.NaN,如果未定义)
-
calculateNumericalVariance
protected double calculateNumericalVariance()- 返回:
- 此分布的方差
-
getSupportLowerBound
public int getSupportLowerBound()访问支持的下界。此方法必须返回与inverseCumulativeProbability(0)相同的值。换句话说,此方法必须返回
支持的下界始终为1,无论参数如何。inf {x in Z | P(X ≤ x) > 0}。- 返回:
- 支持的下界(始终为1)
-
getSupportUpperBound
public int getSupportUpperBound()访问支持的上界。此方法必须返回与inverseCumulativeProbability(1)相同的值。换句话说,此方法必须返回
支持的上界为元素的数量。inf {x in R | P(X ≤ x) = 1}。- 返回:
- 支持的上界
-
isSupportConnected
public boolean isSupportConnected()使用此方法获取有关支持是否连通的信息,即支持是否包括在支持的下界和上界之间的所有整数。此分布的支持是连通的。- 返回:
-
true
-