数据准备的10个最佳实践


作者:Import.io
编译:无明
来源:AI前线
甘特的一项研究表明,数据准备解决方案市场到 2019 年将达到 10 亿美元的规模,其中 30%的组织将采用某种类型的自助数据准备工具。

数据准备到底是什么,为什么它这么重要?

Informatica.com 将数据准备定义为“一系列预处理步骤,在将来自一个或多个来源的数据应用于业务分析之前对其进行清理和转换,以便提高其质量。”它通常用于将具有不同结构和不同级别数据质量的数据源转化为干净一致的格式。

格式一致性是让数据准备变得如此强大的原因,是组合不同数据源的数据并提供有意义的业务洞见的关键流程。在大数据时代,有很多先进的软件可以快速方便地从不同网站获取数据,比如 import.io 的 Extract,企业可以从快速有效的数据准备技术中获益。

数据准备也是自助式分析的关键组成部分。让业务人员自己准备好数据,企业就可以绕过 IT 瓶颈,加快获得洞见的速度,最终实现更好的业务决策。

这里的挑战在于如何更好地准备数据。商务智能先驱 Howard Dresner 最近发表了一份报告,64%的受访者一直或频繁地进行用户数据准备,但只有 12%的受访者表示他们擅长此道。

要更好地进行数据准备,请考虑遵从以下 10 项最佳实践,以便为有意义的业务分析做好数据准备。

 1. 数据管控

数据管控本身并不是数据准备,但它是定义业务目标、业务术语、数据质量、数据审计和数据准备工作必须满足的数据血统(data lineage)标准的“包装器”。

最终,业务利益相关者必须进行数据管控,他们需要将数据视为其业务的战略资产。一些组织甚至有一个与人力资源、财务、运营和 IT 部门处于同一级别的数据管控部门。如果没有这种对数据管控的重视和组织承诺,数据准备工作就不会那么高效。

 2. 从好“原料”开始

在不考虑数据来源和来源可靠性的情况下也可以轻松开始准备数据的工作,但对于需要重复加载数据的情况,数据源的质量、可访问性和格式可能会对你的分析结果产生重大影响。

数据采集大致分为三个步骤:

  • 定义给定业务任务所需的数据

  • 识别数据的潜在来源以及其业务和 IT 所有者

  • 确保数据的可用性可以满足业务任务的要求

这一步通常包括一些策略和协商,但不管怎样,确保可靠的数据源是很重要的。

 3. 将数据提取到一个好的“工作台”

一旦确定了可靠的数据源,就需要将这些数据放入可以安全分析和操作它们的环境中。具有相对较好原生结构的较小数据文件可以使用文本编辑器或电子表格打开。更大或更复杂的数据集将需要更强大的分析工具,比如提取 / 转换 / 加载(ETL)工具、高端的统计软件或企业级商业智能软件包。

关键在于将数据放到可以仔细检查它们的环境中,而大多数原始数据格式通常不会这么简单。

 4. 花点时间了解你的数据

这是数据准备过程中至关重要但常常被忽视的一步:你需要先了解数据,然后才能为下游做好准备。除了简单的可视化检查之外,还需要剖析、可视化、检测异常值以及查找空值和其他垃圾数据。

这样做的第一个目的是确定数据源是否值得包含在项目中。正如数据仓库大师 Ralph Kimball 在他的书“The Data Warehouse Toolkit”中所写的那样:“尽早撤销数据源是负责任之举,尽管看起来不像是个好消息,却可以赢得团队其他成员的尊重。”

如果数据源被认为值得纳入,那么对源数据的剖析结果将有助于你评估数据的总体质量,以及估计为下游分析充分清理数据所需的 ETL 工作。

 5. 从小数据量开始

大数据时代,准备大数据集可能非常麻烦且耗时。因此,从随机样本数据开始进行探索性的分析和数据准备。在有效的数据样本上开发数据准备规则将大大缩短发掘洞见的时间,因为它将减少与迭代大型数据集相关的延迟。

这一步是艺术和科学的结合体。数据分析应该非常熟悉源数据和手头的业务分析任务,以便对行和列进行准确的采样,并为进一步分析做好准备。

 6. 校正数据类型

探索数据集中的列,并验证实际数据类型是否与每列中应该包含的数据匹配。例如,标题为“sales_date”的字段应具有常见数据格式的值,如 MM/DD/YYYY。同样,你还应该了解每个字段代表的通用数据类型。如果它是一个数字字段,它是离散的还是连续的?如果它是一个字符字段,它是确定值还是一个自由文本字段?了解这些区别将有助于你更好地理解如何准备其中包含的数据。

 7. 用图形展示你的数据

绘制关键字段是了解数据的一个好方法。使用直方图来了解关键字段的分布的情况,使用饼图查看百分比,并使用散点图进行重要的异常值检测。图形化数据有助于更快速、高效地向非技术用户解释数据分析结果。

 8. 不要忘记初步检查

五岁的孩子是否可以获得驾照?天然气价格是否是每加仑 1257 美元?德克萨斯州圣安东尼奥的平均夏季高温是否是 -12 华氏度?初步检查意味着理解某些列代表什么,了解适合这些值的“可变范围”,并基于此将一些常识应用在数据集上。

此外,使用自动化工具和图形功能来查找异常值。查找异常值的挑战在于,如果你没有找出这些异常值,它们会扭曲使用数据平均值的度量指标,这可能会导致与业务利益相关者之间产生尴尬的对话。因此,找出异常值,分析带有异常值或不带有异常值的结果,并将结果呈现给利益相关方,作为如何处理这些问题的依据。

 9. 迭代清洗和过滤

根据对最终业务分析目标的了解,尝试使用不同的数据清理策略,以将相关数据转换为可用格式。从少量数据开始,使用不同的数据准备策略进行迭代试验,优化记录过滤器并与业务利益相关者进行讨论。

在找到好的方法之后,花一些时间来重新思考达到业务目标真正需要的数据子集。在整个数据集上运行数据准备规则将花费更多时间,因此,请与业务利益相关方做出谨慎的思考,了解需要和不需要哪些列,以及哪些列可以安全地过滤掉。

 10. 涂肥皂、冲洗、重复:给你的数据洗澡

既然已经总结出了数据准备方法,请在整个数据集上运行数据准备步骤并再次检查结果。即使你正确地对测试数据集进行了采样,完整的数据集仍可能包含影响结果的异常情况,因此,请准备好迭代验证并调整数据准备步骤。准备好这一步需要一些时间,但分析的质量以及它所带来的信任是值得这么做的。

数据准备可能是一个混乱的过程,但最终会给我们带来价值。在分析项目中,提前花时间评估数据源和数据集可以节省大量的时间。在数据管控原则的指导下,以抽样技术、分析工具、可视化和迭代利益相关方参与作为指导,就可以开发出有效的数据准备方法,建立对数据的信任并赢得业务利益相关方的尊重。

原文链接:https://www.import.io/post/10-best-practices-data-preparation/