概率基础——几何分布

介绍

在统计学中,几何分布是描述了在一系列独立同分布的伯努利试验中,第一次成功所需的试验次数的概率分布。在连续抛掷硬币的试验中,每次抛掷结果为正面向上的概率为 p p p,反面向上的概率为 1 − p 1-p 1p。几何随机变量 X X X表示连续抛掷硬币直到第一次出现正面向上的试验次数。

理论及公式

几何分布的概率质量函数(PMF)为:

P ( X = k ) = ( 1 − p ) k − 1 × p P(X = k) = (1 - p)^{k-1} \times p P(X=k)=(1p)k1×p

其中, k k k是试验次数, p p p 是每次试验成功(正面向上)的概率。
几何分布的期望和方差可以通过其概率质量函数得到。设几何随机变量为 X X X,表示第一次成功所需的试验次数。

  1. 期望(均值)

E ( X ) = 1 p E(X) = \frac{1}{p} E(X)=p1

  1. 方差

V a r ( X ) = 1 − p p 2 Var(X) = \frac{1-p}{p^2} Var(X)=p21p

其中, 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} (1p)k1,随着 k k k的增加, ( 1 − p ) k − 1 (1-p)^{k-1} (1p)k1的值逐渐减小,从而导致整体概率下降。

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实现,利用了函数包的各个方法计算出各个理论统计值,利用采样样本数据计算出来的值和理论值基本算都是相等的。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