zoukankan      html  css  js  c++  java
  • 缺失值--有感

    首先,三种缺失方式

    1,完全随机缺失:这种缺失与缺失变量自身属性无关,与其他变量得取值无关。(看完下面两种缺失,返回来理解这句话)

    如何判断是否为完全随机缺失:

    例:

    现有20人,测了A、B两个指标,A指标缺失5个。B指标完整。

    以A指标是否缺失,将样本分为两组。对B指标进行t-test。结果无显著性差异,则认为是完全随机缺失。

    2,随机缺失:缺失与其他变量得取值有关。可导致信息偏差

    例:

    现场问卷调查,骨密度值有缺失,但是高龄组缺失率较高,可能与高龄患者行动不便、无法到现场接受调查有关

    这样得缺失若直接删除,或使用整体样本得均值填充(imputation),导致骨密度值偏高(年龄越高,该值越小)

    3,非随机缺失:某变量缺失不仅与其他变量有关,还与缺失变量自身有关

    例:

    高收入者不愿意填写平均年龄。QAQ

    其次,缺失值处理

    1,直接删除有缺失值得样本(该行)

    建议在样本量远大于变量数,或者缺失样本占比很小。

    2,填补

    2.1,先验法:缺失较少,专家填补

    2.2,均数替代法:用缺失变量下 未缺失数据的均数填充。

    改良:使用不同亚组中的均数

    2.3,回归估计法:

    第一步:将有缺失的变量做因变量,其他变量做自变量,拟线性回归

    第二步:得到(未标化的)预测值,用预测值填补对应的有缺失的数据

    第三步:重复一二步,直至两次方程预测值接近。

    第四步:分别拟合去除缺失样本和填充后全部样本的回归方程,比较决定系数与回归系数。

    缺点:可能造成方差的低估,适用于”有合适“自变量的情况。


    思考:为什么有缺失的变量做因变量还能做回归?

    回归在拟合方程时,对于系数的求解,无论解正规方程组还是用矩阵形式得到解析解,始终用到的是因变量的均数。

    所以可以简单的理解,当因变量存在若干缺失时,不影响第一步回归方程的拟合。


    2.4,期望最大化(expectation maximization):

    第一步:根据已有数据,求出数据的期望值。

    第二步:假定缺失值被代替的基础上作出最大似然估计,如此迭代直至收敛,并以最终的期望值作为估计值。

    (对EM不懂,先挖坑)

    2.5,热卡填充(Hot deck imputation)/ K最近距离邻法(K-means clustering)

    这里的两个方法是从博客中看到的,思想借鉴了分层分析和均值填补。

    热卡是找到与含有缺失值个体A最相近的个体B(object),用B的值填补A的

    KM是根据完整变量的欧式距离将样本聚类,再使用类内均值填补。

    2.6,多重填补法(multiple imputation)

    博客和课本讲的不够清楚,凭个人理解往清楚说一下

    第一步:

    对于变量A在i样本缺失,那么,可以直接根据先验法给出m个估计值

    也可以将样本随机抽出m个组(组样本量根据完整变量个数定),但是每个组都包含i样本

    使用EM算法可以得到m个该缺失值的估计值。

    第二步,根据现有的m个缺失值的估计值,构成m个”完全“数据集,使用完全数据集应当使用的统计方法进行分析。

    得到m个分析结果

    第三步:综合m次结果,确定某一个估计值。(我觉得这就是统计的tricks,或者思想精华所在)

    考虑了missing data imputation的不确定性。常用。

    Valar morghulis
  • 相关阅读:
    一道Twitter面试题
    聊下并发和Tomcat线程数(错误更正)
    Entity Framework系列教程汇总
    SqlServer基础汇总
    .Net Core中间件和过滤器实现错误日志记录
    快速掌握mongoDB(六)——读写分离的副本集实现和Sharing介绍
    快速掌握mongoDB(五)——通过mongofiles和C#驱动操作GridFS
    快速掌握mongoDB(四)—— C#驱动MongoDB用法演示
    快速掌握mongoDB(三)——mongoDB的索引详解
    快速掌握mongoDB(二)——聚合管道和MapReduce
  • 原文地址:https://www.cnblogs.com/super-yb/p/11335701.html
Copyright © 2011-2022 走看看