分享自:

BRITS:基于双向循环神经网络的时间序列缺失值插补方法

期刊:32nd conference on neural information processing systems (NeurIPS 2018), Montréal, Canada.

基于对文档内容的分析,该文档属于 类型a,它报告了一项单一的原创性研究。


基于双向循环神经网络的时序数据插补方法:BRITS

一、 研究作者、机构及发表信息

本研究由来自清华大学和字节跳动人工智能实验室的研究团队共同完成。第一作者为Wei Cao(清华大学,并在字节跳动AI Lab实习期间完成此工作),合作作者包括Dong Wang(杜克大学)、Jian Li(清华大学)、Hao Zhou(字节跳动AI Lab)、Yitan Li(字节跳动AI Lab)以及Lei Li(字节跳动AI Lab)。 该研究论文于2018年在第32届神经信息处理系统大会(Neural Information Processing Systems, NeurIPS 2018)上发表,会议地点为加拿大蒙特利尔。

二、 研究背景与目标

本研究属于机器学习与数据挖掘领域,特别聚焦于时间序列(Time Series)数据的处理与分析。在现实世界的诸多应用场景中,如金融市场分析、医疗健康监测、气象预报和交通流量预测等,常常需要处理由多个(可能相互关联的)变量组成的多元时间序列数据。然而,由于设备故障、通信错误等原因,这些时序数据中普遍存在大量缺失值(Missing Values),这严重影响了后续的分类或回归任务的准确性。

解决缺失值问题的传统方法(如插值、ARIMA等自回归模型、矩阵补全)通常对数据的生成过程施加了较强的假设,例如线性动态、平滑性、低秩性等。这些假设在现实复杂数据(尤其是具有非线性动态关系的数据)面前往往不成立,导致插补性能和泛化能力受限。

因此,本研究旨在提出一种更具普适性和准确性的缺失值插补方法。其核心目标是在不依赖特定数据分布假设的前提下,有效地填充多元时间序列中的缺失值,并同时提升下游分类/回归任务的性能。为此,研究者提出了一种基于循环神经网络(Recurrent Neural Network, RNN) 的新型框架,并将该方法命名为BRITS:Bidirectional Recurrent Imputation for Time Series(面向时间序列的双向循环插补)

三、 研究详细流程与方法

本研究主要包含以下几个关键流程:问题形式化、方法设计与算法构建、以及实验验证。

1. 问题形式化 研究首先定义了多元时间序列的标准表示:设有一个观测序列 (X = {\mathbf{x}_1, \mathbf{x}_2, …, \mathbf{x}_t}),其中每个观测点 (\mathbf{x}_t \in \mathbb{R}^d) 包含 (d) 个特征,并在时间戳 (s_t) 被记录(时间间隔不一定均匀)。为描述缺失情况,引入掩码向量(Masking Vector) (\mathbf{m}_t),其元素 (m^d_t) 在对应特征 (x^d_t) 被观测到时为1,否则为0。对于连续缺失的情况,定义 (\delta^d_t) 表示特征 (d) 在时间 (t) 处距离上一次被观测到的时间间隔。研究目标是在给定包含缺失值的时间序列 (X) 的同时,预测其标签 (y)(分类或回归任务),并尽可能准确地填充 (X) 中的所有缺失值。

