一行原来就处理过大量的气象数据,对于缺失的数据处理,我充满了同感
这里介绍一下,我们当时有哪几种方法处理缺失值

直接删除,如果缺失数据量较大,直接舍弃该列数据,因为仅存的数据难以证明几列数据之间的相关性

  • 上下填补法,取前后临近的数据进行插值
  • 前后加权均值法,按照前后时间距离的远近进行加权取平均差值
  • 相似值填补法,取其他相似环境的数据进行插值
  • 线性插值法,将相关数据拟合成一条函数,然后对缺失值进行插值

当然除了上面这五种,业内还有很多其它插值法,如下面这些

(1)人工填写(filling manually)
由于最了解数据的还是用户自己,因此这个方法产生数据偏离最小,可能是填充效果最好的一种。然而一般来说,该方法很费时,当数据规模很大、空值很多的时候,该方法是不可行的。

(2)特殊值填充(Treating Missing Attribute values as Special values)
将空值作为一种特殊的属性值来处理,它不同于其他的任何属性值。如所有的空值都用“unknown”填充。这样将形成另一个有趣的概念,可能导致严重的数据偏离,一般不推荐使用。

(3)平均值填充(Mean/Mode Completer)
将信息表中的属性分为数值属性和非数值属性来分别进行处理。如果空值是数值型的,就根据该属性在其他所有对象的取值的平均值来填充该缺失的属性值;如果空值是非数值型的,就根据统计学中的众数原理,用该属性在其他所有对象的取值次数最多的值(即出现频率最高的值)来补齐该缺失的属性值。另外有一种与其相似的方法叫条件平均值填充法(ConditionalMean> Completer)。
在该方法中,缺失属性值的补齐同样是靠该属性在其他对象中的取值求平均得到,但不同的是用于求平均的值并不是从信息表所有对象中取,而是从与该对象具有相同决策属性值的对象中取得。这两种数据的补齐方法,其基本的出发点都是一样的,以最大概率可能的取值来补充缺失的属性值,只是在具体方法上有一点不同。与其他方法相比,它是用现存数据的多数信息来推测缺失值。

(4)热卡填充(Hot deck imputation, 或就近补齐)
对于一个包含空值的对象,热卡填充法在完整数据中找到一个与它最相似的对象,然后用这个相似对象的值来进行填充。不同的问题可能会选用不同的标准来对相似进行判定。该方法概念上很简单,且利用了数据间的关系来进行空值估计。这个方法的缺点在于难以定义相似标准,主观因素较多。

(5)K最近距离邻法(K-means clustering)
先根据欧式距离或相关分析来确定距离具有缺失数据样本最近的K个样本,将这K个值加权平均来估计该样本的缺失数据。
同均值插补的方法都属于单值插补,不同的是,它用层次聚类模型预测缺失变量的类型,再以该类型的均值插补。假设X=(X1,X2…Xp)为信息完全的变量,Y为存在缺失值的变量,那么首先对X或其子集行聚类,然后按缺失个案所属类来插补不同类的均值。如果在以后统计分析中还需以引入的解释变量和Y做分析,那么这种插补方法将在模型中引入自相关,给分析造成障碍。

(6)使用所有可能的值填充(Assigning All Possible values of the Attribute)
这种方法是用空缺属性值的所有可能的属性取值来填充,能够得到较好的补齐效果。但是,当数据量很大或者遗漏的属性值较多时,其计算的代价很大,可能的测试方案很多。另有一种方法,填补遗漏属性值的原则是一样的,不同的只是从决策相同的对象中尝试所有的属性值的可能情况,而不是根据信息表中所有对象进行尝试,这样能够在一定程度上减小原方法的代价。

(7)组合完整化方法(Combinatorial Completer)
这种方法是用空缺属性值的所有可能的属性取值来试,并从最终属性的约简结果中选择最好的一个作为填补的属性值。这是以约简为目的的数据补齐方法,能够得到好的约简结果;但是,当数据量很大或者遗漏的属性值较多时,其计算的代价很大。另一种称为条件组合完整化方法(Conditional
Combinatorial
Complete),填补遗漏属性值的原则是一样的,不同的只是从决策相同的对象中尝试所有的属性值的可能情况,而不是根据信息表中所有对象进行尝试。条件组合完整化方法能够在一定程度上减小组合完整化方法的代价。在信息表包含不完整数据较多的情况下,可能的测试方案将巨增。

(8)回归(Regression)

(9)期望值最大化方法(Expectation maximization,EM)
在缺失类型为随机缺失的条件下,假设模型对于完整的样本是正确的,那么通过观测数据的边际分布可以对未知参数进行极大似然估计(Little andRubin)。
这种方法也被称为忽略缺失值的极大似然估计,对于极大似然的参数估计实际中常采用的计算方法是期望值最大化(Expectation Maximization,EM)。
该方法比删除个案和单值插补更有吸引力,它一个重要前提:适用于大样本。有效样本的数量足够以保证ML估计值是渐近无偏的并服从正态分布。但是这种方法可能会陷入局部极值,收敛速度也不是很快,并且计算很复杂。

(10)多重填补(Multiple Imputation,MI)

天下武功,唯快不破

一行将选了编程技术各方面的经典书籍,并整理成电子书分享在看的知友

计算机必看经典书单(含下载方式)​

如果对你有帮助的话,记得给一行点个赞哦~

你好,我是一行,厦门大学硕士毕业,用python发表过两篇顶刊论文 日常分享python的技术学习,面试技巧,赚钱认知等,欢迎关注
@一行玩python 一行肝了3天,精选了9个方面的计算机技术资料,希望能够对你能有帮助 链接:
https://pan.baidu.com/s/1-OKeUGF1mWJM3O4mEV0DLg 提取码: 0000

