单元无回答的缺失数据处理方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单元无回答的缺失数据处理方法相关的知识,希望对你有一定的参考价值。

参考技术A

单元无回答的缺失数据处理方法有:K近邻填补法、多重插补法、随机森林填补法。

一、K近邻填补法

根据欧式距离或相关分析来确定距离具有缺失数据个案最近的K个案,将这K个值加权平均来估计出待填补的数据。KNN是一种建模预测的方法,将缺失的属性作为预测目标来预测。这种方法效果较好,但是该方法有个根本的缺陷:如果其他属性和缺失属性无关,则预测的结果毫无意义。但是如果预测结果相当准确,则说明这个缺失属性是没必要考虑纳入数据集中的。

二、多重插补法

多值插补的思想来源于贝叶斯估计,认为待插补的值是随机的,它的值来自于已观测到的值。具体实践上通常是估计出待插补的值,然后再加上不同的噪声,形成多组可选插补值。根据某种选择依据,选取最合适的插补值。

三、随机森林填补法

对缺失值进行预设处理,然后根据其在随机森林中的表现评估不同预设情况下与原缺失路径的相似度,多次迭代得到稳定的估计值。随机森林填补通过构造多棵决策树对缺失值进行填补,使得填补得到的数据具有随机性和不确定性,更能反映出这些未知数据的真实分布。随机森林算法本身就具有很好的分类精度,从而也更进一步确保了得到的填补值的准确性和可靠性。

OPENQUERY 无行返回 无数据返回 数据缺失

用SQL Server 2008 R2 的 Oracle Provider for OLE DB 链接Oracle 。

在SQL Server中使用下面查询语句,没有数据返回

但是再PL/SQL中查找确实是有数据的。

SELECT * FROM OPENQUERY(ORA_LINK,SELECT * FROM USERNAME.TABLE);

后来GOOGLE查了一下,找到问题所在:问题原因与答案

发现Oracle中视图使用的了下面这句

b.CREATEDT LIKE SYSDATE

尝试把这句修改成

to_char(b.CREATEDT,yyyy-MM-dd) = to_char(SYSDATE,yyyy-MM-dd)

问题引刃而解。

暂时还未清楚原因,

可能是Oracle 与 Sql Server上的差异造成的,如果要用到数据库链接的话就只能迁就一下了

 

转载请注明出处, by lazyneal 2016

 

以上是关于单元无回答的缺失数据处理方法的主要内容,如果未能解决你的问题,请参考以下文章

试述MSE,估计量方差,偏倚的含义以及三者间的关系?

53-R语言中缺失值处理方法

数据分析中缺失值的处理

R语言之缺失值和异常值处理

python数据挖掘分析清洗——缺失值处理方法汇总

机器学习缺失值处理方法汇总