2. BRITS方法设计 BRITS的核心思想是将缺失值的插补嵌入到一个双向循环动态系统(Bidirectional Recurrent Dynamical System) 中,直接学习缺失值,并将其视为RNN计算图中的变量参与反向传播更新,而无需对底层数据生成过程做特定假设。研究方法从简到繁,逐步构建了多个算法变体。

  • RITS-I(单向不相关循环插补): 首先考虑最简单情况,假设同一时间步的不同特征之间互不相关(但特征自身在不同时间步相关)。该方法利用单向(前向)RNN进行插补。在每个时间步 (t),模型执行以下操作:a) 利用上一时刻隐藏状态 (\mathbf{h}_{t-1}) 通过回归层预测当前值 (\hat{\mathbf{x}}_t);b) 使用 (\mathbf{m}_t) 将观测值 (\mathbf{x}_t) 与预测值 (\hat{\mathbf{x}}_t) 结合,生成“完整”输入 (\mathbf{x}^c_t)(缺失部分用预测值填充);c) 引入时间衰减因子(Temporal Decay Factor) (\gamma_t) 来建模不规则采样和缺失模式的影响;d) 将 (\gamma_t) 调整后的隐藏状态和 (\mathbf{x}^c_t) 输入RNN单元(实践中使用LSTM)更新隐藏状态 (\mathbf{h}_t);e) 计算当前步的插补损失 (\ell_t)。关键创新在于,将预测值 (\hat{\mathbf{x}}_t) 视为RNN图中的变量而非常数,使得后续时间步的插补误差(被称为“延迟误差”)能够通过反向传播充分更新早期的缺失值估计,解决了将插补值视为常量时梯度回传不充分的问题。

  • BRITS-I(双向不相关循环插补): RITS-I存在“误差延迟”问题,即一个缺失值的误差需要等到下一次观测出现时才能被回传,导致收敛慢和早期预测错误被放大(偏差爆炸)。BRITS-I对此进行了改进,通过利用双向(前向和后向)循环动态系统进行插补。具体而言,模型分别执行前向和后向两个独立的RITS-I过程,得到两个方向的估计序列 ({\hat{\mathbf{x}}_t})、({\hat{\mathbf{x}}‘_t}) 和损失序列 ({\ell_t})、({\ell’t})。同时,引入一致性损失(Consistency Loss) (\ell{const}) 来强制两个方向的预测保持一致。最终的插补结果是两个方向估计的平均,总损失由前向损失、后向损失和一致性损失共同构成。这种方法使得缺失值能从更近的时间步(双向)获得梯度,加速训练并提高估计精度。

  • RITS 与 BRITS(考虑特征相关的循环插补): 以上两种方法假设同一时间步的特征不相关,但在许多现实场景中(如空气质量监测站数据),特征间存在空间相关性。因此,研究进一步提出了RITS和BRITS算法。除了利用历史信息进行“基于历史的估计(History-based Estimation)” (\hat{\mathbf{x}}_t) 外,模型还引入了一个“基于特征的估计(Feature-based Estimation)” (\hat{\mathbf{z}}_t)。该估计通过一个权重矩阵 (W_z)(对角线强制为零)将同一时间步其他特征的“完整”观测 (\mathbf{x}^c_t) 线性组合而成,从而利用特征间的相关性来估计缺失值。最后,通过一个由时间衰减因子和掩码向量学习得到的权重 (\beta_t),将历史估计 (\hat{\mathbf{x}}_t) 和特征估计 (\hat{\mathbf{z}}_t) 融合,得到最终的组合估计 (\hat{\mathbf{c}}_t),并将其用于更新RNN状态。损失函数也相应扩展为 (\hat{\mathbf{x}}_t)、(\hat{\mathbf{z}}_t) 和 (\hat{\mathbf{c}}_t) 三者估计误差的总和。BRITS则是该特征相关算法在双向动态系统上的扩展。

3. 实验设计与验证流程 为了全面评估BRITS方法的性能,研究在三个具有不同特性的真实世界数据集上进行了实验,涵盖了纯插补任务以及插补与分类/回归联合任务。

  • 实验对象与样本量

    1. 空气质量数据:包含北京36个监测站从2014年5月1日至2015年4月30日每小时采集的PM2.5数据,整体缺失率约为13.3%。按先前研究设定,使用第3、6、9、12月作为测试集,其余月份作为训练集。训练时随机选取每36个连续时间步作为一个序列。
    2. 医疗健康数据:来自PhysioNet Challenge 2012,包含4000个重症监护室患者的多元临床时间序列,每个序列有35项测量指标(如白蛋白、心率等),数据在患者入院后48小时内不规则采样,总体缺失率高达78%。该数据集用于插补和二元分类(预测院内死亡)任务。评估插补时,随机屏蔽10%的观测值作为真值,这些值在模型训练时不可见。
    3. 人类活动定位数据:来自UCI数据集,包含5个人执行11种不同活动(如行走、跌倒、坐下)的记录,每人佩戴4个传感器。研究将随机连续的40个时间步作为一个序列,共获得30,917个时间序列。同样用于插补和活动分类任务,并随机屏蔽10%观测值用于插补验证。
  • 基线方法与实验设置: 研究将BRITS与基于RNN的方法和非基于RNN的方法进行了对比。

    • 非RNN基线:包括简单均值填充(Mean)、K近邻(KNN)、矩阵分解(MF)、链式方程多重插补(MICE)、R语言的imputeTS包(基于状态空间模型和卡尔曼平滑),以及针对空气质量数据的先进方法STMVL。
    • RNN基线:包括专为医疗数据设计的GRU-D(以平滑方式隐式处理缺失值)和同样使用双向RNN但将插补值视为常量的M-RNN。 所有模型参数量控制在约80,000左右以确保公平比较。使用Adam优化器,学习率0.001,批次大小64。数据均进行标准化处理。对于纯插补任务,使用10%的非缺失值作为验证集进行早停;对于分类任务,先对模型进行纯插补任务的预训练,然后使用5折交叉验证同时优化插补和分类损失。
  • 评估指标

    • 插补性能:使用平均绝对误差(Mean Absolute Error, MAE)和平均相对误差(Mean Relative Error, MRE)。
    • 分类性能:对于不平衡的医疗数据,使用ROC曲线下面积(Area Under ROC Curve, AUC);对于相对平衡的活动数据,使用标准准确率(Accuracy)。

四、 主要研究结果

实验结果清晰地展示了BRITS方法在多个数据集和任务上的优越性。

