pVLDB 2020

1 abstract & intro

这篇论文横向比较了12种 time-series imputation的方法。作者声称这是第一篇深入讨论这些模型的准确度、效率和参数化。

由于不同的方法使用的编程语言不同,作者用C++ 重新写了这些方法eXascaleInfolab/bench-vldb20 (github.com)

当然,这篇文章也有自己的一些finding:

  • 没有单一的最佳准确算法。

    • SoftImpute 和 TRMF ——>表现出重复趋势的数据集上最准确的算法
    • CDRec ——>具有相关性 变化较大的时间序列上最准确的算法
    • STMVL——> 是高度相关的时间序列上的最准确算法
    • DynaMMo——> 适用于不规则波动的数据集。
  • 较大的缺失块有时可以产生更高的恢复精度。
    • 这是由于某些算法的迭代性质。 大的缺失块需要大量的迭代,这反过来会产生更好的恢复值。
  • BlackOut问题在准确性上仍具有挑战。
    • BlackOut是指所有传感器同时没有观测值。
    • Table 1 种的方法中,没有一种技术能以高精度进行BlackOut补全。【注:这是20年的paper,之后有方法专门进行blackout的补全】论文笔记:Hankel Matrix Factorization for Tagged Time Series to Recover Missing Values during Blackouts_UQI-LIUWJ的博客-CSDN博客
    • 只有 CDRec 和 DynaMMo 显示了(一些)可接受的结果。
  • 小维度产生最好的结果。
    • 依赖于降维的技术可以获得更好的性能。
  • 运行时间差距很大。
    • 最有效的算法 SVDImpute 和 CDRec 比最慢的 DynaMMo 快三个数量级。

2 Background

作者把imputation算法分成的两类

  • matrix-based方法,如上图(b)
  • patten-based方法,如上图(c),查看之间几个interval内时间序列的pattern(query pattern)和需要补全的时间序列的相似程度

论文使用RMSE和MSE作为metric

其中T是missing value 的集合,分别是原始数据和补全预测的值

RMSE会比MSE对大误差更敏感

3 比较的模型

基于矩阵的方法 SVDImpute(2001) SVD分解,只选取前面k维
SoftImpute(2010) 论文笔记 Spectral Regularization Algorithms for Learning Large IncompleteMatrices (soft-impute)_UQI-LIUWJ的博客-CSDN博客
SVT(2014) 基于SVD的分解,但是k是自动确定的
CDRec(2014)

首先利用interpolation和extrapolation进行初步补全

然后迭代进行如下操作,直到收敛

  • 将补全了之后n×m的矩阵X 分解为n×m的矩阵L和m×m的矩阵R 
  • 取L和R的前k列,得到这一轮的
GROUSE(2016)
基于PCA的补全(但PCA不就是SVD嘛。。。不清楚有啥区别)
SPIRIT(2005)
  • 进行流式时间序列的补全
  • 首先使用PCA 降维至k
  • 然后对每个变量拟合一个自回归模型AR,用于补全
  • 估计值和真实值都用于更新AR系数
ROSL(2014)
  • 基于 PCA 的算法
  • 专门用于对损坏的数据进行去噪。
  • 它假设输入矩阵包含损坏的数据,并建议使用矩阵的正交子空间进行更好的估计。
TeNMF(2017)
  • 基于非负矩阵分解
  • 找到并利用时间序列之间的关联性
TRMF(2016) 论文笔记:Temporal Regularized Matrix Factorization forHigh-dimensional Time Series Prediction_UQI-LIUWJ的博客-CSDN博客
基于pattern的方法 TKCM(2017) 使用过去某些patten,来判断当下缺失值应该怎么选择
DynaMMo(2009)

基于卡尔曼滤波和EM

STMVL(2016)
  • 关注两种类型的相关性:

    • 空间相关性(传感器之间的地理距离)
    • 时间相关性(时间值的接近性)。

在内部,STMVL 将数据平滑技术与协同过滤相结合,从历史数据中导出模型。 然后,这些模型用于根据传感器的接近程度(由衰减率表示)来估计缺失值。

4 实验部分

4.1 数据集& 补全效果

eXascaleInfolab/bench-vldb20 (github.com)

4.2 参数的影响

这里只讨论了每个模型最主要的那个参数对CPU和准确度的影响(每张图都根据其最大值进行相应的放缩)

  • 大部分算法中,最重要的是维度K
  • 大部分基于矩阵(第一排所有,第二排左三)的模型运行时间和k同增长【除了SVT]
    • ——>但是增加k并不会保证performance的增加

      • ——>k的作用是降维,保持有用且重要的那些信息;如果k太大的话,边缘和不重要的信息也被考虑进来了,这会破坏imputation的效果

4.3 丢失率大小的影响

