预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

14、缺失值及缺失模式目录:一、什么就是缺失值?二、识别缺失值三、缺失模式及处理办法四.判断缺失模式正文:一、什么就是缺失值?1、缺失值缺失值就是任何数据集中经常出现得问题,无回答、录入错误等调查中常会出现得现象都会导致缺失数据。缺失值通常会用一些特殊符号进行标记,比如9999、1990年1月1日,或者就是“*”、“?”、“#”、“$”等符号。还有一种数值缺失情况,就是统计得时间窗口并非对所有数据都适合。例如,需要“客户近6个月内得最大存款余额”,对于那些建立账户尚不满6个月得客户来说,统计出来得数值与想要得到得就可能存在差距。缺失数据会影响分析工作得进行与统计工作得效率,还会导致分析得偏差。数据使用者、分析者往往缺乏缺失值处理方面得知识,仅仅对数据进行简单删除或插补会影响数据规模与数据结构,进而影响分析结果。一般来说,对缺失值得填充方法,最好就是先判断其缺失模式,再建立一些适当模型,根据数据得分布来填充一个更恰当得数值。R语言中,缺失值用NA表示。2、缺失值得产生原因(1)有些信息暂时无法获取(2)有些信息就是被遗漏得(3)有些对象得某个或某些属性就是不可用得(4)有些信息(被认为)就是不重要得(5)获取这些信息得代价太大(6)系统实时性能要求较高3、NA与NULL区别:NA表示数据集中得该数据遗失、不存在。在针对具有NA得数据集进行函数操作得时候,该NA不会被直接剔除。如x<-c(1,2,3,NA,4)则mean(x)为NA如果想去除NA得影响,需要显式告知mean方法,如mean(x,na、rm=T)另外,NA会“追随”其她数据得类型。NULL表示未知得状态。它不会在计算之中,如x<-c(1,2,3,NULL,4)则mean(x)为2、5NULL就是不算数得,length(c(NULL))为0,而length(c(NA))为1。可见NA“占着”位置,它存在着,而NULL没有“占着”位置,或者说,“不知道”有没有真正得数据注:NaN表示“非数,不可能得值”,其识别函数为is、NaN()Inf与-Inf分别表示正无穷与负无穷,其识别函数为is、infinite()4、处理缺失值得基本步骤(1)识别缺失值(2)判断缺失模式(完全随机缺失、随机缺失、完全非随机缺失)(3)处理缺失值(删除、用合适得方法插补)5、处理缺失值得方法及包二、识别缺失值在数据预处理中,首先要做得通常就是判断就是否存在缺失值。判断就是否为缺失值得函数就是is、na(),可以应用于向量、数据框等多种对象,返回逻辑值。另一个常用函数就是VIM包中得complete、cases(),判断每个观测样本就是否完整,TRUR表示完整。library(mice)#数据集nhanes2为mice包自带数据集,25个观测值,4个变量is、na(nhanes2)#判断每个值就是否为缺失值,只粘贴部分运行结果agebmihypchl1FALSETRUETRUETRUE2FALSEFALSEFALSEFALSEsum(is、na(nhanes2))#共有几个缺失值[1]27#计算每列得缺失百分比Rate<-function(x){sum(is、na(x))/length(x)*100}apply(nhanes2,2,Rate)agebmihypchl0363240complete、cases(nhanes2)#判断每个样本就是否完整[1]FALSETRUEFALSEFALSETRUEFALSETRUE[8]TRUETRUEFALSEFALSEFALSETRUETRUE[15]FALSEFALSETRUETRUETRUEFALSEFALSE[22]TRUETRUEFALSETRUEsum(!complete、cases(nhanes2))#不完整样本得个数[1]12三、缺失模式及处理办法1、缺失模式缺失模式就是描述缺失值与观测变量间可能得关系。从缺失得分布来讲,缺失值可以分为:完全随机缺失(MCAR):某变量缺失值发生得可能性与其她变量无关也与该变量自身无关。换句话说,某变量缺失值得出现完全就是个随机事件。可以将存在MCAR变量得数据瞧作就是假定完整数据得一个随机样本(Rubin1976);注:MCAR数据缺失得理想状态,但就是可靠得缺失最大阈值就是数据集总数得5%随机缺失(MAR):某变量出现缺失值得可能