7 伯努利分布

7 伯努利分布

1. 什么是伯努利分布?

伯努利分布是一种概率分布,描述了只有两个可能结果的随机试验的结果。通常,这两个结果被标记为“成功”(值为1)和“失败”(值为0)。例如,抛掷一枚硬币,结果可以是“正面”或“反面”。在这个场景中,我们可以将“正面”定义为成功。

伯努利分布的概率质量函数(PMF)可以表示为:

$$
P(X = k) = p^k (1-p)^{1-k} \quad (k = 0, 1)
$$

其中:

  • $p$ 是成功的概率
  • $1-p$ 是失败的概率

2. 伯努利分布的参数

伯努利分布通过一个参数 $p$ 来完全定义,它代表了成功的概率。这里有几个关键点:

  • 如果 $p = 0.5$,那么成功和失败的概率是相等的。
  • 如果 $p = 1$,那么每次实验都会成功;如果 $p = 0$,则每次实验都会失败。

3. 案例分析

假设我们正在进行一次实验,抛一枚硬币。设定“正面”为“成功”,那么我们得到以下数据:

  • 正面出现的概率 $p = 0.5$
  • 反面出现的概率 $1 - p = 0.5$

根据伯努利分布,我们可以计算抛掷硬币一次得到“正面”的概率为:

$$
P(X = 1) = 0.5^1 (1-0.5)^{1-1} = 0.5
$$

同样地,得到“反面”的概率为:

$$
P(X = 0) = 0.5^0 (1-0.5)^{1-1} = 0.5
$$

可以看出,正面和反面的概率是相等的,都是0.5。

4. Python 代码示例

我们可以使用 Python 通过 numpy 库 来模拟伯努利分布的随机事件。以下是如何实现一个简单的伯努利实验:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import numpy as np
import matplotlib.pyplot as plt

# 设置参数
p = 0.5 # 成功的概率
n_trials = 1000 # 实验次数

# 生成伯努利分布的随机样本
data = np.random.binomial(n=1, p=p, size=n_trials)

# 计算成功和失败的次数
success_count = np.sum(data)
failure_count = n_trials - success_count

# 输出结果
print(f'成功次数: {success_count}, 失败次数: {failure_count}')

# 绘制结果图
plt.bar(['成功', '失败'], [success_count, failure_count])
plt.title('伯努利分布实验结果')
plt.ylabel('次数')
plt.show()

运行以上代码后,我们将得到一个条形图,显示成功与失败的次数。由于每次实验是独立的,我们可能会得到不同的结果,但在大样本的情况下,成功和失败的比例会趋近于设定的成功概率 $p$。

5. 伯努利分布的应用

伯努利分布在许多实际应用中是非常有用的,比如:

  • 质量控制(合格或不合格)
  • 在线投票(选票是否支持某个选项)
  • 药物测试(患者是否康复)

结论

伯努利分布是概率论中的基本概念,理解这个分布可以帮助你更好地处理具有二元结果的随机试验。希望通过这些简单的案例和示例代码,你能更加深入地理解伯努利分布的应用和特点。

8 二项分布

8 二项分布

二项分布是概率论中一个非常重要的分布类型,特别适用于那些具有“成功-失败”两种结果的独立实验场景。本文将带领你理解二项分布的基本概念、公式,以及通过案例和代码来加深你的理解。

二项分布的定义

二项分布描述的是在固定次数的独立试验中,某个特定事件发生的次数分布。它的适用场景是每次试验只有两种结果:成功失败

关键参数

二项分布有两个关键参数:

  • $n$:试验的总次数(即样本量)。
  • $p$:每次试验成功的概率。

如果我们定义随机变量 $X$ 表示在 $n$ 次试验中成功的次数,则 $X$ 服从参数为 $n$ 和 $p$ 的二项分布,记作 $X \sim B(n, p)$。

二项分布的概率质量函数

二项分布的概率质量函数(PMF)给出了成功次数 $k$ 的概率公式为:

$$
P(X = k) = \binom{n}{k} p^k (1-p)^{n-k}
$$

其中 $\binom{n}{k}$ 是组合数,表示从 $n$ 次试验中选取 $k$ 次成功的方式。

组合数的计算

组合数的计算公式为:

$$
\binom{n}{k} = \frac{n!}{k!(n-k)!}
$$

案例分析

假设我们有一个简单的投掷硬币的例子。我们投掷一枚公平硬币 10 次,想知道在这 10 次中恰好出现 3 次正面的概率。

在这个例子中:

  • $n = 10$(投掷次数)
  • $p = 0.5$(正面朝上的概率)
  • $k = 3$(我们关心的成功次数)

