跳至主要内容

什么是频数直方图?新手全面指南

全面了解直方图,包括其类型、创建步骤、可用工具、常见误区以及实现有效结果的最佳实践。
Arunn Thevapalan
Arunn Thevapalan

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续继续即表示您接受我们的 使用条款,我们的 隐私政策 ,并且您的数据存储在美国。

直方图是数据分析中常用的图形,用于以可视化方式展示数据集的分布。它能帮助我们观察数据在不同取值上的分布情况,从而发现模式、趋势与异常。

本文将介绍频数直方图,并带您一步步完成绘制。此外,我们还将了解不同类型的直方图、用于创建直方图的常见技术工具、需要避免的常见错误,以及应遵循的最佳实践。

什么是频数直方图?

频数直方图是展示数据集分布的一种图形表示方式。直方图由一系列箱(bins)构成,本质上是覆盖数据范围的区间。每个箱都有一个频数,表示落入该区间内的数据点数量。将箱绘制在横轴上,将频数绘制在纵轴上,就形成了类似柱状图的表示。每个柱子的高度对应该箱中的数据点频数。

直方图之所以常见,是因为它在数据分析中具有多项关键作用:

  • 汇总海量数据:在处理大规模数据时,直方图能提供清晰、简洁的概览,使我们无需陷入单个数据点也能快速把握整体分布。
  • 检测离群值:直方图可视化数据分布,便于发现离群值——显著偏离其余数据的数据点。这些离群值可能指向错误、异常,或值得深入研究的重要现象。
  • 理解分布模式:直方图有助于识别偏度(分布的不对称性)、模态(分布峰的数量)以及离散程度(数据范围)。这种理解对统计建模至关重要,有助于选择合适的模型与假设。
  • 对比分析:直方图也适用于比较不同数据集。将多幅直方图并排绘制,可以直观比较其分布,揭示仅凭原始数据难以察觉的异同。

既然已经了解了频数直方图及其在数据分析中的作用,接下来就通过示例学习如何创建一个直方图。

如何创建频数直方图

设想这样一个场景:作为数据分析师,您需要分析某零售门店过去一个月的每日销售数据。

您的目标是理解每日销售额的分布,以识别模式、评估表现,并为库存管理和销售策略提供洞见。在分析中,您决定用直方图来辅助获取洞见。

以下是您可以遵循的创建频数直方图的步骤:

步骤 1:收集数据集

假设您联系了公司数据团队,从销售数据库中获取了数据。您将数据整理为如下表格:

An example sales dataset销售数据集。图片作者自制。

步骤 2:确定箱(区间)

接着,根据数据的范围与分布选择合适的箱。

分析数据后,您发现最小值为 20,最大值为 135,共有 30 个观测值。根据平方根法则(稍后会详细介绍),√30 ≈ 5.5,您可以使用 6 个箱。需要将 115 的范围分成 6 个箱,得到约 19 的箱宽。

为便于操作,我们采用箱宽为 20 的区间:

  • 20–39
  • 40–59
  • 60–79
  • 80–99
  • 100–119
  • 120–139

步骤 3:计算各箱的频数

统计落入每个区间的观测数,并按下表进行汇总:

Calculating frequencies in each bin

计算各箱的频数。图片作者自制。

步骤 4:绘制直方图

绘制表示箱的水平轴(x 轴)和表示频数的垂直轴(y 轴)。对每个箱绘制一个柱形,其高度对应该箱的频数。

您的直方图应大致如下所示:

Plotting a histogram for creating frequency distributions绘制直方图。图片作者自制。

步骤 5:标注与格式化

将 x 轴标注为“Units Sold”,y 轴标注为“Frequency”。添加标题,例如“Histogram of Daily Sales Data”。确保柱形间距均匀、边界清晰,便于阅读。

完成后的图形应如下所示:

直方图的标注与格式化。图片作者自制。

就是这样!您已为分析创建了频数直方图。

