什么是数据质量:定义、框架和最佳实践

数据质量标准对所有企业都至关重要,因为它们保证了团队每天做出的数据驱动决策的准确性。当数据质量有问题时,团队不能依靠数据来指导他们的决策过程。

 

据Gartner称,数据质量不佳每年给组织造成平均 1290 万美元的损失。幸运的是,我们有数据质量方法来限制不良数据的有害影响。这是关键,因为数据质量打开了数据消费者对数据更大信任的大门。他们可以对数据充满信心,并利用它来改进决策,从而制定新的业务策略或改进现有的业务策略。

 

 

当由于某种原因未达到标准时,数据质量解决方案可以通过帮助组织诊断潜在数据问题来增加价值。根本原因分析使团队能够快速有效地解决数据质量问题。

 

如何保持数据质量不仅仅是公司日常运营所关心的问题——随着公司将人工智能 (AI) 和自动化技术集成到其工作流程中,高质量的数据对于成功实施这些工具至关重要。经典格言“如果您输入的是垃圾,那么输出的也一定是垃圾”也适用于机器学习和生成式人工智能解决方案。

 

 

什么是数据质量?

 

数据质量是一种基于准确性、完整性、一致性、可靠性和及时性等变量评估数据状态的指标。测量数据质量水平可以帮助您识别数据问题并确定您的数据是否适合达到其预期目的。

 

随着数据处理与业务运营的集成更加紧密,并且企业越来越多地使用数据分析来推动业务决策,对数据质量的重视也随之增加。

 

数据质量管理是整个数据生命周期管理流程(或主数据管理流程)的重要组成部分,提高数据质量的努力通常与数据治理计划相关,以确保数据在整个组织中得到统一格式化和使用。

 

 

 

数据质量、数据治理、数据完整性

 

数据质量、数据完整性和数据治理都是相互关联的。

 

数据质量是企业用来评估其数据的准确性、完整性、有效性、一致性、唯一性、及时性和适用性的广泛标准。数据质量差会影响消费者对数据的信任,从而影响他们的决策过程。

 

数据完整性仅涉及这些特性的一个子集,即准确性、一致性和完整性。它还从数据安全的角度看待这一问题,采取保护措施以避免恶意行为者损坏数据。数据完整性还指在法规遵从性(例如 GDPR 合规性)方面对数据的保护和安全。

 

数据治理是使用控制数据使用的内部数据标准和策略来管理企业系统中数据可用性、可访问性、完整性和安全性的过程。数据治理保证数据的一致性和可信性,并且不会以任何方式被滥用。遵守有关客户数据的关键法规是数据治理政策的成果之一。

 

 

关键数据质量维度

 

 

质量是根据许多设定的数据质量维度来衡量的,这些维度都应该通过数据质量改进过程来解决。它们可能会根据数据源的不同而有所不同:

 

时效性

 

该维度是指在一定时间范围内数据的准备情况。电子商务商店中的客户可能希望在购买后立即收到订单号,因此必须实时创建该数据。

 

完整性

 

这显示了可用或完整数据的数量。如果数据不能代表典型的数据样本,则很大比例的缺失值可能会导致分析出现偏差或误导。

 

准确性

 

准确性是指基于商定的事实来源的数据值的准确性。由于多个来源可能会报告相同的衡量标准,因此公司确定主要数据源以确保数据准确性至关重要。您还可以使用其他数据源来证实主要数据源的准确性。为了增强对数据准确性的信心,技术可以确定每个数据源是否朝同一方向移动。

 

有效性

 

此维度评估有多少数据符合任何业务规则的可接受格式。有效数据类型、范围、模式等元数据通常包含在格式中。

 

一致性

 

该维度比较两个不同数据集中的数据记录以检查不一致的数据。如前所述,为了报告单一统计数据,可能会确定许多来源。使用多种来源寻找一致的数据趋势和行为,使公司能够对从调查中得出的任何可行的见解充满信心。同样的推理也可以应用于数据关系。例如,一个部门的员工人数不应超过公司的员工总数。

 

独特性

 

