几何分布(Geometric Distribution)是一个离散概率分布,用于表示在一次独立重复试验中,直到首次成功所需的试验次数的分布。
几何分布的特点
1. 每次试验的结果只有两种:成功或失败(比如掷硬币)。
2. 每次试验是独立的,且成功的概率 p 是恒定的。
3. 随机变量 X 表示第一次成功发生所需的试验次数。
概率质量函数(PMF)
几何分布的概率质量函数为:
其中:
• k:首次成功发生的试验次数 (k=1, 2, 3, ...)。
• p:单次试验成功的概率。
实际案例:抛硬币
假设我们在抛硬币时想知道,直到第一次出现正面(成功)需要抛掷的次数:
• 每次抛硬币的成功概率p=0.5 。
• 我们想分析 k 次抛掷时的概率分布。
Python 实现
我们将使用 scipy.stats.geom 模块来计算几何分布并绘制分布图。
代码示例
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import geom
# 设置成功概率 p
p = 0.5
# 定义 k 的范围(试验次数)
k = np.arange(1, 11) # 试验次数从 1 到 10
# 计算 PMF(概率质量函数)
pmf_values = geom.pmf(k, p)
# 输出每个 k 的概率
for i, prob in zip(k, pmf_values):
print(f"P(X = {i}) = {prob:.4f}")
# 绘制几何分布图
plt.bar(k, pmf_values, color='skyblue', edgecolor='black')
plt.title("Geometric Distribution (p=0.5)")
plt.xlabel("Number of Trials (k)")
plt.ylabel("Probability P(X = k)")
plt.xticks(k)
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.show()
运行结果
1. 概率输出
P(X = 1) = 0.5000
P(X = 2) = 0.2500
P(X = 3) = 0.1250
P(X = 4) = 0.0625
P(X = 5) = 0.0312
P(X = 6) = 0.0156
P(X = 7) = 0.0078
P(X = 8) = 0.0039
P(X = 9) = 0.0020
P(X = 10) = 0.0010
2. 分布图
• 横轴表示试验次数 k。
• 纵轴表示对应的概率 P(X=k)。
• 概率随着 k 的增加呈指数递减。
更复杂的应用场景
1. 游戏中的中奖
在一个抽奖游戏中,每次抽奖的中奖概率 。我们想知道第一次中奖需要多少次抽奖。
p = 0.1
k = np.arange(1, 21) # 定义试验次数从 1 到 20
pmf_values = geom.pmf(k, p)
plt.bar(k, pmf_values, color='orange', edgecolor='black')
plt.title("Geometric Distribution (p=0.1)")
plt.xlabel("Number of Trials (k)")
plt.ylabel("Probability P(X = k)")
plt.xticks(k)
plt.show()
2. 网络传输
在网络通信中,每次发送数据包的成功概率p=0.9 ,我们想知道成功传输一个数据包需要的尝试次数分布。
总结
1. 几何分布是一种离散分布,用于建模首次成功所需的试验次数。
2. Python 中可以使用 scipy.stats.geom 来计算和模拟几何分布。
3. 几何分布的典型场景包括:
• 模拟抛硬币直到出现正面。
• 模拟抽奖直到中奖。
• 模拟网络数据包传输的成功尝试次数。
标签:plt,试验,Python,成功,次数,pmf,概率,Geometric,Distribution From: https://blog.csdn.net/u013039977/article/details/144262421