Python实现几何分布图(Geometric Distribution)

几何分布(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. 几何分布的典型场景包括:

        • 模拟抛硬币直到出现正面。

        • 模拟抽奖直到中奖。

        • 模拟网络数据包传输的成功尝试次数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔尔助理顾问

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值