数据集中的重复数据量由唯一性决定。考虑一个在数百万张图像上训练的机器学习模型。如果数据集包含重复项,则会损害构建模型的效率及其准确性。这些指标帮助团队在整个业务中进行数据质量审查,以确定数据对于特定目的的相关性和可用性。

 

 

为什么数据质量管理在数据生命周期的每个阶段都很重要?

当通过数据分析项目(例如商业智能仪表板、机器学习以及医疗保健和汽车领域基于人工智能的生成应用程序等)向消费者提供数据时,数据质量管理可以建立对数据的信任和信心。

 

如果没有可靠的数据管理策略和工具,企业可能会因消费者根据质量低劣的数据做出决策而遭受严重后果,无论是经营企业的经理、使用自动驾驶功能的司机,还是使用机器学习来帮助他们诊断或治疗的医生患者。

 

您的公司无法摆脱简单的数据质量评估框架。为了正确衡量数据质量并对其进行检查,您可能需要多种工具和流程协同工作才能完成工作。

 

从哪里开始数据质量评估、监控和测试?

 

以下是我们通过在数据生命周期的每个阶段确保数据质量获得的有益的见解:

 

1. 收藏

 

也称为数据摄取、数据收集或数据输入。这一点是关于在数据生命周期的初始阶段从多个内部和外部来源收集客户数据。

 

从质量角度来看,这是我们最脆弱的地方,因为在大多数情况下,我们不拥有数据源。如果在数据进入数据湖之前的收集过程中出现问题,我们不会知道。也就是说,除非我们验证数据质量。

 

例如,来自操作系统的数据可能由于人为错误而错误,或者由于存储数据或将其保存到数据湖的系统故障而延迟。因此,验证数据质量并确保数据不准确或不一致等问题不会影响我们的 ETL 至关重要。

 

2. 储存

 

接下来是数据存储。此时,许多组织陷入了将数据分散在多个团队和工具中的陷阱——这种现象称为数据孤岛。

当数据在孤岛中管理并且存储是分布式时,一致性问题就成为常态。

 

一旦我们将数据转移到单一事实来源,我们必须验证不同来源数据的一致性,并确保在生命周期的下一阶段之前解决任何一致性问题。

 

3. 加工

 

下一步是根据应用程序,通过整理、重复数据删除和执行数据使用所需的其他预处理来准备数据以供使用。

 

由于这些预处理过程旨在提高数据质量并创建可用于分析的数据集,因此我们期望数据和元数据方面的结果。我们必须验证预处理完成后,数据是否满足我们的期望。

 

最佳实践是验证数据预处理中的每个步骤 - 在某些组织中,我们可能会讨论数十个这样的步骤。

 

4. 分析

 

机器学习、统计建模、人工智能、数据挖掘和算法是现阶段可用的一些工具。这是我们从影响决策和用户满意度的数据中获得真正价值的地方,无论我们处于哪个垂直领域或我们分析什么类型的数据,都可以改善我们的业务并为客户提供价值。

 

在这个阶段,我们创建并运行数据管道,当我们为机器学习或商业智能需求开发这些管道时,我们必须能够在开发或改进阶段测试这些模型的质量。

 

5. 实施

 

部署阶段是进行数据验证、共享和利用的阶段。如果您将数据验证留到最后阶段(即验证数据的准确性、结构和完整性的过程),请做好迎接麻烦的准备。

 

但是,如果您在数据生命周期的所有阶段都执行了数据质量验证,那么您仍然必须在这里进行这些测试。我们不仅在部署到生产之前进行讨论,而且还在部署之后作为一种监控形式进行讨论,以确保在分析模型投入生产时数据保持高质量。在这里我们将测试模型漂移、仪表板健康状况等。

 

 

进一步的数据质量问题以及如何避免这些问题

 

数据工程师和数据科学家正在处理比以往更多的数据,并且由于过时的工作方法而难以保持数据管道的良好状态。

以下是大多数数据工程师和数据科学家当今面临的一些困难:

 

数据验证

 

在数据进入数据湖之前验证数据质量和一致性很困难。这是因为,与软件开发人员不同,数据从业人员没有数据暂存或 QA 环境。所有的东西,包括潜在的问题,都会被冲进湖里——工程师需要找到一种方法来处理它。

 

