11 概率基础之常见概率分布
在上一篇教程中,我们讨论了概率的基本概念,包括事件、样本空间、概率的定义等。这一篇,我们将进一步探讨常见的概率分布,这些分布是理解统计学中概率模型的基础。概率分布为我们提供了随机变量的可能值及其对应的概率。
概率分布的基本概念
首先,让我们理解一下概率分布。概率分布是一种描述随机变量的可能取值及其对应概率的函数。随机变量可以是离散的也可以是连续的,因此我们有两种主要的概率分布类型:
离散概率分布:描述离散随机变量的分布。常见的离散分布有:
- 伯努利分布
- 二项分布
- 泊松分布
连续概率分布:描述连续随机变量的分布。常见的连续分布有:
- 正态分布
- 指数分布
- 均匀分布
接下来,我们将详细讨论每一种分布。
离散概率分布
伯努利分布
伯努利分布
是最简单的离散分布,它描述两种结果(如成功与失败)的随机试验。一个随机变量 $X$ 服从伯努利分布表示为 $X \sim \text{Bernoulli}(p)$,其中 $p$ 是成功的概率。
概率质量函数(PMF)为:
$$
P(X = 1) = p, \quad P(X = 0) = 1 - p
$$
示例:抛一次硬币,正面朝上的概率(成功)为 $p = 0.5$。
二项分布
二项分布
是多个独立伯努利实验结果的总和。如果一个随机变量 $X$ 服从二项分布,表示为 $X \sim \text{Binomial}(n, p)$,其中 $n$ 是实验次数,$p$ 是每次实验成功的概率。
概率质量函数(PMF)为:
$$
P(X = k) = \binom{n}{k} p^k (1-p)^{n-k}, \quad k = 0, 1, \ldots, n
$$
示例:掷 $n = 10$ 次硬币,正面朝上的次数 $X$ 服从 $\text{Binomial}(10, 0.5)$。
泊松分布
泊松分布
用于描述单位时间或单位面积内某事件发生次数的概率。一个随机变量 $X$ 服从泊松分布表示为 $X \sim \text{Poisson}(\lambda)$,其中 $\lambda$ 是在给定区间内的事件平均发生次数。
概率质量函数(PMF)为:
$$
P(X = k) = \frac{\lambda^k e^{-\lambda}}{k!}, \quad k = 0, 1, 2, \ldots
$$
示例:假设一个电话接线员平均每小时接到 5 个电话,则接到 $k$ 个电话的概率为 $X \sim \text{Poisson}(5)$。
连续概率分布
正态分布
正态分布
是最常见的连续分布之一,许多自然现象结合中央极限定理,趋于正态分布。一个随机变量 $X$ 服从正态分布表示为 $X \sim \mathcal{N}(\mu, \sigma^2)$,其中 $\mu$ 是均值,$\sigma^2$ 是方差。
概率密度函数(PDF)为:
$$
f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x - \mu)^2}{2\sigma^2}}
$$
示例:人的身高一般可以用正态分布建模,假设均值为 170 cm,标准差为 10 cm。则身高 $X \sim \mathcal{N}(170, 10^2)$。
指数分布
指数分布
通常用于描述某事件发生的时间间隔,特别是在泊松过程中。如果一个随机变量 $X$ 服从指数分布,表示为 $X \sim \text{Exponential}(\lambda)$,其中 $\lambda$ 是事件的发生率。
概率密度函数(PDF)为:
$$
f(x) = \lambda e^{-\lambda x}, \quad x \geq 0
$$
示例:假设某个机器的故障时间服从指数分布,发生率为 0.1 次/小时,则 $X \sim \text{Exponential}(0.1)$。
均匀分布
均匀分布
表示在某个区间内所有结果的可能性相等。如果一个随机变量 $X$ 在区间 $[a, b]$ 上均匀分布,表示为 $X \sim \text{Uniform}(a, b)$。
概率密度函数(PDF)为:
$$
f(x) = \frac{1}{b - a}, \quad a \leq x \leq b
$$
示例:从 0 到 1 的均匀分布 $X \sim \text{Uniform}(0, 1)$ 表示所有值在这个区间内都是等可能的。
代码示例
以下是使用 Python 的 numpy
和 matplotlib
库生成不同概率分布的示例代码。
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 伯努利分布
p = 0.5
bern = np.random.binomial(1, p, 1000)
sns.histplot(bern, bins=2, kde=False, color='blue')
plt.title('Bernoulli Distribution (p=0.5)')
plt.show()
# 二项分布
n = 10
binom = np.random.binomial(n, p, 1000)
sns.histplot(binom, bins=11, kde=False, color='green')
plt.title('Binomial Distribution (n=10, p=0.5)')
plt.show()
# 正态分布
mu, sigma = 170, 10
normal = np.random.normal(mu, sigma, 1000)
sns.histplot(normal, bins=30,
11 概率基础之常见概率分布