缺失值处理(前面两种方法偏向于统计学)

Posted lily19

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缺失值处理(前面两种方法偏向于统计学)相关的知识,希望对你有一定的参考价值。

最常见的插值方法是mean imputation(也叫mean substitution)

实际上,这个方法不推荐使用,在大部分情况下,没有其他方法的时候可以采取这个方法。
原因:1: mean imputation没有保持变量之间的关系(因为是观察值的均值,如果说缺失数据是随机缺失的,那么这个均值估计才是无偏的,也是这个方法实现的逻辑。
如果说只是估计均值(点估计),那么这个估计是无偏的,但是会让标准差有偏。但是大部分的研究是对变量之间的关系感兴趣,所以mean imputation不是一个好的选择。
当y值缺失的时候,用mean imputation一般会降低x,y之间的相关性,但是如果是x缺失,用这种方法,会增加x,y之间的相关性)
2. single imputation(也就是单一值替换)会低估误差的方差(error variation),因为这些替换值都是估计的,会存在误差,但是统计软件认为这些
值是真实的,所以会降低标准差的估计,会导致p-value的降低,增加Type I误差的几率。
建议方法: multiple imputation 和 maximum likelihood

处理缺失数据的三个标准:
1、非偏置的参数估计(unbiased parameter estimates): 不管你估计means, regressions或者是odds ratios,都希望参数估计可以准确代表真实的总体参数。
在统计项中,这意味着估计需要是无偏的。有缺失值可能会影响无偏估计,所以需要处理。
2、有效的能力(adequate power):删除缺失数据会降低采样的大小,因此会降低power。如果说问题是无偏的,那么得到的结果会是显著的,那么会有足够的能力来检验这个效力。
(have adequate power to detect your effects)。反之,整个检测可能失效。
3、准确的标准差(accurate standard errors)(影响p值和置信区间):不仅需要参数估计无偏,还需要标准差估计准确,在统计推断中才会有效。
这也是为什么mean imputation的填充方法不好的原因。

两个推荐的关于缺失值的处理方法:multiple imptation 和 maximum likelihood
这两个方法满足前面处理缺失数据的三个标准。
方法的假设前提:这两个方法要求数据是随机缺失的————与缺失值无关。
满足这个假设,那么这个估计(也就是说模型的参数(e.g.回归系数)和标准差)是无偏的,并且不会缺少估计能力(no loss of power)。

multiple imputation(MI):
类似与以前的imputation方法,MI对缺失的数据补充估计值。但是为了捕捉这些估计值的不确定性,MI多次估计这个值。因为在imputation方法中有
内嵌的误差,所以多次估计的值会相似,但不会一致。
这个结果是多个数据集合,所有没有缺失的值有相同的值,并且每个数据集的imputed values的值都是有一点点区别的。(The result is multiple data sets
with identical values for alll of the non-missing values and slightly different valus for the imputed values in each data set.)
针对这些不同的数据集,都用已经选定好的模型进行拟合,合并这些模型的结果。因为这imputed values 里面有方差,所以在参数估计中也会存在方差,这样
就可以准确的估计标准差和p值)

maximum likelihood:
第二种方法是利用最大似然估计分析所有的,非完全的数据集。这个方法不会impute任何数据,但是会利用每一个样本中可提供的数据来计算最大似然估计。
采用最大似然估计的参数是在观察数据中最有可能的参数的值。
当数据丢失的时候,我们可以条件化似然函数(factor the likelihood function)。这个似然是分开某些变量有完整数据和和全部的变量有完整数据的数据分开计算的。
这两个似然函数同时最大化来找到估计值。与multiple imputation类似,这个方法给出无偏参数估计和标准差。这个方法的优点是没有multiple imputation要求的那样
需要仔细的选择需要impute values。但是这种方法仅限于线性模型。

一般在处理缺失值中,可以采用回归的方法或者是knn的方法拟合缺失值。

以上是关于缺失值处理(前面两种方法偏向于统计学)的主要内容,如果未能解决你的问题,请参考以下文章

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

pandas 缺失值处理

R语言-缺失值判断以及处理

使用统计模型本地线性趋势模型处理缺失值

特征工程之缺失值与离群值处理

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