概率基础——几何分布
本文介绍了几何分布及Python实现,利用了函数包的各个方法计算出各个理论统计值,利用采样样本数据计算出来的值和理论值基本算都是相等的。
概率基础——几何分布
介绍
在统计学中,几何分布是描述了在一系列独立同分布的伯努利试验中,第一次成功所需的试验次数的概率分布。在连续抛掷硬币的试验中,每次抛掷结果为正面向上的概率为 p p p,反面向上的概率为 1 − p 1-p 1−p。几何随机变量 X X X表示连续抛掷硬币直到第一次出现正面向上的试验次数。
理论及公式
几何分布的概率质量函数(PMF)为:
P ( X = k ) = ( 1 − p ) k − 1 × p P(X = k) = (1 - p)^{k-1} \times p P(X=k)=(1−p)k−1×p
其中,
k
k
k是试验次数,
p
p
p 是每次试验成功(正面向上)的概率。
几何分布的期望和方差可以通过其概率质量函数得到。设几何随机变量为
X
X
X,表示第一次成功所需的试验次数。
- 期望(均值):
E ( X ) = 1 p E(X) = \frac{1}{p} E(X)=p1
- 方差:
V a r ( X ) = 1 − p p 2 Var(X) = \frac{1-p}{p^2} Var(X)=p21−p
其中, p p p是每次试验成功(正面向上)的概率。
这些公式可以帮助我们计算几何分布的期望和方差,从而更好地理解该分布的特征和性质。
示例与绘图
接下来,我们将使用Python来实现绘制几何分布的概率质量函数图。
import matplotlib.pyplot as plt
from scipy.stats import geom
fig, ax = plt.subplots(2, 1)
params = [0.5, 0.3]
x = range(1, 11)
for i in range(len(params)):
geom_rv = geom(params[i])
ax[i].plot(x, geom_rv.pmf(x), 'ro', lw=5, alpha=0.6, label='Geometric PMF')
ax[i].vlines(x, 0, geom_rv.pmf(x), colors='r')
ax[i].set_xlim(0, 10)
ax[i].set_ylim(0, 0.6)
ax[i].set_title('p = %.2f' % params[i])
ax[i].set_xticks(x)
ax[i].set_yticks([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6])
ax[i].grid(ls='--')
plt.show()
运行以上代码,将会得到一个几何分布的概率质量函数图。从图中可以看出,随着试验次数的增加,成功的概率逐渐减小,但总体上呈指数下降的趋势。这是因为每次试验成功的概率 p p p乘以 ( 1 − p ) k − 1 (1-p)^{k-1} (1−p)k−1,随着 k k k的增加, ( 1 − p ) k − 1 (1-p)^{k-1} (1−p)k−1的值逐渐减小,从而导致整体概率下降。
from scipy.stats import geom
import matplotlib.pyplot as plt
x = range(1, 20)
geom_rv = geom(p=0.5)
geom_rvs = geom_rv.rvs(size=100000)
plt.hist(geom_rvs, bins=20, density=True, alpha=0.75, edgecolor='black')
plt.gca().axes.set_xticks(range(1, 20))
mean, var, skew, kurt = geom_rv.stats(moments='mvsk')
print("Mean:", mean)
print("Variance:", var)
plt.grid(ls='--')
plt.show()
总结
本文介绍了几何分布及Python实现,利用了函数包的各个方法计算出各个理论统计值,利用采样样本数据计算出来的值和理论值基本算都是相等的。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)