这些数据集中的每一个都呈现出一个特殊的特征。

  • Chlorine数据集(参见图 3b)具有重复趋势,TRMF 和 SoftImpute 对此反应特别好。 两种技术分别使用的AR和EM模型可以捕捉数据内部的规律性,准确检测趋势重复。
  • Gas 数据集(参见图 3c)呈现混合相关性,CDRec 可以通过使用权重向量来捕获这些相关性。
  • Climate(参见图 3d)和电力数据集(参见图 3e)都存在不规则性——分别是波动和偏移的时间序列——DynaMMo 和 SoftImpute 处理得很好,因为它们关注时间序列的共同演化
  • temperature数据集(参见图 3f)以其非常高的(地理、空间)相关性而脱颖而出。 这就是为什么通过设计捕获此类模型的 STMVL 表现如此出色的原因。

我们从这个实验中得出结论,目前只能通过专业化、数据特征与算法设计的仔细配对来实现绝对最佳精度。 我们还注意到,专业化可能会牺牲稳定性。 例如,STMVL 在温度数据集上表现良好,但在包含大量时间序列(如 Gas(m = 100))或长时间序列(如 BAFU(n = 50k))的大型数据集中,其准确性尤其差 ,分别参见图 3c 和 3h。

我们还在这个实验中观察到,误差并不总是随着missing rate的大小而增加。 在三个数据集中,Chlorine(参见图 3b)、Gas ((参见图 3c)和Meteo(参见图 3g),趋势相反。 这可能是因为,,missing rate越大,算法可以用来计算恢复的迭代越多。 更多的迭代意味着更多的机会来细化初始化缺失块的值。

4.4 序列数量和长度的影响

图 4 描述了增加时间序列的长度或时间序列的数量时不同数据集的performance。

missing rate 设置为 10%。

当序列长度变化时,时间序列的数量设置为 10。

当序列数量变化时,时间序列长度设置为 1k 。

使用不同数据集的平均 RMSE 和 MAE ,以标准差作为置信区间。

  • 4(a) 4(b)——越长的序列效果越好(更多的数据可以更好地捕捉时间序列的pattern)
  • 4(d)——时间序列数量越多,MAE越小——同一个数据集中更多的时间序列对算法有帮助(矩阵分解中的降维,STMVL中的时空模型)
  • 4(c)——RMSE却没有如MAE一样的特点——RMSE更容易受异常值的影响——增加时间序列后,一些outliner也会被引入进来,这就导致了RMSE可能效果不是很好

4.5 不同丢失数据pattern的影响

这一小节,作者考虑了不同missing pattern情况下时间序列补全的影响

4.5.1 disjoint missing blocks

这里让时间序列的长度和数量都是最大可以取到的值,同时将缺失的时间序列数从1一直递增

  • 对于时间序列较多/较少的模型,RMSE会先增后减

    • 增加是因为我们增加了不完全的时间序列数量,这导致了missing value数量的增多
    • 减少作者的意思是有更多的不完全的时间序列,会避免较早的termination,更好地进行补全(这一点我的理解是,以TRMF为例,可能time-series的某几个片段就是没有autoregression的特点,但其他片段有,所以如果加上带没有autoregression片段的time-series的话,那么反而误差会上去。但之后新加进来的time-series,被遮去的片段可能是包含autoregression特点的,所以又会“向回拉”一点RMSE的值)
  • 6(b)——这边随着missing time-series数量的增多,RMSE确实在减少
    • STMVL没有什么变化,可能是和他是一个时空模型有关
    • 【至于为什么这个没有先增后减的特点,我的猜测是,可能和数据集有关:Chlorine数据集可能一开始就是outliner(这个如果熟悉这个数据集的同学可以帮我check一下】

4.5.2 Overlap missing blocks

每个时间序列的missing block中,一半是overlap在之前的missing block中,一半是新的missing block

可以发现overlap的情况和disjiont 很类似。(如果我disjiont 猜测的是对的话,那么overlap图像的情况也和outliners有关)

4.5.3 missing completely at random MCAR

(如果我disjiont 猜测的是对的话,那么overlap图像的增增减减的情况也和outliners有关,因为哪个时间序列都有一定概率遇到outliner)

  • 对于长时间序列,例如 BAFU,DynaMMo 实现了最佳恢复。原因是更长的序列为该技术提供了更好的机会来学习局部相似性并准确地恢复每个时间序列的多个丢失块。
  • 对于具有许多时间序列的数据集,例如 Gas),CDRec 脱颖而出。它利用跨多个时间序列的相关性,使得一个序列中缺失块的影响被其他序列中的观察值减弱。

4.5.4 blackout

所有时间序列同时丢失数据。

  • 表现都不好

4.4 Efficiency

这里比较了不同条件下的运行时间

4.4.1 时间序列长度和数量的影响

丢失率统一固定在10%

  • 随着时间序列长度/时间序列数目的增加,模型被分成两个部分

    • 基于MF的方法时间所需时间较少(但是TRMF虽然是MF-based,但是所花时间要比MF大一些,因为自回归极值的存在)
    • 非MF的方法运行时间普遍偏长

4.4.2 missing rate的影响

还是两组,慢组和快组

5 模型的比较和总结

作者对模型的性能进行1~5的打分

  • 这里比较的几个特征是

    • 不同时间序列之间的关联程度(比如temperature数据集,时间序列之间的关联度就很大)
    • 混合关联(比如gas数据集中,很多高/低,正/负的关联同时发生)
    • 无规律(波动性、异常点、尖峰)
    • blackout
    • 数据集的大小(时间序列长度/时间序列数量)

  • STMVL在高度关联的数据集上效果很好
  • CDRec在混合关联的数据集上效果很好
  • DynaMMo在不规则数据集上效果很好

6 未来的研究机会


  • 时间序列特征的挖掘

    • 现有的方法只能提取非常basic的时间序列属性
  • 丢失块的初始化问题
    • blackout 问题是missing block 初始化的一种体现
    • 以前用线性插值或0补全的方法很常见,但是效果一般
  • 自动求参
    • 最典型的就是rank r的值
  • 硬件加速

论文笔记:Mind the Gap An Experimental Evaluation of Imputation ofMissing Values Techniques in TimeSeries相关推荐

  1. 论文笔记目录(ver2.0)

    1 时间序列 1.1 时间序列预测 论文名称 来源 主要内容 论文笔记:DCRNN (Diffusion Convolutional Recurrent Neural Network: Data-Dr ...

  2. 《论文笔记》Experimental Research on Cooperative vSLAM for UAVs

    时间:2013 作者: 创新点:   提出一种分布式架构可用于协同vSLAM,经过测试健壮性较好   本文认为分布式协同vSLAM难点:数据融合 初始条件:   多UAV(带立体摄像头+IMU) 系统 ...

  3. 论文笔记【A Comprehensive Study of Deep Video Action Recognition】

    论文链接:A Comprehensive Study of Deep Video Action Recognition 目录 A Comprehensive Study of Deep Video A ...

  4. matting系列论文笔记(二):Background Matting: The World is Your Green Screen

    matting系列论文笔记(二):Background Matting: The World is Your Green Screen 论文链接: 2017 Background Matting: T ...

  5. [论文总结] 深度学习在农业领域应用论文笔记5

    深度学习在农业领域应用论文笔记5 1. Channel pruned YOLO V5s-based deep learning approach for rapid and accurate appl ...

  6. 【time series】时间序列领域的Transformer综述论文笔记

    论文名称:Transformers in Time Series: A Survey 论文年份:2022/5/7 论文作者:阿里巴巴达摩院 论文下载:https://arxiv.org/abs/220 ...

  7. 【论文笔记】ASYMMETRIC SELF-PLAY FOR AUTOMATIC GOAL DISCOVERY IN ROBOTIC MANIPULATION

    [论文笔记]ASYMMETRIC SELF-PLAY FOR AUTOMATIC GOAL DISCOVERY IN ROBOTIC MANIPULATION ABSTRACT [主要工作]用一个单一 ...

  8. Xception深度可分离卷积-论文笔记

    Xception Xception: Deep Learning with Depthwise Separable Convolutions 角度:卷积的空间相关性和通道相关性 . 笔记还是手写好,都 ...

  9. ACL2021论文笔记——Constructing Multi-Modal Dialog Dataset by Replacing Text with Semantically Relev Image

    论文链接: Constructing Multi-Modal Dialogue Dataset by Replacing Text with Semantically Relevant Images ...

最新文章

  1. 赠书 | 从阿里到Facebook,一线大厂这样做深度学习推荐系统
  2. 低价电阻箱-阻值测试
  3. Xamarin Anroid开发教程之下载安装Xamarin
  4. postfix邮件服务
  5. EntityFramwork(1) 源地址https://msdn.microsoft.com/zh-cn/data/jj193542
  6. sap.ca.ui.utils.busydialog - scenario1 - opportunity opened
  7. poj2337 欧拉路径
  8. mongodb中Gson和java##Bean对象转化类
  9. linux进程管理类命令大全,Linux进程管理类命令
  10. select与pselect的信号屏蔽
  11. postman中文设置_严选 | Elastic中文社区201902错题本
  12. 1076. Wifi密码 (15)-PAT乙级真题
  13. Command(命令)
  14. QCC---Temperature component
  15. java 解析yml文件
  16. c语言程序设计超市会员卡管理系统,C语言程序设计课程设计报告超市水果信息管理系统...
  17. 在linux下安装dns,详解在Linux下DNS的安装及配置
  18. Office2016 打开excel出现丢失appvisvsubsystems32.dll
  19. 《强化学习》 基本概念和交叉熵方法
  20. 六大设计原则-接口隔离原则

热门文章

  1. CMD看累了?推荐一个不错的终端模拟器
  2. 基于android的短信收发,android 短信接收短信 与发送短信源码
  3. mysql添加用户并赋予权限命令
  4. C语言学习开头以及个人目标
  5. 直接在html打开ppt,PPT内如何直接看网页
  6. 利用sqlmap注入获取网址管理员账号密码
  7. python换照片底色_详解Python给照片换底色(蓝底换红底)
  8. 如何写PRD文档[最全版]
  9. 大数据工作流开源系统之DRAKE
  10. Android TextView字体样式设置