
摘要
时间序列在许多分类/回归任务中被广泛用作信号。时间序列中普遍存在大量缺失值的情况。给定多个相关的时间序列数据,如何填补这些缺失值并预测其类别标签?现有的插补方法通常对底层数据生成过程施加强假设,例如状态空间中的线性动态。本文提出了一种基于循环神经网络(Recurrent Neural Networks, RNN)的新方法——BRITS,用于时间序列数据中缺失值的插补。我们提出的方法直接在一个双向循环动态系统中学习缺失值,无需任何特定假设。插补的值被视为RNN图中的变量,并可以在反向传播过程中有效更新。BRITS具有三个优势:(a) 能够处理时间序列中的多个相关缺失值;(b) 可以推广到具有非线性动态特性的时序数据;(c) 提供了一种数据驱动的插补程序,并适用于一般性的缺失数据场景。我们在三个真实世界的数据集上评估了我们的模型,包括空气质量数据集、医疗保健数据和人类活动定位数据。实验结果表明,我们的模型在插补和分类/回归准确性方面均优于现有最先进方法。
代码仓库
caow13/BRITS
pytorch
NIPS-BRITS/BRITS
pytorch
WenjieDu/SAITS
pytorch
flaviagiammarino/brits-tensorflow
tf
GitHub 中提及
WenjieDu/PyPOTS
官方
pytorch
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| multivariate-time-series-forecasting-on-ushcn | BRITS | MSE: 0.53 |
| multivariate-time-series-imputation-on | BRITS | MAE (PM2.5): 11.56 |
| multivariate-time-series-imputation-on-1 | BRITS | MAE (10% of data as GT): 0.281 |
| multivariate-time-series-imputation-on-2 | BRITS (SingleRes) | OOB Rate (10^−3) : 3.874 Path Difference: 0.571 Path Length: 0.702 Player Distance : 0.417 Step Change (10^−3): 4.811 |
| multivariate-time-series-imputation-on-pems | BRITS (SingleRes) | L2 Loss (10^-4): 4.51 |
| multivariate-time-series-imputation-on-uci | BRITS | MAE (10% missing): 0.219 |
| traffic-data-imputation-on-metr-la-point | BRITS | MAE: 2.34 |
| traffic-data-imputation-on-pems-bay-point | BRITS | MAE: 1.47 |