我们可以用上述的概率质量函数来计算。

计算过程

将参数代入公式,我们得:

$$
P(X = 3) = \binom{10}{3} (0.5)^3 (1-0.5)^{10-3}
$$

首先计算组合数:

$$
\binom{10}{3} = \frac{10!}{3!(10-3)!} = \frac{10 \times 9 \times 8}{3 \times 2 \times 1} = 120
$$

接着代入:

$$
P(X = 3) = 120 \times (0.5)^3 \times (0.5)^7 = 120 \times (0.5)^{10} = 120 \times \frac{1}{1024} \approx 0.1171875
$$

所以,投掷 10 次硬币恰好出现 3 次正面的概率大约是 0.1172。

Python 代码实现

我们也可以用 Python 代码来实现这个计算。使用 scipy 库中的 binom.pmf 方法,可以极大简化计算过程。

1
2
3
4
5
6
7
8
9
10
from scipy.stats import binom

# 参数设置
n = 10 # 投掷次数
p = 0.5 # 成功概率
k = 3 # 成功次数

# 计算概率
probability = binom.pmf(k, n, p)
print(f"P(X = {k}) = {probability:.4f}")

运行此代码,你将得到类似的输出。这样便可以快速计算出二项分布的概率。

小结

二项分布为我们提供了一种非常有效的方式来分析和理解“成功-失败”类型的随机事件。通过掌握二项分布的定义、公式及其在实际中的应用,你将能够更好地处理具有离散成功事件的场景。在以后的学习中,深入探索二项分布的性质和应用将会是你理解更复杂概念的基础。

9 正态分布概述

9 正态分布概述

正态分布是概率论中最重要的概率分布之一,广泛应用于自然和社会科学的各种领域。它的图形呈现为一个对称的钟形曲线,具有许多优良的数学性质。

正态分布的定义

一个随机变量 $X$ 服从正态分布,记作 $X \sim N(\mu, \sigma^2)$,其中 $\mu$ 是均值,$\sigma^2$ 是方差(或标准差 $\sigma$ )。其概率密度函数为:

$$
f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x - \mu)^2}{2\sigma^2}}
$$

在此公式中,$e$ 是自然常数,$x$ 是随机变量的具体取值。

正态分布的性质

  1. 对称性:正态分布相对于均值 $\mu$ 是对称的。也就是说,$P(X < \mu - k) = P(X > \mu + k)$。

  2. 68-95-99.7法则:约68% 的数据位于均值 ± 1 个标准差内,约95% 位于均值 ± 2 个标准差内,约99.7% 位于均值 ± 3 个标准差内。

  3. 线性组合:若 $X_1 \sim N(\mu_1, \sigma_1^2)$ 和 $X_2 \sim N(\mu_2, \sigma_2^2)$,则它们的线性组合 $aX_1 + bX_2$ 仍然服从正态分布。

案例分析

假设某大型工厂生产的零件重量服从正态分布,均值 $\mu = 10$ kg,标准差 $\sigma = 2$ kg。我们可以计算不同范围内零件重量的概率。

示例

计算零件重量大于 12 kg 的概率。

  1. 标准化变换,将 $X = 12$ kg 转换为 Z 分数:

$$
Z = \frac{X - \mu}{\sigma} = \frac{12 - 10}{2} = 1
$$

  1. 查找标准正态分布表,得出 $P(Z < 1) \approx 0.8413$。

  2. 因此,$P(X > 12) = 1 - P(Z < 1) \approx 1 - 0.8413 = 0.1587$。

这意味着大约 15.87% 的零件重量会超过 12 kg。

使用Python绘制正态分布

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats

# 设置均值和标准差
mu = 10
sigma = 2

# 生成x值
x = np.linspace(mu - 4*sigma, mu + 4*sigma, 100)

# 计算正态分布的概率密度
y = stats.norm.pdf(x, mu, sigma)

# 绘制图形
plt.plot(x, y, label='N(10, 2^2)', color='blue')
plt.fill_between(x, y, where=(x > 12), color='red', alpha=0.5, label='P(X > 12)')
plt.title('Normal Distribution N(10, 2^2)')
plt.xlabel('Weight (kg)')
plt.ylabel('Probability Density')
plt.legend()
plt.grid()
plt.show()

这个简单的例子展示了如何使用 matplotlib 进行可视化。填充部分表示了大于 12 kg 的零件重量区域。

总结

正态分布是理解数据背后规律的重要工具,通过掌握其基本性质和应用,可以对许多现实问题进行有效的建模与分析。同时,案例分析和编程实践相结合,可以帮助我们更好地理解这一概念。