时间序列数据如何插补缺失值?相关推荐

  1. python时间序列缺失值_时间序列数据如何插补缺失值?

    在多元时间序列中,数据缺失的情况十分普遍.最近我在做这方面的literature review,在这里回顾总结一下 . 时间序列缺失值处理方法主要分为三大类: 第一类是直接删除法,该方法可能会舍弃数据 ...

  2. R语言中插补缺失值的R包simputation

    R语言中有很多插补缺失值的R包,但是这些R包的使用语法都不一样,不利于学习和记忆. simputation包旨在简化缺失值插补的流程,提供了统一的使用语法,提供多种常见的插补缺失值的方法,可以和管道符 ...

  3. 多通道时序数据读取matlab,科学网—卫星时序数据-平滑-插补-MATLAB - 李雷的博文...

    %程序用于平滑处理数据,以及将间隔时间数据插值成每天 clc clear %光学卫星获取的数据存在受云影响的情况,通过滤波的方式将极低或极高等不合理值进行处理(以MODIS中的LAI为例) [a,b] ...

  4. R语言 高版本 安装DMwR2 用knn插补缺失值

    最近在学习R语言处理缺失值,可是knn的包DMwR2 ,高版本不提供了,尝试很多办法,都失败了. 1.将R包下载到本地,然后去R里面安装 尝试后放弃,一直不行 2.直接在R里面下载安装R包 我现在R官 ...

  5. MATLAB数据预处理之缺失值插补

    文章目录 前言 1 加载原始数据 2 查找缺失值并填充缺失值 总结 2021年4月5日09:51:56更新 2021年5月18日10:46:15更新 2022年10月15日07:25:01更新 参考资 ...

  6. 数据预处理 第3篇:数据预处理(使用插补法处理缺失值)

    插补法可以在一定程度上减少偏差,常用的插补法是热卡插补.拟合插补和多重插补.拟合插补,要求变量间存在强的相关性:多重插补(MCMC法),是在高缺失率下的首选插补方法,优点是考虑了缺失值的不确定性. 一 ...

  7. python 线性回归回归 缺失值 忽略_机器学习 第3篇:数据预处理(使用插补法处理缺失值)...

    插补法可以在一定程度上减少偏差,常用的插补法是热卡插补.拟合插补和多重插补.拟合插补,要求变量间存在强的相关性:多重插补(MCMC法),是在高缺失率下的首选插补方法,优点是考虑了缺失值的不确定性. 一 ...

  8. python预处理缺失值_数据预处理 第3篇:数据预处理(使用插补法处理缺失值)...

    插补法可以在一定程度上减少偏差,常用的插补法是热卡插补.拟合插补和多重插补.拟合插补,要求变量间存在强的相关性:多重插补(MCMC法),是在高缺失率下的首选插补方法,优点是考虑了缺失值的不确定性. 一 ...

  9. python 插补数据_python 2020中缺少数据插补技术的快速指南

    python 插补数据 Most machine learning algorithms expect complete and clean noise-free datasets, unfortun ...

  10. 独家 | 在机器学习中利用统计插补来处理缺失值(附代码)

    作者:Jason Brownlee 翻译:吴振东 校对:冯羽 本文约4500字,建议阅读10分钟 本文以病马数据集为例,帮助你了解在机器学习领域如何利用统计策略来处理缺失值,对代码进行了较为详细的讲解 ...

最新文章

  1. #Ruby# Introspect (1)
  2. 2017-09-29 前端日报
  3. MATLAB_9-模式识别笔记
  4. Callable、Future阻塞队列阻塞栈
  5. Kotlin问题解决
  6. 数据中心进水了怎么办?数据中心如何防洪?
  7. Jeecg-Boot使用war包在Tomcat中部署之参考教程
  8. Openjudge-计算概论(A)-计算三角形面积
  9. Spring Boot 特性
  10. PHP 中检查是否关联数组(多维数组)的方法 (UPDATE!)
  11. phprpc的简单使用
  12. lingo软件的基本使用方法_(PS软件)PHOTOSHOP基础操作和基本工具的使用
  13. 【转】PCDATA和CDATA的区别究竟是什么呢?
  14. 逐点比较法的c语言编程,逐点比较法直线插补c语言程序
  15. 79元限抢Jeep专柜「冰丝速干裤」!穿上它让你“胯下生风”,比裸奔还爽!
  16. 性能测试从零开始(视频笔记 20210504)
  17. 网络信息化时代,3D产品建模宣传很到位
  18. BI案例:BI在连锁零售业应用(ZT)【转】
  19. wallpaper engine怎么用?
  20. 通常IT创业可以有7种盈利方式

热门文章

  1. 银联支付接口申请-手机控件支付
  2. 普中HC6800V2.2开发板思考记录-蜂鸣器(谱曲软件自动生成代码,烧录就可用,内含醉酒的蝴蝶,大海,把悲伤留给自己这三首歌)
  3. ROS2中的行为树 BehaviorTree
  4. 全民健身下的体育消费,是怎么升级的?
  5. 魅族Android版本,魅族Flyme安卓版本
  6. 雷蛇鼠标 雷云3 驱动无法启动 Razer Syncapse 3 Failed to start
  7. The Tangled Web: A Guide to Securing Modern Web Applications 原版pdf
  8. ankhsvn 使用_AnkhSVN:在Visual Studio中使用Subversion
  9. NanoMsg框架|NanoMsg的简介
  10. Unity 加载读取PPT