scipy.stats.zipf中的参数是什么意思?

What does the parameters in scipy.stats.zipf mean?

来自docs

The probability mass function for zipf is:

zipf.pmf(k, a) = 1/(zeta(a) * k**a) for k >= 1.

zipf takes a as shape parameter.

The probability mass function above is defined in the “standardized” form. To shift distribution use the loc parameter. Specifically, zipf.pmf(k, a, loc) is identically equivalent to zipf.pmf(k - loc, a).

但是ak指的是什么? “形状参数”是什么意思?

此外,在 scipy.stats.zipf.interval 中,有一个 alpha 参数。

.interval()方法的描述很简单:

Endpoints of the range that contains alpha percent of the distribution

alpha参数是什么意思?是“置信区间”吗?

What does "shape parameter" mean?

顾名思义,形状参数决定分布的形状。从什么是形状参数开始,这可能是最容易解释的 not:

  1. A location 参数改变了分布但在其他方面保持不变。例如,正态分布的均值是一个位置参数。如果 X 服从均值 mu 的正态分布,则 X + a 服从均值 mu + a 的正态分布。

  2. A scale 参数使分布更宽或更窄。例如,正态分布的标准差是一个尺度参数。如果 X 服从标准差 sigma 的正态分布,则 X * a 服从标准差 sigma * a 的正态分布。

  3. 最后,shape 参数改变分布的形状。例如,Gamma distribution 有一个形状参数 k,它决定了分布的偏斜程度(= "leans" 偏向一侧的程度)。

But what does the a and k refer to?

k是分布参数化的变量。使用 zipf.pmf,您可以计算任何 k 的概率,给定形状参数 a。下面的图表演示了 a 如何改变分布的形状(不同 k 的个体概率)。

a 使得 k 的大值不太可能,而低 a 使得小 k 的可能性较小而较大的 k 是可能的.

What does the alpha parameter mean? Is that the "confidence interval"?

alpha 置信区间是错误的。这是 置信水平 。我想这就是你的意思。例如,alpha=0.95 表示您有 95% 的置信区间。如果您从特定分布生成随机 ks,其中 95% 将在 zipf.interval.

返回的范围内

剧情代码:

from scipy.stats import zipf
import matplotlib.pyplot as plt
import numpy as np

k = np.linspace(0, 10, 101)

for a in [1.3, 2.6]:
    p = zipf.pmf(k, a=a)

    plt.plot(k, p, label='a={}'.format(a), linewidth=2)

plt.xlabel('k')
plt.ylabel('probability')

plt.legend()
plt.show()