處理存在缺失值和非等時間間隔的 RNN 模型
論文題目:Recurrent Neural Networks for Multivariate Time Series with Missing Values (發表在 Scientific reports 2018,被引用160+)
背景
多變數的時間序列廣泛存在於各種應用場景。由於種種原因,它們往往不可避免地會攜帶遺漏的觀測結果,這些缺失值或缺失的 pattern 往往能夠為一些有監督的學習任務(如分類)提供豐富的信息。
目前已經有些方法能夠處理時間序列中缺失值。最簡單的方法是忽略掉缺失值,直接在觀察到的值上做分析,當缺少率較高時顯然效果不好。另一類方法是去填充缺失的值,也叫數據補全。實際中用的比較多的有平滑(smoothing)、插值(interpolation)和樣條(spline)等,但是這類方法在補全時不能捕獲變數之間的相關性已經複雜的 pattern。其他比較高級的補全方法是去估計缺失值,這類方法包括 spectral analysis, kernel methods, EM algorithm, matrix completion 和 matrix factorization。這些方法可以結合起來利用,降低結果的不確定性。但是,數據補全和下游的任務(如預測)被分離為兩個子任務,這樣補全的pattern 不能被下游任務充分利用,導致次優解。
現有的 RNN 模型(LSTM/GRU)在序列建模任務上表現優秀。因此本文設計了一個基於 GRU 的模型(GRU-D)能夠充分利用缺失的 pattern (missingness patterns)。缺失的 pattern 包含兩個表示:masking 和 time interval。接下來具體介紹。
方法
定義
多變數時間序列 ,長度為 ,變數數為 。 表示 時刻的第 個變數。由於數據存在缺失值,本文引入了 masking 向量 表示每一個變數是否缺失: