来自docs
zipf的概率质量函数是:
zipf.pmf(k,a)= 1 /(zeta(a)* k ** a) 对于k> = 1。
zipf将
a
作为形状参数。上面的概率质量函数以“标准化”形式定义。要转移分布,请使用loc参数。具体来说,zipf.pmf(k,a,loc)与zipf.pmf(k-loc,a)相同。
但a
和k
指的是什么? “形状参数”是什么意思?
此外,在scipy.stats.zipf.interval
中,还有一个alpha
参数。
.interval()
方法的描述很简单:
包含分布的alpha百分比的范围的端点
alpha
参数的含义是什么?那是“置信区间”吗?
答案 0 :(得分:3)
“形状参数”是什么意思?
顾名思义,形状参数决定了分布的形状。从形状参数不:
开始时,这可能是最容易解释的 location 参数会改变分布,但保持不变。例如,正态分布的均值是位置参数。如果X
通常使用平均值mu
分发,则X + a
通常以均值mu + a
分发。
scale 参数使分布更宽或更窄。例如,正态分布的标准偏差是标度参数。如果X
通常以标准差sigma
分发,则X * a
通常以标准差sigma * a
分发。
最后, shape 参数会更改分布的形状。例如,Gamma distribution有一个形状参数k
,用于确定分布的偏差程度(=向一侧“倾斜”多少)。
但是
a
和k
指的是什么?
k
是由分布参数化的变量。使用zipf.pmf
,您可以计算给定形状参数k
的任何a
的概率。下面的图表演示了a
如何改变分布的形状(不同k的个体概率)。
高a
使得k
的大值变得非常不可能,而较低a
则较小k
,k
可能较小。{ / p>
alpha
参数的含义是什么?那是“置信区间”吗?
说alpha
置信区间是错误的。这是置信度。我猜这就是你的意思。例如,alpha=0.95
表示您有95%的置信区间。如果您从特定分布生成随机k
,则其中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()