如何在Python中创建泊松概率质量函数图?


泊松分布是一种概率分布,它在给定平均发生率的情况下,对固定时间或空间间隔内事件的发生进行建模。它通常用于物理学、工程学和经济学等领域,对粒子的到达、组件的故障或客户的到达进行建模。

可视化泊松分布的一种方法是绘制其概率质量函数 (PMF),它显示了给定区间内可能发生的每个事件数的概率。在 Python 中,我们可以使用 SciPy 库生成泊松分布的 PMF,然后使用 Matplotlib 绘制它。

在本文中,我们将探讨如何使用 SciPy 和 Matplotlib 在 Python 中创建泊松 PMF 图。我们将为泊松参数的不同值生成 PMF,并使用条形图可视化结果。

现在让我们讨论一下我们可以用来创建泊松概率质量函数的不同方法。

  • 使用 Scipy 库:Scipy 是一个流行的科学计算库,其中包含用于生成和可视化概率分布的函数。

  • 使用 NumPy 和 Matplotlib:NumPy 是 Python 的科学计算库,其中包含用于生成随机数数组的函数。

在本文中,我们将通过示例讨论这两种方法。

使用 scipy 库

请考虑以下代码。

示例

import numpy as np
from scipy.stats import poisson
import matplotlib.pyplot as plt

# Set the Poisson parameter and the range of k values
lam = 2
k_values = np.arange(0, 11)

# Calculate the PMF using the Scipy library
pmf_values = poisson.pmf(k_values, lam)

# Plot the PMF using Matplotlib
plt.plot(k_values, pmf_values, 'bo-', linewidth=2)
plt.xlabel('Number of events')
plt.ylabel('Probability')
plt.title('Poisson PMF (lambda=2)')
plt.grid(True)
plt.show()

解释

  • 我们首先导入必要的库:NumPy、Scipy 和 Matplotlib。

  • 我们将泊松参数 lambda 设置为 2,它定义了泊松分布中事件发生的速率。

  • 我们定义了从 0 到 10 的 k 值范围,它们代表事件的数量。

  • 我们使用 Scipy 库中的 poisson.pmf() 函数计算给定 lambda 和 k 值的 PMF 值。

  • 我们使用 Matplotlib 的 plt.plot() 函数绘制 PMF 值,使用蓝色圆圈 ('bo-') 作为标记,线宽为 2。我们还添加了 x 轴、y 轴和绘图标题的标签,以及一个网格以帮助可视化。

  • 最后,我们使用 plt.show() 函数显示绘图。

要运行以下代码,我们首先需要安装 scipy 库,为此我们可以运行以下命令。

命令

pip3 install scipy

现在运行以下命令。

python3 main.py

输出

使用 numPy 和 Matplotlib

请考虑以下代码。

示例

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import poisson

# Define the Poisson distribution parameter lambda
lam = 3

# Create an array of x values
x = np.arange(0, 15).tolist()

# Create the Poisson probability mass function
pmf = poisson.pmf(x, lam)

# Create the plot
plt.plot(x, pmf, 'bo', ms=8)
plt.vlines(x, 0, pmf, colors='b', lw=5)
plt.title('Poisson Probability Mass Function')
plt.xlabel('Number of events')
plt.ylabel('Probability')
plt.show()

解释

  • 代码首先导入必要的库,包括 NumPy 和 Matplotlib。

  • 定义了一个 lambda 函数来计算泊松分布的概率质量函数。

  • 设置了 lambda 值和 k 值范围。

  • 使用前面定义的 lambda 函数,使用 lambda 值和 k 范围计算概率质量函数。

  • 使用 Matplotlib 库创建使用 k 和概率值的线图。

  • 设置 x 轴和 y 轴标签,并为绘图定义标题。

  • 调用 show() 方法以显示绘图。

输出

结论

总之,泊松概率质量函数 (PMF) 图是用于理解在时间或空间中随机发生的事件的概率分布的有用可视化工具。本文提供了两种在 Python 中创建泊松 PMF 图的方法。

第一种方法使用了 scipy 库,而第二种方法使用了 NumPy 和 Matplotlib 库。两种方法都涉及定义泊松分布参数、计算概率质量函数以及使用适当的库绘制函数。方法的选择取决于用户对库的熟悉程度和具体的用例要求。

更新于: 2023年8月3日

1K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告