Press "Enter" to skip to content

探索性数据分析:揭示数据集中的故事

探索数据的秘密艺术——理解、清洗和揭示数据集中隐藏的洞察

Photo by Andrew Neel on Unsplash

作为数据爱好者,探索新数据集是一项令人兴奋的事情。它使我们能够更深入地了解数据,并为成功的分析打下基础。对于一个新数据集来说,要对其有一个良好的感觉并不容易,需要时间。然而,一次良好而彻底的探索性数据分析(EDA)可以很大程度上帮助理解数据集,了解事物之间的联系以及正确处理数据集所需的工作。

事实上,**你可能会花80%的时间在数据准备和探索上,而只有20%的时间用于实际数据建模**。对于其他类型的分析,探索可能占用更大比例的时间。

**什么是探索性数据分析。

简而言之,探索性数据分析是指探索数据的艺术。它是从不同角度研究数据以增强您的理解、探索模式、建立变量之间的关系并在需要时增强数据本身的过程。

就像和数据集进行一次“盲目”约会,坐在这个神秘的数字和文本的集合对面,渴望在展开一段认真的关系之前理解它。就像一次盲约一样,EDA可以帮助您揭示数据集的隐藏面。您可以观察模式,检测离群值,并在得出任何重要结论之前探索细微差别。这一切都是关于熟悉并与数字建立信任,确保您在得出结论之前站在坚实的基础上。

我们都有过这样的经历,无论是有意还是无意地深入统计工具或筛选报告,我们都在某个时候探索过某种类型的数据!

**为什么要进行探索性数据分析。

作为分析师和数据科学家,我们应该最了解数据。当涉及到理解和解释数据时,我们必须成为专家。无论是机器学习模型、实验框架还是简单的分析,其结果都取决于基于其上的数据。

记住,垃圾进,垃圾出!

EDA使数据分析师和科学家能够从数据中探索、理解和提取有意义的洞察。就在你以为自己已经全都搞清楚的时候,数据集会给你一个曲线球。你会发现缺失的值、不一致和混乱的数据。就像发现你的约会对象有一只秘密宠物鳄鱼或者一套独角兽玩偶一样。探索性数据分析为您提供了清理混乱和理清一切的工具。

这就像给您的数据集进行一次大改造,将其从一个杂乱无章的状态变成一个令人惊艳的伴侣。

最后,探索性数据分析就是要更深入地了解您的数据,一路上享受乐趣,并为进一步的分析打下坚实基础。所以戴上您的侦探帽子,与您的数据集一起踏上这个令人兴奋的冒险之旅。谁知道,您可能会发现一个隐藏的宝藏,甚至是真爱!

**如何进行探索性数据分析。

正如其名称所示,探索性数据分析是用于探索数据的分析。它由许多组成部分组成;并非所有组件都是必需的,也不是所有组件都具有相同的重要性。以下是我根据经验列出的一些组件。请注意,这不是一个详尽无遗的列表,而是一个指导框架。

1. 了解数据的基本情况。

你不知道你不知道的事情,但你可以探索!首先要做的事情是对数据有所了解——查看数据条目,浏览列的值。有多少行、列。

  • 一个零售商数据集可能会告诉您——X先生于2023年8月1日访问了2号店,并购买了一罐可乐和一包沃克薯片
  • 一个社交媒体数据集可能会告诉您——Y女士于6月3日上午9点登录了社交网络网站,浏览了A、B和C栏目,搜索了她的朋友A先生,然后在20分钟后退出。

了解数据的业务背景是有益的,了解数据的来源和收集机制;例如:调查数据与数字化收集数据等。

2. 双击进入变量

变量是数据集的口头交流者,它们在不断地与你交流。你只需要问出正确的问题并仔细倾听。

→ 需要问的问题: – 变量的含义/代表什么? – 变量是连续的还是分类的?.. 有任何固有顺序吗? – 它们可以取哪些可能的值?

→ 操作:

  • 对于连续变量 – 使用直方图、箱线图并仔细研究均值、中位数、标准差等检查分布。
  • 对于分类/有序变量 – 找出它们的唯一值,并进行频率表检查最常出现/最少出现的值。

你可能不了解所有的变量、标签和值 – 但尽量获取尽可能多的信息

3. 在数据中寻找模式和关系

通过探索性数据分析(EDA),您可以发现数据中的模式、趋势和关系。

→ 需要问的问题: – 您是否对变量之间的关系有任何先验假设? – 某些变量之间是否有业务关联? – 变量是否遵循某种特定的分布?

数据可视化技术、摘要和相关性分析有助于揭示一眼看不到的隐藏模式。理解这些模式可以为决策或假设生成提供有价值的见解。