新数据集的测试和故障排除

 

无论是预生产、部署还是到达最终消费者之前的最终质量保证,这一点都很艰难。这都是因为数据没有自己特定的测试环境,一切最终都归于一个数据湖。

 

由于数据工程师缺乏检测、分析和调试生产数据质量问题的有效方法,因此在故障排除过程中会暴露出许多其他问题。

 

缺乏自动化

 

数据工程需要在分布式计算系统中进行大量的体力劳动和繁重的工作。与软件开发人员不同,数据工程师无法使用大量的自动化工具,这些工具允许对数据进行 CI/CD,从而消除低级手动工作并消除错误。

 

更不用说犯错误所付出的巨大代价,这常常会阻碍组织按照他们希望的速度推进数据驱动之旅。

 

 

提高数据质量:3 个最佳实践

 

 

1. 数据验证

 

作为数据工程师和数据科学家,我们不可避免地会对将要使用的数据做出假设。它是现有数据集中的最新数据还是全新的数据集并不重要。

 

我们可能已经对我们要为其构建模型的问题空间的完整性、及时性、分布、方差或覆盖范围做出了假设。无论我们的假设是什么,如果它们不成立,我们在计算的另一端将面临糟糕的结果。

 

为了确保数据可靠,我们应该对其进行测试以确定它是否支持我们的假设。验证测试是数据质量测试的关键部分,包括验证数据本身以验证其分布、方差、特征或我们所做的任何其他假设,以确保其成立。

 

2. 元数据验证

 

我们已经讨论过数据,但我们不要忘记元数据!元数据是描述数据的数据。这包括数据类型、数据模式、文件格式和它们可能保存的元数据等等。

 

例如,如果数据是表,则元数据可以包括模式,其中包括列数以及每列中变量的名称和类型。如果数据存储在文件中,则元数据可能包括文件类型以及其他描述性特征,例如版本、配置和压缩方法。

 

测试描述很简单。组织必须遵守的最佳实践和标准对其生成的元数据的每个值都有期望。

 

如果您是软件开发人员,这种类型的测试与对一段代码进行单元测试非常相似。创建测试可能需要一些时间,但获得高测试覆盖率是可以实现的,也是值得推荐的。

 

每当元数据发生变化时,还需要保持运行测试。这里的期望经常会出现偏差。虽然我们习惯在更新代码时升级单元测试,但随着模式的发展,我们必须准备好投入相同的时间和精力来维护元数据验证。

 

3. 数据实时集成

摄取原始数据的独立分支

 

数据从业者如何在摄取过程中获得高质量的数据?一种做法是将数据提取到数据消费者看不到的不同分支中。这允许您测试分支上的数据,并且仅在测试通过时才合并它。当然,这需要数据版本控制。

 

为了自动化该过程,团队可以设置一系列触发数据验证测试的预合并挂钩。如果测试通过,更改只会合并到湖的主分支中。如果测试失败,测试解决方案应通知监控系统并提供关键验证测试失败详细信息的链接。

 

由于数据存储库已提交到摄取分支,因此新摄取的数据具有其快照。这使得确定问题根源变得简单。

 

在数据输入之前,该技术允许进行数据质量验证检查。总而言之,在将数据引入主分支之前对其进行测试将避免质量问题。

 

 

数据质量管理工具的快速概述以及如何选择一种工具

 

以下概述了各种数据质量工具和测试框架,使团队更接近高质量数据。

 

远大的期望

 

这个开源验证工具很容易合并到您的 ETL 代码中。可以使用 SQL 或文件接口测试数据。因为它是作为日志系统创建的,所以它可以与文档格式结合使用,从所述测试生成自动文档。它还允许您创建数据配置文件并设置您可以在测试期间讨论的期望,以实现有效的数据质量管理。

 

迪曲

 

AWS 开发了一款开源工具来帮助开发人员建立和维护元数据验证。 Deequ 是一个基于 Apache Spark 的框架,用于创建数据单元测试,用于检查大型数据集中的数据质量。 Deequ 旨在处理表格数据,例如 CSV 文件、数据库表、日志和扁平化 JSON 文件 - 基本上是适合 Spark 数据框架的任何数据。

 

