基本数据检查测试


93

在我的工作中,我经常与其他人的数据集一起工作,非专家为我带来了临床数据,我帮助他们进行总结并进行统计检验。

我遇到的问题是,我带来的数据集几乎总是错字,不一致和其他各种问题。我很想知道其他人是否有标准测试,他们会尝试检查输入的任何数据集。

我过去常常为每个变量绘制直方图,但现在我意识到有很多可怕的错误可以在测试中幸免。例如,前几天我有一个重复测量数据集,对于某些人,该重复测量在时间2上与时间1上相同。这随后被证明是不正确的,正如您所期望的那样。另一个数据集包含一个个体,从非常严重的无序状态(以高分表示)变为无问题(以0表示)。这是不可能的,尽管我无法确切地证明这一点。

那么,我可以在每个数据集上运行哪些基本测试,以确保它们没有错别字并且不包含不可能的值?

提前致谢!


3
好问题。我怀疑很难给出一般性的答案,因为检查将取决于数据集的细节。
mark999 2011年

2
@ mark999我同意。我将有兴趣阅读该问题的答案。有一些通用策略,但是我发现很多检查都与建立特定于域的期望有关,既涉及数据的外观,也涉及可能出现的一些常见错误。
Jeromy Anglim 2011年

1
这里的读者也将对以下主题感兴趣:数据库的质量保证和质量控制(qa / qc)准则
gung

Answers:


77

它有助于了解如何记录数据。

让我分享一个故事。很久以前,许多数据集仅以衰落的硬拷贝形式存储。在那段黑暗的日子里,我与一家组织(谱系和规模很大;你们中的许多人可能都拥有股票)签约,以在其一家制造工厂中将大约10 ^ 5条环境监测数据记录进行计算机处理。要做到这一点,我个人标记的实验室报告的架子(显示在数据),创建数据录入表格,并与一个临时机构签约识字工人将数据键入表格。(是的,您必须为能阅读的人支付额外的费用。)由于数据的价值和敏感性,我一次与两名工作人员(通常每天都在变化)并行进行此过程。花了几个星期。我编写了用于比较两组条目的软件,以系统地识别和纠正出现的所有错误。

男孩在那里有错误!有什么问题吗?描述和测量误差的一种好方法是在基本记录的级别上在这种情况下它是对在给定监测点上获得的特定样品的单个分析结果(通常是某种化学物质的浓度)的描述。给定的日期。在比较两个数据集时,我发现:

  • 遗漏错误:一个数据集将包含一条记录,另一个数据集将不包含。通常发生这种情况是因为(a)在页面底部忽略了一行或两行,或者(b)跳过了整个页面。

  • 明显的遗漏错误实际上是数据输入错误。记录由监视点名称,日期和“分析物”(通常是化学名称)标识。如果其中任何一个有印刷错误,它将不会与与之相关的其他记录匹配。实际上,正确的记录消失了,并且出现了错误的记录。

  • 假复制。相同的结果可以出现在多个来源中,可以多次转录,如果没有,它们似乎是真正的重复测量。重复项很容易检测,但是要确定重复项是否错误取决于是否知道重复项是否应该出现在数据集中。有时候你就是不知道。

  • 弗兰克(Frank)数据输入错误。“好”的那些容易更改,因为它们会改变基准的类型:例如,将字母“ O”用作数字“ 0”,可以将数字转换为非数字。其他良好的错误会大大改变该值,因此可以通过统计测试轻松检测到。(在一种情况下,“ 1,000,010 mg / Kg”的前一位数字被截断,保留为10的值。当您谈论农药浓度时,这是一个巨大的变化!)很难发现错误,因为它们会发生变化将一个值放入一个适合(类似于)其余数据的值,例如为“ 50”键入“ 80”。(OCR软件始终会发生这种错误。)

  • 换位。可以输入正确的值,但与错误的记录键相关联。这很隐蔽,因为数据集的全局统计特征可能保持不变,但是在组之间可能会产生虚假差异。可能只有像两次进入这样的机制才能够检测到这些错误。

一旦知道了这些错误并知道了它们的发生原理,便可以编写脚本来拖曳数据集以了解是否可能出现此类错误,并标记它们以引起进一步关注。您不能总是对其进行解析,但是至少可以包括“评论”或“质量标志”字段,以在以后的分析过程中始终伴随数据。