不同类型的频数直方图

频数直方图有不同的变体,它们在数据呈现方式上略有差异。

  • 频数直方图(Frequency Histogram):传统的频数直方图显示各指定箱内数据点的绝对频数。正如上文所示,它有助于理解数据点的分布与集中情况,也是最常用的直方图类型。
  • 相对频数直方图(Relative Frequency Histogram):相对频数直方图不展示每个箱中的绝对数据点数量,而是显示相对频数(所占比例)。这种直方图适用于比较不同数据集,因为它对数据进行了标准化,便于比较总量不同的分布。
  • 累积频数直方图(Cumulative Frequency Histogram):累积频数直方图展示累积总量,有助于理解频数在数据范围内如何逐步累加。它常用于识别分位数并理解累积效应。

这些直方图变体可根据分析项目中的不同情境揭示不同的洞见,因此了解它们的存在会很有帮助。

适合创建频数直方图的技术工具

虽然上文演示了手工绘制直方图,但您也可以借助多种工具与技术来完成,每种工具的功能与侧重点各不相同。

以下是一些用于创建直方图的常见技术:

  • Microsoft Excel 或 Google 表格:Microsoft Excel 是广泛使用的电子表格应用,内置制图工具。Google 表格是基于云的电子表格应用,具备与 Excel 类似的图表能力。二者在分析项目中都很常见,并提供创建直方图的功能。您可以参考我们的 Excel 数据可视化教程学习如何创建直方图。
  • PowerBI:PowerBI 是一款商业智能工具,可帮助用户在组织内可视化数据并共享洞见。直方图是其可视化组件之一。Exploratory Data Analysis with PowerBI 课程可帮助您以交互方式创建直方图并执行其他分析任务。
  • Python:Python 是常用的编程语言,拥有 matplotlib、seaborn、plotly 等多种可视化库,可用于创建直方图。Introduction to Data Science in Python 课程以动手实践的方式深入讲解直方图(及其他可视化)的创建。
  • R:R 是另一门流行的数据科学编程语言,因其强大的数据分析能力与丰富的可视化库(如 ggplot2)而非常适合创建直方图。这份 R 的六步教程将教您如何创建直方图。
  • Tableau:Tableau 是另一款 BI 软件,帮助用户将原始数据转化为可交互、可共享的工作簿与仪表板,并可用于创建直方图。Analyzing Data in Tableau 课程涵盖了创建直方图的详细流程。

当然,上述清单并不完整,在线上还有许多其他工具可用于创建直方图。您可根据分析项目的需求自由选择并采用最适合的工具。

常见错误与最佳实践

由于直方图常被视为基础图表,我们往往缺少系统学习,导致在制作时容易出错。以下是一些常见错误及其对应的最佳实践:

1. 选择箱宽(以及箱的数量)

不当的箱宽会显著影响直方图的外观与准确性。

过宽的箱会把过多数据点合并在一起,从而过度简化数据,掩盖数据中的重要模式与变化,使分布中的细节点与差异难以察觉。

相反,过窄的箱意味着每个箱覆盖的数值范围很小,可能导致大量箱中仅含极少数据点。这种细节层级可能没有必要,并以信息过载的方式干扰读者,反而不利于发现有意义的模式或趋势。

不一致的箱宽会造成误导性的可视化,令直方图更难解读。

最佳实践

首先,确保直方图中的所有箱具有相同的宽度。这种一致性便于跨区间直接比较频数。

有若干准则可帮助确定合适的箱宽(以及箱的数量):

  • 平方根法则:该法则建议箱的数量取数据点数量的平方根。例如有 100 个数据点,则使用 √100 = 10 个箱。此方法简单且通常有效。
  • Sturges 公式:该公式在考虑数据点数量的同时计算箱的数量,尤其适用于更大的数据集,可在“过少”与“过多”之间取得平衡。

Sturges’s ruleSturges 公式。来源:Wikipedia