→ 操作:进行可视化的双变量分析。

  • 对于连续变量 – 使用散点图、创建相关矩阵/热力图等。
  • 对于连续和有序/分类变量的混合 – 考虑绘制条形图或饼图,并创建传统的列联表以可视化共现情况。

EDA允许您验证统计假设,例如正态性、线性性或独立性,以进行分析或数据建模。

4. 检测异常值。

这是您成为数据版福尔摩斯的机会,寻找任何不寻常的东西!问问自己:

– 数据集中是否有重复的条目?

重复是表示同一样本点多次的条目。在大多数情况下,重复数据是没有用的,因为它们不提供任何额外的信息。它们可能是错误的结果,会影响到均值、中位数和其他统计数据。→ 与利益相关者核实并从数据中删除此类错误。

– 分类变量的标签错误?

查找分类变量的唯一值并创建频率图表。寻找拼写错误和可能表示相似事物的标签?

– 某些变量是否有缺失值?

这可能发生在数值和分类变量中。检查以下内容:

  • 是否有许多变量(列)的行存在缺失值? 这意味着有数据点在大多数列中为空白 → 它们没有太大用处,我们可能需要将其删除。
  • 是否有多行存在跨多个变量(或列)的缺失值? 这意味着某些变量在大多数数据点中没有任何值/标签 → 它们对我们的理解没有太多帮助,我们可能需要将其删除。

操作:

– 计算所有变量的NULL或缺失值的比例。具有超过15%-20%的变量应该引起怀疑。

– 过滤掉具有缺失值的列的行,并检查其余的列。大多数列是否都有缺失值?是否有某种模式?

– 数据集中是否存在异常值?

异常值检测是指识别不符合常规的数据点。您可能会看到某些数值变量的非常高或非常低的值,或者分类类别变量的高/低频率。

  • 看起来像异常值的可能是数据错误。虽然异常值是指在给定特征分布中不寻常的数据点,但不想要的条目或记录错误是一开始就不应该存在的样本。
  • 看起来像异常值可能只是异常值。在其他情况下,我们可能只是有一些具有极端值的数据点,并且其背后的推理完全合理。

行动:

通过研究直方图、散点图和频率条形图,了解是否有一些数据点比其他数据点更远。思考:- 它们可能是真实的,可以取这些极端值吗?- 是否存在业务上的推理或理由来解释这些极端情况?- 它们是否会在后期的分析中增加价值

5. 数据清洗。

数据清洗是指从数据集中删除不需要的变量和值,并消除其中的任何不规则性。这些异常情况可能会对数据产生不成比例的偏倚,从而对该数据集的分析结果产生不利影响。

请记住:垃圾进,垃圾出

– 纠正数据。

  • 删除重复的条目,如果有的话;删除不添加价值的缺失值和异常值;摆脱不必要的行/列。
  • 纠正数据中的任何拼写错误或标记错误。
  • 任何不增加数据价值的数据错误也需要被删除。

– 限制异常值或保留它们。

  • 在某些数据建模场景中,我们可能需要在两端限制异常值。限制通常在高端的第99/95个百分位点或低端的第1/5个百分位点进行。

– 处理缺失值。

通常情况下,我们会删除具有很多缺失值的数据点(行)。类似地,我们会删除在很多数据点中有缺失值的变量(列)

如果有一些缺失值,我们可以尝试填补这些空缺,或者保持原样。

  • 对于具有缺失值的连续变量,我们可以使用均值或中位数(可能是在特定分层上)来填补它们。
  • 对于分类缺失值,我们可以分配最常用的“类别”,或者创建一个新的“未定义”的类别。

– 数据丰富。

根据未来分析的需求,您可以向数据集中添加更多的特征(变量),例如:

  • 创建指示某种存在或不存在的二进制变量。
  • 使用IF-THEN-ELSE子句创建附加的标签/类别。
  • 根据未来的分析需求对变量进行缩放或编码。
  • 结合两个或多个变量 – 使用各种数学函数(如求和、差异、平均值、对数和其他转换)。

总结

数据探索性分析使数据科学家能够发现有价值的见解,解决数据质量问题,并为进一步的分析和建模打下坚实基础。它确保数据分析的结果可靠、准确且有影响力。

EDA的关键组成部分:

  1. 了解数据的来源和“含义”。
  2. 了解所有变量,它们的分布,标签/类别的细节。
  3. 寻找变量之间的模式/关系,以验证任何先前的假设或假设。
  4. 检测任何异常情况 – 数据错误、异常值、缺失值。
  5. 数据清洗 – 删除或纠正任何数据错误/异常值,限制异常值,填补缺失值(如果需要),按照您未来的分析需求进行缩放/转换现有变量,并创建附加的衍生变量,丰富您的数据集以进行后续分析。
Leave a Reply

Your email address will not be published. Required fields are marked *