r语言中数据分析(R语言数据质量分析)
时间:2023-09-11 11:15:34 整理: • 4人看过
数据质量分析是数据挖掘中数据准备过程的重要环节,是数据预处理的前提,是数据挖掘分析结论有效性和准确性的基础。没有可信的数据,数据挖掘建立的模型将是空中间的城堡。
数据质量分析的主要任务是检查原始数据中是否存在脏数据。脏数据一般是指不符合要求,不能直接分析的数据。在常见的数据挖掘工作中,脏数据包括:缺失值、异常值、不一致值、重复数据和带有特殊符号(如#、¥、*)的数据。
接下来主要分析数据中的缺失值、异常值和一致性。
缺失值分析缺失数据主要包括缺失记录和记录中某个字段的信息缺失,两者都会导致分析结果不准确。下面这篇论文分析了缺失值的原因和影响。
有些信息暂时没有,或者获取信息的成本太高;
缺少一些信息。它可能是由于输入时不重要、忘记填写或误解数据等一些人为原因而丢失,也可能是由于数据采集设备、存储介质和传输介质故障等非人为原因而丢失。
属性值不存在。在某些情况下,缺少值并不意味着数据中有错误。对于有些对象,有些属性值是不存在的,比如未婚配偶的名字,孩子的固定收入。
缺失值的存在将产生以下影响:
数据挖掘建模会丢失很多有用的信息;
数据挖掘模型的不确定性更明显,模型中包含的规律更难把握;
包含空值的数据会混淆建模过程,导致输出不可靠。
利用简单的统计分析,可以得到有缺失值的属性个数,以及每个属性的非缺失数、缺失数和缺失率。
一般来说,缺失值的处理可以分为三种情况:删除有缺失值的记录,插值可能值,不处理。
异常值分析离群点分析是检查数据是否有输入错误,是否包含不合理的数据。忽视异常值的存在是非常危险的,在数据的计算和分析中包含异常值而不剔除会给结果带来不利影响。关注异常值的出现并分析其原因往往会成为发现问题和改进决策的机会。
异常值是指样本中的个别值,其值明显偏离其余观测值。离群点也叫离群点,离群点分析也叫离群点分析。
简单的统计分析
你可以先做一个变量的描述性统计,然后看看哪些数据不合理。最常用的统计量是最大值和最小值,用来判断这个变量的值是否超出合理范围。例如,如果最大客户年龄是199,则此变量的值是异常的。
3σ原则
如果数据服从正态分布,在3σ原则下,异常值定义为与平均值的偏差超过标准差三倍的值。在正态分布的假设下,3σ的平均值以外的值出现的概率为p(| x-| > 3σ)& lt;=0.003,这是非常罕见的小概率事件。如果数据不服从正态分布,也可以用标准差远离平均值多少倍来描述。
箱线图分析
箱线图提供了识别异常值的标准:异常值通常被定义为小于QL-1.5IQR或大于Qu1.5iqr的值..QL被称为下四分位数,这意味着所有观测值的四分之一小于它;曲称为上四分位数,意思是所有观测值的四分之一大于它;IQR称为四分位数间距,它是上四分位数qu和下四分位数之间的差值,包含所有观测值的一半。
箱线图是根据实际数据绘制的,对数据没有限制。比如它服从某种分布形式,它只真实直观地展现数据分布的本来面貌;另外,箱线图是基于四分位数和四分位数距离的,四分位数在一定程度上是稳健的。多达25%的数据可以变得任意遥远,而不会极大地扰乱四分位数,因此异常值不会影响这个标准。可以看出,用箱线图识别异常值的结果是客观的,在识别异常值方面具有一定的优势。
餐饮系统的销售数据中可能会出现缺失值和异常值。该数据的下载地址为:https://github.com/windform/R/tree/master/R语言数据挖掘/数据质量分析/第三章/数据。
通过对餐饮系统的日常销售数据进行分析,可以发现部分数据缺失,但如果数据记录和属性较多,采用人工判别的方法并不实用,需要编写程序检测有缺失值的记录和属性,以及缺失的数量和比率。同时,通过观察,我们可以看到,每天的销售数据中也包含异常值。因为这里的数据量很大,所以我们用箱线图来检测异常值。R语言代码如下:
& gt;#读入数据
& gt;saledata & lt- read.csv(file = "。/data/catering_sale.csv ",header=TRUE)
& gt;#检测缺失值并打印结果。由于R把真和假分别看成1和0,所以可以用sum()和mean()函数分别求出缺失样本数和缺失比例。
& gt;sum(完成案例(销售数据))
[1]两百
& gt;sum(!完成.案例(销售数据))
[1] 1
& gt;卑鄙(!完成.案例(销售数据))
[1] 0.004975124
& gt;saledata[!complete.cases(saledata),]
日期销售
2015年2月15日
& gt;#异常值检测方框图
& gt;sp & lt-箱线图(销售数据$销售量,boxwex=0.7)
& gt;标题(“异常销售值检测方框图”)
& gt;xi <- 1.1
& gt;sd.s & lt-SD(销售数据[完成。案例(销售数据),] $销售)
& gt;mn.s & lt-mean(销售数据[完成。案例(销售数据),] $销售)
& gt;点数(明尼苏达州xi市,col="red ",pch=18)
& gt;箭头(明尼苏达州Xi-SD . s,明尼苏达州Xi-SD . s,代码= 3,col = "pink ",角度= 75,长度=.1)
& gt;text(rep(c(1.05,1.05,0.95,0.95),length = length(sp$out)),
labels = sp$out[order(sp$out)],sp $ out[order(sp $ out)]
rep(c(150,-150,150,-150),length = length(sp$out)),col = "red ")
从运行代码的结果可以看出,缺失值个数的输出结果为“1”,占总样本的0.497%。缺失值位于第15行,2015年2月14日销量缺失。
在生成的箱线图中,粉色箭头表示一个标准差区间,可以看到箱线图中有8个销售数字超过了上下限。结合具体业务,865、4060.3、4065.2可归为正常值,60、22、51、6607.4、9106.44可归为异常值。最后确定过滤规则为日销售额400以下5000以上为异常数据,编写过滤程序进行后续处理。
一致性分析数据不一致是指数据的矛盾和不兼容。直接挖掘不一致的数据可能会产生与现实相反的挖掘结果。
在数据挖掘过程中,数据不一致主要发生在数据集成过程中,这是由于挖掘出的数据来自不同的数据源,重复的数据不能得到一致的更新。例如,两个表都存储用户的电话号码,但是当用户的电话号码改变时,只有一个表中的数据被更新,所以两个表中存在不一致的数据。
,转载请注明:原文链接 | http://www.nnxc.com.cn/10043351651.html