1. 插补任务结果 如表1所示,在所有三个数据集上,BRITS及其变体在MAE和MRE指标上均表现最佳。 * 空气质量数据:BRITS取得了11.56的MAE(16.65% MRE),超越了专为该数据设计的STMVL方法(12.12 MAE),也显著优于其他通用方法如imputeTS(19.58 MAE)和M-RNN(14.05 MAE)。这表明即使在不依赖地理信息的条件下,BRITS也能有效捕捉时间序列的动态模式进行精准插补。 * 医疗健康数据:BRITS获得了0.278的MAE(38.72% MRE),是所有方法中最低的。值得注意的是,基于平滑假设的imputeTS(0.390 MAE)在该(相对平滑的)数据集上表现良好,但仍不及BRITS。GRU-D虽然专为医疗数据设计,但其隐式插补策略在此处的显式插补任务中表现不佳(0.559 MAE)。 * 人类活动数据:BRITS再次以0.219 MAE(27.59% MRE)领先。矩阵分解(MF)方法在此数据集上表现很差(0.879 MAE),凸显了不同方法对不同数据特性的敏感性,而BRITS则表现出了良好的鲁棒性。

通过比较RITS-I、BRITS-I、RITS和BRITS四个模型变体的结果,研究还发现:双向循环动态系统(比较RITS-I与BRITS-I,或RITS与BRITS)和考虑特征相关性(比较RITS-I与RITS,或BRITS-I与BRITS)都能有效提升模型的插补性能,验证了模型设计的有效性。

2. 分类任务结果 如表2所示,在联合进行插补与分类的任务中,BRITS同样取得了最优的分类性能。 * 医疗健康数据(AUC):BRITS的AUC为0.850,高于GRU-D(0.834)和M-RNN(0.817)。RITS(0.840)也表现出色,说明特征相关性建模对提升分类精度很重要。 * 人类活动数据(准确率):BRITS达到了96.9%的准确率,优于其他所有方法。BRITS-I和GRU-D均为94.0%,而M-RNN为93.8%。

3. 插补质量对下游任务的影响 研究进一步探讨了插补准确性对下游分类任务的影响。如图3所示,研究者使用不同方法(Mean, KNN, MICE, imputeTS, GRU-D, M-RNN, BRITS)插补后的医疗数据,训练一个独立的随机森林(Random Forest)分类器。结果发现,即使使用简单的均值插补,随机森林也能获得不错的AUC(甚至高于基于GRU-D和M-RNN插补的结果)。这暗示某些专注于分类损失的RNN模型(如GRU-D, M-RNN)产生的插补值可能对独立的下游模型并非最优。而BRITS采用的多任务学习机制,通过同时优化插补损失和分类损失,使得其插补值不仅自身准确,也更有利于提升最终(无论是联合训练还是独立模型)的分类性能。

五、 研究结论与价值

本研究提出了BRITS,一种基于双向循环神经网络的时间序列缺失值插补新方法。其核心贡献在于摒弃了对数据生成过程的强假设,通过将缺失值直接建模为双向循环动态系统中的可学习变量,实现了数据驱动的、普适性强的缺失值估计。

科学价值与应用价值: 1. 方法论创新:BRITS将缺失值作为RNN计算图变量的设计,以及结合历史动态与特征相关性的双向估计框架,为时序数据缺失值处理提供了新的思路和技术路径。 2. 性能优越性:在多个真实数据集上的实验证明,BRITS在插补准确性和下游任务性能上均超越了现有先进方法,显示出其强大的有效性和鲁棒性。 3. 广泛适用性:方法不依赖于线性、平滑或低秩等特定假设,适用于具有复杂非线性动态和关联关系的多元时间序列数据,可广泛应用于金融、医疗、气象、物联网等领域的数据预处理和分析环节。 4. 端到端优化:通过联合训练插补与分类/回归任务,BRITS缓解了传统两步法(先插补再建模)中误差传播的问题,有助于提升最终应用模型的准确性。

六、 研究亮点

  1. 双向循环动态系统建模:利用前向与后向循环动态联合估计缺失值,有效缓解了误差延迟和偏差爆炸问题,加快了模型收敛并提高了估计精度。
  2. 缺失值作为模型变量:这是本研究的关键创新点。通过允许缺失值的估计在反向传播中接收梯度并更新,使得模型能够基于全局一致性更准确地学习这些值,而不是将其视为固定输入。
  3. 历史与特征相关性融合:在RITS/BRITS中,同时考虑了时间维度上的历史依赖和同一时间点上的特征间关联,更全面地利用了可用信息,尤其适合具有空间或特征相关性的多元时序数据。
  4. 多任务联合学习框架:将缺失值插补与最终的分类/回归目标在一个统一的神经网络中共同优化,实现了端到端的学习,提升了整体任务性能。
  5. 详实的实验验证:研究在三个特性各异的真实数据集上进行了全面测试,不仅对比了多种基线方法,还通过模型变体消融实验验证了各个设计组件的有效性,并深入分析了插补质量对下游任务的影响,结论令人信服。

七、 其他有价值内容

研究在附录中(文中提及但未在提供文本中展开)提到了将插补值 (\hat{\mathbf{x}}_t) 视为常量会导致模型训练不稳定的细节,这进一步佐证了将其作为变量参与优化的必要性。同时,研究者公开了数据集链接和所有实现代码,这有助于促进该领域的可重复性研究和进一步应用开发。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com