加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 教程 > 正文

没有完美的数据插补法,只有最适合的

发布时间:2018-10-30 01:26:12 所属栏目:教程 来源:大数据文摘
导读:副标题#e# 大数据文摘出品 编译:张秋玥、胡笳、夏雅薇 数据缺失是数据科学家在处理数据时经常遇到的问题,本文作者基于不同的情境提供了相应的数据插补解决办法。没有完美的数据插补法,但总有一款更适合当下情况。 我在数据清理与探索性分析中遇到的最常

注:以上数据来自imputeTS库的tsAirgap;插补数据被标红。

  1. library(imputeTS) 
  2.  
  3. na.random(mydata)                  # Random Imputation 
  4. na.locf(mydata, option = "locf")   # Last Obs. Carried Forward 
  5. na.locf(mydata, option = "nocb")   # Next Obs. Carried Backward 
  6. na.interpolation(mydata)           # Linear Interpolation 
  7. na.seadec(mydata, algorithm = "interpolation") # Seasonal Adjustment then Linear Interpolation 

四、均值,中位数与众数

计算整体均值、中位数或众数是一种非常基本的插补方法,它是唯一没有利用时间序列特征或变量关系的测试函数。该方法计算起来非常快速,但它也有明显的缺点。其中一个缺点就是,均值插补会减少数据的变化差异(方差)。

  1. library(imputeTS) 
  2.  
  3. na.mean(mydata, option = "mean")   # Mean Imputation 
  4. na.mean(mydata, option = "median") # Median Imputation 
  5. na.mean(mydata, option = "mode")   # Mode Imputation 
  6.  
  7. In Python 
  8. from sklearn.preprocessing import Imputer 
  9. values = mydata.values 
  10. imputer = Imputer(missing_values=’NaN’, strategy=’mean’) 
  11. transformed_values = imputer.fit_transform(values) 
  12.  
  13. # strategy can be changed to "median" and “most_frequent” 

五、线性回归

首先,使用相关系数矩阵能够选出一些缺失数据变量的预测变量。从中选择最靠谱的预测变量,并将其用于回归方程中的自变量。缺失数据的变量则被用于因变量。自变量数据完整的那些观测行被用于生成回归方程;其后,该方程则被用于预测缺失的数据点。在迭代过程中,我们插入缺失数据变量的值,再使用所有数据行来预测因变量。重复这些步骤,直到上一步与这一步的预测值几乎没有什么差别,也即收敛。

该方法“理论上”提供了缺失数据的良好估计。然而,它有几个缺点可能比优点还值得关注。首先,因为替换值是根据其他变量预测的,他们倾向于“过好”地组合在一起,因此标准差会被缩小。我们还必须假设回归用到的变量之间存在线性关系——而实际上他们之间可能并不存在这样的关系。

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读