从那时起,我开始关注数据质量问题,并且有更多的机会对大型统计数据集进行全面检查。没有一个是完美的。他们都从质量检查中受益。多年来,我为此制定的一些原则包括

  1. 尽可能在数据输入和数据转录过程中创建冗余:校验和,总计,重复输入:支持自动内部一致性检查的所有内容。

  2. 如果可能,创建并利用另一个描述数据外观的数据库计算机可读的元数据。 例如,在药物实验中,您可能事先知道每个患者都会被看三次。这使您可以创建一个数据库,其中包含所有正确的记录及其标识符,并带有等待填充的值。使用给定的数据填充它们,然后检查重复,遗漏和意外数据。

  3. 无论您计划如何格式化数据集以进行分析,请始终对数据进行规范化(具体而言,至少使它们成为第四范式)。这迫使您为要建模的每个概念上不同的实体创建表。(在环境情况下,这将包括监视位置,样品,化学药品(特性,典型范围等),这些样品的测试(测试通常涵盖一组化学药品)以及这些测试的各个结果的表。这样,您可以对数据质量和一致性进行许多有效的检查,并确定许多潜在的丢失,重复或不一致的值。

    这项工作(需要良好的数据处理技能,但很简单)非常有效。如果您想分析大型或复杂的数据集,并且对关系数据库及其理论不了解,请尽快将其添加到要学习的事物列表中。它会在您的整个职业生涯中派息。

  4. 尽可能执行所有“愚蠢”的检查。这些是对明显事物的自动验证,例如日期落入其预期期限,患者(或化学药品或其他任何东西)的计数始终正确加总,数值始终合理(例如,pH必须在0到14之间,并且可能在这是领域专业知识可以提供最大帮助的地方:统计学家可以无所畏惧地问专家的愚蠢问题,并利用答案来检查数据。

当然,还可以说更多的东西-该主题值得一本书-但这足以激发思想。



2
一个后续问题-该主题值得一本书-是否有一本书?
克里斯·比利

5
+1-精彩的答案。我希望您有一个博客:)(我很想将您的著作添加到r-bloggers.com)
Tal Galili

2
您应该写一本值得一读的书!
扎克(Zach)

1
这是如此复杂,以至于许多咨询公司专门研究“数据检索/清理/存储”。
卢卡斯·里斯

25

@whuber提出了很好的建议;我只添加:地块,地块,地块,地块。散点图,直方图,框线图,线图,热图以及其他您能想到的东西。当然,正如您所发现的那样,在任何地块上都不会出现明显的错误,但它们是一个很好的起点。只要确保您清楚自己的软件如何处理丢失的数据等即可。

根据上下文,您可以发挥创造力。我想对多元数据做的一件事是拟合某种因素模型/概率PCA(对缺失的数据进行多次插补的某种方法),并查看尽可能多的成分的得分。在次要因素/因素上得分较高的数据点通常是异常值,否则您可能看不到。


5
+1绘图用于统计芝加哥的投票:每个人都经常早做的事。;-)
whuber

15

我倾向于检查的大事情:

  1. 变量类型-查看数字是数字,而不是因数/字符(可能表示输入的数据有问题)
  2. 一致的值级别-看到名称为“ t1”的变量没有再次找到名称为“ t1”或“ t 1”的自身
  3. 离群值-看到价值范围是合理的。(您的血压值是0还是负?)。在这里,我们有时会发现有人将-5编码为缺失值或类似的值。
  4. 线性限制。我不使用它,但是有些人发现他们希望对某些列的依赖项进行重构(列A,B必须添加到C或类似的东西)。为此,您可以看一下重复数据删除程序包(我在上一届useR会议上遇到了发言人Mark van der Loo,他的程序包给我留下了深刻的印象)
  5. 随机性太少。有时,值必须四舍五入为某些值,或者在某些时候被截断。这些类型的事情在散点图中通常更清晰。
  6. 缺失值-确保缺失与其他变量无关(随机缺失)。但是我在这里没有经验法则。
  7. 空行或几乎没有值的行。这些应该(通常)找到并省略。

顺便说一句好问题-我希望阅读其他人在此问题上的经验。


10

当您具有随时间变化的度量值(“ 纵向数据 ”)时,检查梯度以及边际分布通常很有用。可以在不同的比例下计算此梯度。通常,您可以对数据进行有意义的转换(傅立叶,小波),并检查转换后数据的边际分布。


7

我经常会经历以下几点:

  1. 应该有多少条记录?例如,如果您从其他来源或其他人数据的子集中提取数据,您的数字看起来合理吗?您以为可以解决这个问题,但您...可能会感到惊讶。
  2. 所有变量都在那里吗?这些变量的值有意义吗?例如,如果将Yes / No / Missing变量编码为“ 1,2,3”,这是什么意思?
  3. 您缺少的价值在哪里?是否有一些变量似乎因缺少信息而过载?是否有某些科目有缺失值的庞大的数字。

这些是我要确保数据集甚至可以进行探索性数据分析之类的第一步。只是坐下来,在数据上漫游一些,“那...看起来对吗?”


1

我会在每一列上使用验收抽样方法(它给出了可以在高质量和低质量之间划界的分界线),为此提供了一个在线计算器。


3
就目前而言,将其作为评论比作为答案更合适。请详细说明,提供指向资源或参考的链接等
Antoine

1
很难看到在许多情况下这是有效的,并且容易找到许多根本不起作用(例如字符串或其他名义数据)或可怕的原因(因为它完全忽略了所有多元关系)。这似乎是任意的,因为除了时间序列(和一些相关数据)以外,数据表的记录中没有固有的顺序,而许多(如果不是全部的话)验收采样方法取决于序列。
ub

好吧,这是要使用的计算器:sqconline.com/… 只要您使用随机接受抽样就可以使用。如果要使其复杂化,可以使用系统的抽样技术,然后在每个分段上使用验收抽样
Tareq Shahwan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.