Python中的正态分布

2025年1月5日 | 阅读 4 分钟

引言

正态分布,也称为高斯分布或钟形曲线,是统计学和概率论中的一个基本概念。它描述了连续随机变量的分布,并广泛应用于金融、物理、生物学等各个领域。在本文中,我们将深入探讨正态分布、其特征以及如何在 Python 中使用它。

理解正态分布

正态分布的特征是一个对称的钟形曲线,均值、中位数和众数都位于中心。曲线的形状由两个参数决定:均值(μ)和标准差(σ)。均值表示分布的中心,而标准差控制值的分布或离散程度。

正态分布的概率密度函数 (PDF) 由以下公式给出

Normal distribution in python

用于正态分布的 Python 库

Python 提供了几个方便处理正态分布的库。两个常用的库是 **NumPy** 和 **SciPy**。

NumPy 是 Python 中用于数值运算的强大库。它提供了用于从正态分布生成随机数、计算统计量等的函数。numpy.random.normal 函数用于从具有指定均值和标准差的正态分布生成随机样本。

输出

[ 0.55856847  0.10766641  1.36554801 -0.30622294 -1.9976728   0.00234251 -0.05819068  0.51887468  0.73773139 -0.32415487]

SciPy 基于 NumPy 构建,是一个用于数学、科学和工程的开源库。它包含用于统计运算的附加功能。scipy.stats.norm 模块提供了处理正态分布的便捷接口。

输出

0.12951759566589174

可视化正态分布

可视化对于理解正态分布至关重要。Python 中流行的绘图库 Matplotlib 可用于创建分布的视觉表示。

输出

Normal distribution in python

在上面的代码中,我们创建了随机样本的直方图,并在其顶部叠加了概率密度函数 (PDF)。这提供了数据围绕均值分布的视觉表示。

正态分布的统计量

正态分布的特征是几个统计量。均值、中位数和众数都相等,位于分布的中心。标准差提供了关于数据分布的信息。

输出

Mean: 0.033187498527744076
Standard Deviation: 1.0163284368022943

在此示例中,我们计算并打印了生成随机样本的均值和标准差。这些值提供了对数据中心趋势和离散程度的见解。

使用正态分布进行假设检验

正态分布经常用于假设检验。例如,如果我们有一个来自某个总体的样本,并想检验样本均值是否与假设的总体均值有显著差异,我们可以使用 t 检验。

输出

T-statistic: 0.2598531059266202
P-value: 0.794935138556606

在此代码段中,我们使用 SciPy 的 ttest_1samp 函数执行单样本 t 检验。然后打印 t 统计量和 p 值,使我们能够推断样本均值是否与假设的总体均值有显著差异。

结论

正态分布是统计学中的一个基本概念,Python 提供了强大的工具来处理它。无论是生成随机样本、计算统计量、可视化分布还是执行假设检验,NumPy 和 SciPy 库的组合,以及用于可视化的 Matplotlib,都可以轻松地探索和分析服从正态分布的数据。通过理解和利用这些工具,从业者可以深入了解其数据的特征,并在各种研究和应用领域做出明智的决策。


下一主题Os-makedirs-method