一 数据缺失的原因

①有些信息暂时无法获取;如:基金等金融产品的收益有后滞性,工作日当日的收益下一个工作日才能看到; 

②有些信息是被遗漏的;可能是输入时认为不重要、忘记填写了、非强制填写或对数据理解错误等人为因素而遗漏,也可能由于数据采集设备的故障、传输媒体的故障、处理/存储介质的故障等数据传输处理过程中每个环节出错都可能会导致丢失; 

③有些对象的某个或某些属性不可用;如:婴儿的工资; 

④有些信息(被认为)是不重要的,与要分析的内容不相关;如:你今天吃什么和美国2020年总统选举结果没有关系; 

⑤获取这些信息的代价太大;如:每年全国人口普查; 

⑥系统实时性能要求较高,即要求得到这些信息前迅速做出判断或决策。 

 

二 数据缺失机制

①完全随机缺失(missing completely at random,MCAR):指数据的缺失是完全随机的,不依赖于任何不完全变量或完全变量,不影响样本的无偏性。如:家庭地址缺失; 

②随机缺失(missing at random,MAR):指数据的缺失不是完全随机的,即该类数据的缺失依赖于其他完全变量。如:财务数据缺失情况与企业的大小有关; 

③非随机缺失(missing not at random,MNAR):指数据的缺失与不完全变量自身的取值有关。如:高收入人群的不原意提供家庭收入。

正确判断缺失值的类型会极大方便后续工作,这种能力也需要积累经验和熟悉业务。①②情况下,可以根据情况删除缺失值的数据,随机缺失可以通过已知变量估计缺失值;③情况下,删除含缺失值的数据可能会导致模型出现偏差,填充数据时也需谨慎。

三 缺失值处理的必要性

数据缺失在许多研究领域都是一个复杂的问题,对数据挖掘来说,缺失值的存在,造成了以下影响: 

①使系统丢失大量的有用信息; 

②系统中所表现出的不确定性更加显著,蕴涵的确定性成分更难把握; 

③包含空值的数据会使挖掘过程陷入混乱,导致不可靠的输出 。

数据挖掘算法本身更致力于避免数据过分拟合所建的模型,这一特性使得它难以通过自身的算法去很好地处理不完整数据。因此,缺失值需要通过专门的方法进行推导、填充等,以减少数据挖掘算法与实际应用之间的差距。 

 

四 缺失值的处理方法

(1)删除 

①删除

②成对删除

(2)插补(重点)

1.人工填写(filling manually) 

2.特殊值填充(Treating Missing Attribute values as Special values) 

3.平均值填充(Mean/Mode Completer) 

4.热卡填充(Hot deck imputation,或就近补齐) 

5.K最近距离邻法(K-means clustering) 

6.使用所有可能的值填充(Assigning All Possible values of the Attribute) 

7.回归(Regression) 

8.期望值最大化方法(Expectation maximization,EM) 

9.多重插补(Multiple Imputation,MI) 

10.C4.5方法

(3)不处理缺失值