数据质量通常是指数据值的质量,包括准确性、完整性和一致性。数据的准确性是指数据不包含错误或异常值、完整性是指数据不包含缺失值、一致性是数据在各个数据源中都是相同的。广义的数据质量还包括数据整体的有效性,例如,数据整体是否是可信的、数据的取样是否合理等。本文的数据质量分析,是指对原始数据值的质量进行分析,以检查数据的质量。没有可信的数据,数据分析将是空中楼阁,因此,数据分析的前提就是要保证数据质量是可信的。
数据质量分析的主要任务是检测原始数据中是否存在脏数据,脏数据一般是指不符合要求,以及不能直接进行相应分析的数据,脏数据一般包括:
- 缺失值
- 异常值(离群点)
- 不一致的值
- 内容未知的值
通常情况下,原始数据中都会存在不完整(有缺失值)、不一致、数据异常等问题,这些脏数据会降低数据的质量,影响数据分析的结果,因此,在进行数据分析之前,需要对数据进行清洗、集成、转换等处理,以提高数据的质量。对于内容未知和不一致的数据,通常需要人工识别,进而才能确定处理方法,本文重点介绍缺失值和异常值的分析方法。
一,缺失值分析
数据的缺失一般是指观测的缺失和观测中变量值的缺失,两者都会造成分析结果的不准确。观测的缺失会导致由样本数据推断出的总体数据的性质和特点出现偏差。
本小节涉及的是样本中数据值的分析,使用简单的统计分析,可以得到含有缺失值的属性的个数和样本空间的缺失率。缺失的数据可能会对数据分析的结果产生误差,从而使样本数据不能很好地代表数据总体。
用作分析缺失值的数据集:
df <- data.frame(col1 = c(1,3, NA,7,5),
col2 = c("a", NA,"b", "a","d"),
col3 = c(TRUE, FALSE, NA, TRUE,FALSE),
col4 = c(2.5, 4.2, 3.2, NA,1.4),
stringsAsFactors = TR