数据分析介绍之四——单变量数据观察之累积分布函数
一、累计分布函数
直方图和核密度估计的主要优点是它们具有直观的直观吸引力:他们告诉我们如何找到具有一定价值的数据点。 例如,从图2-2可以看出,250毫秒左右的值很可能会发生,而超过2000毫秒的值是相当罕见的。
但是多么罕见呢? 这是一个问题,通过查看图2-2中的直方图难以回答。 除了想知道尾部的重量之外,我们也可能有兴趣知道在150到350毫秒之间的典型频带中要求完成的部分是多少。 这当然是大多数事件,但是如果我们想知道有多少事情,那么我们需要总结那个地区所有垃圾箱的贡献。
累积分布函数(CDF)就是这样做的。 点x处的CDF告诉我们x的“左边”发生了几个事件。 换句话说,CDF是具有xi≤x的所有点xi的分数。
图2-7显示了我们在图2-2中遇到的相同的数据集,但是这里的数据由KDE(带宽h = 30)而不是直方图表示。 此外,该图还包括相应的CDF。 (KDE和CDF都是归一化为1.)
我们可以直接从CDF的情节中读出几个有趣的观察。 例如,我们可以看到,在t = 1,500(这确实使我们陷入分配的尾声),CDF仍然小于0.85; 这意味着完全占15%请求需要超过1500毫秒。 相比之下,所有请求的不到三分之一在150-500毫秒的“典型”范围内完成。 (我们如何知道?t = 150的CDF约为0.05,对于t = 500,接近0.40。换句话说,所有请求的约40%都在不到500毫秒内完成,其中5%是 完成时间少于150毫秒,所以约35%的请求响应时间在150到500毫秒之间。)
考虑这些发现是值得暂停的,因为它们证明了直方图(或KDE)可能会导致误导(或者因为)直观的吸引力! 从直方图或KDE单独判断,似乎很合理地假设“大多数”事件发生在t = 300附近的主峰内,t> 1500的尾部贡献相对较少。 但是,民航总局清楚地告诉我们,这不是这样的。 (问题是眼睛比区域判断距离要好得多,因此我们误以为高峰附近的直方图的大值,并且看不到峰值以下的区域与总体相比并不大 曲线下面积)
CDF可能是基本图形分析中最不知名和最不被认可的工具。 它们比直方图或KDE具有更少的直观的吸引力,但是它们允许我们做出通常需要的那种量化语句,但从直方图中获取是困难的(如果不是不可能的话)。
累积分布函数具有许多重要的属性,它们直接依赖于它们的计算方式。
- 因为位置x处的CDF的值是x左边的点的分数,CDF总是以x单调递增。
- CDF比直方图(或KDE)更不容易,但是在本质上较少噪声的表示中包含相同的信息。
- 因为CDF不涉及任何分档,所以它们不会丢失信息,因此比直方图更忠实地表示数据。
- 随着x变为负无穷大,所有CDF接近0。 CDF通常被归一化,使得它们接近1(或100%),因为x达到正无穷大。
- CDF对于给定的数据集是唯一的。
如果您在数学上倾斜,您可能已经意识到CDF(直方图)是直方图的反向变量,直方图是CDF的衍生物:
累积分配函数有几个用途。 首先,最重要的是,它们使我们能够回答本节前面提到的问题:什么分数在任何两个值之间? 答案可以简单地从图中读出。 其次,CDF还可以帮助我们了解一个分布的不平衡 - 换句话说,尾巴的整体重量的几分之一。
当我们想比较两个分布时,累积分布函数也是有用的。 将直方图中的两个钟形曲线彼此进行比较是非常困难的。 比较相应的CDF通常更有决定意义。
最后一句话,在离开本节之前:在文献中,你可以找到术语“分位数”图。 分位数图只是其中x和y轴已切换的CDF的曲线。 图2-8显示了再次使用服务器响应时间数据集的示例。 以这种方式绘制,我们可以轻松回答诸如“什么响应时间对应于响应时间的第10个百分点”的问题?但是,该图中包含的信息当然与CDF的图表完全相同。
二、可选:将分布的概率图和QQ图进行比较
偶尔,您可能需要确认给定的一组点是根据一些特定的已知分布进行分发的。 例如,您有一个数据集,并且想要确定高斯(或其他)分布是否可以很好地描述。
您可以将数据集的直方图或KDE直接与理论密度函数进行比较,但是以这种方式比较分布是非常困难的 - 特别是在尾部。 一个更好的想法是比较累积分布函数,它们更容易处理,因为它们不那么虚弱,并且总是单调增加。 但这还不容易。 还要记住,大多数概率分布取决于位置和比例参数(如均值和方差),您必须在进行有意义的比较之前进行估计。 是否有办法直接与理论分配进行比较,并在此过程中读出所需参数的估计值?
事实证明,有。 该方法在技术上很容易做到,但是潜在的逻辑是有点复杂的,并且往往会使经验丰富的从业者混淆。
下面是它的工作原理。 考虑我们怀疑根据高斯分布分布的一组点{xi}。 换句话说,我们预期该点集合的累积分布函数yi = cdf(xi)为高斯累积分布函数((x-μ)/σ),平均值μ和标准偏差σ: