使用 Python 展示统计学中的正态分布


在问题陈述中,我们需要使用 Python 及其库来展示正态分布。在本教程中,我们将讨论什么是正态分布以及如何使用 Python 绘制它。

什么是统计学中的正态分布?

在统计学中,正态分布是一种流行的概率分布。它经常作为自然发生的事件的模型,其不同的特征是钟形曲线。它也称为高斯分布。

我们可以使用 Python 中的随机函数创建符合正态分布的随机数据点以显示 ND。之后,可以使用获得数据的直方图来显示钟形曲线。

上述问题的逻辑

为了解决给定的问题并使用 Python 展示正态分布,我们将使用 Python 库,如 Numpy、Matplotlib 和 scipy.stats。这些库将使我们的任务变得简单,并且我们将能够轻松地展示正态分布。我们必须设置均值和标准差的值。然后计算概率密度函数并生成 x 和 y 的坐标。并使用 matplotlib 绘制直方图。

算法

  • 步骤 1 - 首先导入 Python 的必要库。在我们的例子中,我们导入 Numpy、Matplotlib 和 Scipy 库来演示正态分布。

import numpy as nmp
import matplotlib.pyplot as mt_plt
from scipy.stats import norm
  • 步骤 2 - 接下来,初始化均值和标准差的值。

mean = 2
std_dev = 5
  • 步骤 3 - 现在我们将使用 linspace 生成 x 坐标的值。

x = nmp.linspace(mean - 5 * std_dev, mean + 5 * std_dev, 1000)
  • 步骤 4 - 获取 x 值后,我们将使用正态分布的概率密度函数生成 y 坐标值。

y = norm.pdf(x, mean, std_dev)
  • 步骤 5 - 现在我们将使用 plot() 函数绘制钟形曲线。

mt_plt.plot(x, y)
  • 步骤 6 - 然后我们将绘制窗口并为 x 轴和 y 轴提供标签。并使用 show() 方法显示曲线。

# Plot the window and define the labels
mt_plt.xlabel('x')
mt_plt.ylabel('Probability Density')
mt_plt.title('Normal Distribution')

# Show the plot
mt_plt.show()

示例

import numpy as nmp
import matplotlib.pyplot as mt_plt
from scipy.stats import norm

# Set the values of mean and standard deviation
mean = 2
std_dev = 5

# Generate x-coordinate values
x = nmp.linspace(mean - 5 * std_dev, mean + 5 * std_dev, 1000)

# calculate the respective values of y with the help of PDF of ND
y = norm.pdf(x, mean, std_dev)

# Plot the bell-shaped curve
mt_plt.plot(x, y)

# Plot the window and define the labels
mt_plt.xlabel('x')
mt_plt.ylabel('Probability Density')
mt_plt.title('Normal Distribution')

# Show the plot
mt_plt.show()

输出

复杂度

在 Python 中显示正态分布的时间复杂度为 O(n),其中 n 是范围内的值的数量。因为我们生成了 x 的值范围,这需要 O(n) 时间,并且计算概率密度函数也需要 O(n) 时间,这是导致这种时间复杂度的主要原因。

结论

在我们的文章中,我们讨论了正态分布,并展示了该分布的演示。我们创建了使用库在 python 中显示分布的逻辑和算法,并计算了其时间复杂度。

更新于:2023 年 10 月 18 日

198 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告