在实践中,最佳箱宽往往通过迭代调整获得。先按某条准则确定初始箱宽,再根据直方图的清晰度与信息量上下微调。

2. 标注与刻度

一个常见错误是只关注图形本身,而忽视坐标轴标注与刻度。

如果坐标轴标注不准确或不充分,读者可能无法理解直方图所表达的含义。

在比较多幅直方图时,y 轴刻度不一致会扭曲比较。如果一幅图的 y 轴范围是 0 到 100,而另一幅是 0 到 50,那么柱形高度将无法直接对比。这种不一致会误导读者,以为存在或不存在某些显著差异。

即便在单幅直方图中,刻度不一致也会误导。如果 y 轴不是从零开始,或使用不规则间隔,就可能夸大或缩小各箱频数的差异,进而对数据分布做出错误结论。

最佳实践

始终清晰、准确地标注 x 轴与 y 轴。明确每个轴代表的含义,并在适用时包含计量单位。加入能提供上下文的信息性标题。

在比较多幅直方图时使用一致的 y 轴刻度。这样可确保柱形高度准确反映频数或相对频数,便于有意义的比较。尽量让 y 轴从零开始,以真实呈现数据分布;如确有不便,应清晰标明起点并使用一致的间隔。

3. 处理离群值

离群值是远离主要数据簇的数据点,会影响分布形状。一个常见错误是简单地剔除并忽略离群值。

将其剔除可能掩盖分布的真实性质,例如长尾或不对称(偏度)。例如,包含少量极高值的数据集在纳入离群值时可能呈现偏斜分布,而删除后看起来更对称。

离群值有时代表重要现象或关键信息。比如在销售数据中,某个离群值可能代表异常大的采购,指示一次成功的营销活动或批量订单。忽略此类点可能错失有价值的信息。

最佳实践

在直方图中纳入离群值,以完整展现数据分布。确保 y 轴刻度能容纳这些离群值,同时不过度压缩主体数据。

如果因特定原因(如错误、无关的极端值)而剔除离群值,请在配套文本或图例中明确说明。这有助于保持透明度,并让读者理解剔除的理由。

遵循这些最佳实践,能确保您的直方图准确传达预期洞见,并助力后续的数据分析工作。

结语

本文介绍了频数直方图、其不同类型及其在数据分析中的重要性。在手工创建直方图之后,我们列举了几种可用于创建直方图的主流工具与技术,同时也总结了需要避免的常见错误与应遵循的最佳实践。

我们鼓励您多加练习,从多个数据集创建并解读直方图以提升熟练度。持续实践分析任务并复盘结果,将有助于您精通数据分析。

学习愉快!

Arunn Thevapalan

作者

Arunn Thevapalan

作为一名高级数据科学家,我设计、开发并部署大规模机器学习解决方案,帮助企业做出更明智的数据驱动决策。作为数据科学写作者,我分享所学心得、职业建议以及深入的实践型教程。

常见问题解答

如何确定我的直方图应使用多少个箱?

可使用平方根法则或 Sturges 公式等准则来确定合适的箱数。根据具体情境与数据集调整箱的数量,避免直方图过于简化或过于复杂。

为什么在直方图中要使用一致的箱宽?

保持一致的箱宽至关重要,因为它能确保对数据分布的呈现既统一又准确。若箱宽不一致,会扭曲图形表达,令跨箱比较频数变得困难,并可能导致对数据的错误解读。

频数直方图与相对频数直方图有何区别?

频数直方图显示每个箱内数据点的绝对数量;相对频数直方图则展示数据点相对于总量的比例。相对频数直方图通过对频数进行标准化,便于比较总量不同的数据集的分布。

在直方图中应如何处理离群值?

在直方图中纳入离群值可以完整呈现数据分布。若将其排除,可能会误解数据的真实范围与变异性。若因特定原因选择排除离群值,请清晰说明理由,以确保数据呈现的透明与完整。

主题