在上一篇的教程中,我们讨论了随机变量以及对应的累积分布函数与概率密度函数。本篇将深入到常见的概率分布之一——二项分布。理解二项分布不仅对基础统计学的重要性不言而喻,也对我们在数据科学与人工智能领域中的应用至关重要。

什么是二项分布?

二项分布是指在进行一系列独立的伯努利实验(即每次实验只有两个可能的结果,例如“成功”与“失败”)后,成功次数的分布。其核心思想是通过多个相同实验结果的重复,来分析成功事件的概率。

二项分布的参数

二项分布由两个参数决定:

nnn:实验的总次数。

ppp:每次实验成功的概率。

我们用随机变量 XXX 来表示在 nnn 次实验中成功的次数。XXX 服从参数为 nnn 和 ppp 的二项分布,记作 X∼B(n,p)X \sim B(n, p)X∼B(n,p)。

二项分布的概率质量函数

二项分布的概率质量函数(PMF)定义为:

P(X=k)=(nk)pk(1−p)n−kP(X = k) = \binom{n}{k} p^k (1-p)^{n-k}P(X=k)=(kn​)pk(1−p)n−k

这里,(nk)\binom{n}{k}(kn​) 是组合数,表示从 nnn 次实验中选择 kkk 次成功的方式。

期望和方差

对于二项分布,期望和方差的公式为:

期望:E(X)=n⋅pE(X) = n \cdot pE(X)=n⋅p

方差:Var(X)=n⋅p⋅(1−p)Var(X) = n \cdot p \cdot (1 - p)Var(X)=n⋅p⋅(1−p)

实际案例

我们以一个简单的抛硬币为例来说明二项分布的应用。假设我们抛一枚均匀的硬币 10 次,每次出现正面的概率为 p=0.5p = 0.5p=0.5。

实验设置:n=10n = 10n=10,p=0.5p = 0.5p=0.5

我们想知道:在 10 次抛掷中,得到正面(成功)次数为 3 的概率。

根据二项分布的概率质量函数,我们可以计算:

P(X=3)=(103)(0.5)3(0.5)10−3=(103)(0.5)10P(X = 3) = \binom{10}{3} (0.5)^3 (0.5)^{10-3} = \binom{10}{3} (0.5)^{10}P(X=3)=(310​)(0.5)3(0.5)10−3=(310​)(0.5)10

计算组合数:

(103)=10!3!⋅7!=10⋅9⋅83⋅2⋅1=120\binom{10}{3} = \frac{10!}{3! \cdot 7!} = \frac{10 \cdot 9 \cdot 8}{3 \cdot 2 \cdot 1} = 120(310​)=3!⋅7!10!​=3⋅2⋅110⋅9⋅8​=120

所以,

P(X=3)=120⋅(0.5)10=120⋅11024≈0.1172P(X = 3) = 120 \cdot (0.5)^{10} = 120 \cdot \frac{1}{1024} \approx 0.1172P(X=3)=120⋅(0.5)10=120⋅10241​≈0.1172

这个结果表明,在 10 次抛掷中得到 3 次正面的概率为约 11.72%。

代码示例

我们可以用 Python 来计算不同成功次数的概率:

import scipy.stats as stats

import matplotlib.pyplot as plt

import numpy as np

n = 10 # 实验次数

p = 0.5 # 成功概率

# 可视化二项分布的概率质量函数

x = np.arange(0, n+1)

pmf = stats.binom.pmf(x, n, p)

plt.bar(x, pmf, color='blue', alpha=0.7)

plt.title(f'Binomial Distribution PMF (n={n}, p={p})')

plt.xlabel('Number of Successes')

plt.ylabel('Probability')

plt.xticks(x)

plt.show()

运行上面的代码可以生成一个条形图,展示在 n=10n=10n=10 次实验中获得不同成功次数的概率分布情况。

小结

在本篇中,我们详细探讨了二项分布的定义、公式以及如何通过实际案例来计算概率。下一篇教程我们将讨论正态分布,这是概率与统计中一个更为复杂且重要的概念。在深入了解正态分布之前,确保对本篇的内容理解透彻,这是非常关键的基础知识。