Python中的累积分布

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

什么是累积分布?

累积分布是统计分析中的一个重要概念,用于深入了解随机变量的概率分布。Python 中丰富的库使得进行累积分布分析变得容易。Python 中的 Numpy 和 Scipy 提供了一些强大的函数来实现累积分布。

本文探讨了累积分布的概念、其实际应用以及如何在 Python 中实现累积分布。

关于累积分布的更多信息

在学习累积分布时,发现的最强大的统计工具之一是累积分布函数(或 CDF)。该函数在统计学中起着至关重要的作用,因为它提供了对概率分布的详细理解。与竞争对手相比,对 Python 的 CDF 进行全面检查可以揭示隐藏的细节,并提供对底层数据的深入理解。

该函数的主动模式为随机变量的概率分布提供了累积视角。简单来说,在特定区间内的 CDF 总结了变量取值小于或等于该特定点的概率。累积分布函数用 fx(X) 表示,其中 x 表示用于累积分布计算的指定点,它汇总了随机变量值 up to 指定点的概率。这种累积方法简化了事件概率的解释,反映了随机变量 x 或小于 x 的值的总面积。图上 x 点左侧的区域包含了累积分布。

Python中的累积分布

Python 提供了不同的统计分析库。Numpy 和 scipy 用于计算 Python 中的累积分布。这些库提供了不同的函数,有助于分析和提高 Python 中统计分析的效率。

Numpy 是一个用于处理 Python 中数组的 Python 库。Numpy 在统计学中用于分析、探索和转换数据。它提供了不同的函数来计算统计学中的许多概念,如 mean()、median()、min()、max() 等。Python 有效累积分布的一个关键模块是它与 NumPy(标准的数值计算库)的顺畅交互。NumPy 的数组处理功能与 CDF 协同工作,为用户提供管理大型数据集所需的便捷性和最佳效率。

Scipy 是一个用于计算统计函数、信号处理等的 Python 库。它被称为科学 Python。它为统计学提供了多个函数和模块。

在 Python 中计算和表示累积分布的另一个主要模块是 Matplotlib。Matplotlib 是 Python 中的一个数据可视化库。该库的多功能性有助于在 Python 中创建简单且交互式的图表。Matplotlib 使可视化累积分布变得容易。该库的绘图修改功能广为人知,因为它们允许用户生成视觉上美观的 CDF 表示。

正如我们已经看到并理解了累积分布的基本概念,现在是时候在 Python 中计算和可视化它了。

在 Python 中实现累积分布

在这里,我们将使用不同的方法和各种数据集在 Python 中计算、实现和可视化累积分布。

步骤 1:Python 中的模块

第一步是导入 Python 中必要的库。

累积分布可以使用不同的方法对不同类型的数据进行评估和计算。两种常用方法是使用正态分布和随机数据分布。

1. 随机数据的累积分布

输出

Text(0.5, 1.0, 'Cumulative Distribution of random data')

Cumulative Distribution in Python

在此示例中,生成一个包含 500 个随机数的 数据集,然后使用 np.sort() 按升序对其进行排序。然后计算累积分布值,并通过 Matplotlib 的 plot() 函数,直观地表示累积分布图。

2. 正态分布的累积分布函数

输出

Text(0.5, 1.0,'Cumulative Distribution of normal distribution')

Cumulative Distribution in Python

这是计算累积分布的另一个示例。随机抽取了一个包含 10000 个数字的数据集。使用 scipy 库的正态累积分布函数 (norm.cdf()) 来计算数据的正态分布的累积分布。使用 matplotlib 库的 plot() 函数可视化分布。

3. 比较累积分布函数和概率密度函数

输出

(array([   12,    76,   317,  1199,  4147, 11360, 25317, 46201, 69823, 86757, 87067, 72154, 49357, 27206, 12455,  4658,  1474, 333, 77, 10], dtype=int64), array([-4.53085202, -4.0804894 , -3.63012677, -3.17976415, -2.72940152,  -2.27903889, -1.82867627, -1.37831364, -0.92795102, -0.47758839,-0.02722577,  0.42313686,  0.87349949,  1.32386211, 1.77422474, 2.22458736, 2.67494999,  3.12531261,  3.57567524,  4.02603787, 4.47640049]))

Cumulative Distribution in Python

这里,随机抽取了 50000 个数据点。然后,我们尝试制作一个直方图来计算分布。scipy 库提供了 pdf() 函数,用于计算概率密度函数。然后使用 pdf 计算累积分布。基本上,累积分布是通过概率密度函数的累积和来评估的。它通过 plot() 函数进行评估。

总之,我们已经了解到累积分布是用于评估随机变量概率分布的函数。它可以使用 Python 中的 numpy 和 scipy 库进行评估,并可以使用 matplotlib 进行评估。