蒙特卡洛

 

这是一个无需任何代码即可实现可观察性(关键数据质量衡量标准之一)的框架。它使用机器学习来推断和理解数据的外观,主动查找数据问题,分析其后果,并通过与传统操作系统的链接发送警告。它还允许探索根本原因。

 

异常

 

Anomalo 可以帮助团队在数据问题影响其他任何人之前立即自动检测到数据问题。数据从业者可以将 Anomalo 连接到他们的数据仓库,并立即开始监控他们关心的表。机器学习驱动的工具可以自动了解数据的历史结构和趋势,提醒用户注意许多问题,而无需定义规则或设置阈值。

 

点亮

 

Lightup 使数据从业者可以轻松安装和扩展对大量数据的预构建数据质量检查。深度数据质量检查可以在几分钟内完成,而不是几个月。该解决方案还允许团队使用有时限的下推查询快速有效地跨企业数据管道扩展数据质量测试,而不会牺牲性能。此外,还有一个人工智能引擎可以自动监控和检测数据异常情况。

 

大眼睛

 

Bigeye 监控数据管道的运行状况和质量,因此团队永远不必怀疑他们的数据是否可靠。全球数据管道的健康状况和广泛的数据质量监控可确保数据质量,异常检测技术可以在问题扰乱业务之前发现问题。该工具还附带沿袭驱动的根本原因和影响分析,可以快速洞察问题的根源并提供清晰的解决方案。

 

 

通过数据版本控制强化数据质量

 

 

许多数据质量问题都是由数据从业者工作的独特方式以及缺乏可用工具相关的问题引起的。

 

看一下典型的软件开发团队。团队成员可以为同一个存储库做出贡献,而不会产生任何误解。不同的用户可以同时使用不同版本的软件,但开发人员可以利用给定用户报告问题时所使用的同一版本来快速复制用户问题。

 

将相同的功能带入数据世界是数据版本控制工具的目标。以与管理代码相同的方式管理数据可以提高许多数据操作作业的效率:

 

数据分支和版本控制

 

当数据有多个版本时,从沿袭的角度来看,版本历史非常明显。工程师可以简单地跟踪其存储库或数据集的更改,并将消费者指向新的可用数据。

 

隔离你的工作

 

当对现有数据管道进行更新或更正时,必须对这些更改进行评估,以确保它们确实提高了数据质量并且不会引入新的错误。为此,数据工程师必须能够在这些修改成为生产数据的一部分之前单独设计和测试这些修改。

 

回滚

 

如果您向用户公开生产数据并且出现问题,您始终可以通过单个原子操作回滚到以前的版本。最终,由于良好的数据质量,这提高了消费者对您提供的数据的信任。

 

时间旅行

 

假设数据质量问题导致性能下降或基础设施支出增加。如果您有版本控制,您可以从将更改投入生产的位置打开湖的分支。

 

使用这些信息,您可以复制环境的所有方面以及问题本身,以开始确定问题所在。

 

挂钩

 

版本控制系统允许您配置在发生特定事件时触发的操作。例如,Webhook 可以验证新文件以确定它是否与授权的数据类型之一匹配。

 

使用数据版本控制平台可以消除困扰大型数据工程团队处理相同数据的问题。当问题出现时,故障排除速度大大加快,并帮助每个人专注于提高数据质量。

 

 

数据质量管理需要正确的流程和工具

 

数据湖的可靠性将取决于您添加到其中的所有内容的数据质量。高质量的数据和服务已经在摄取过程中诞生,需要对新导入的数据进行不断的测试,以确保其满足数据质量标准。

 

尽管在对象存储上托管数据湖在可扩展性和性能方面具有优势,但遵循最佳实践并确保出色的数据质量仍然很困难。在这种情况下,如何保持数据质量?唯一的希望就是将自动化纳入其中。

 

持续集成和持续数据部署是自动化过程,依赖于检测和防止数据错误进入生产的能力。您可以使用各种开源解决方案构建此功能,并更快地实现良好的数据质量。

 

 

文章来源:TLMS微信公众号,未经授权严禁转载!

创建时间:2024-09-20
浏览量:0

精彩图集