本文链接:个人站 | 简书 | 优快云
版权声明:除特别声明外,本博客文章均采用 BY-NC-SA 许可协议。转载请注明出处。
最近打算分享一些基于深度学习的时间序列预测方法。这是第二篇。
今次介绍的是 Amazon 在 NIPS 2018 上发表的文章 Deep State Space Models for Time Series Forecasting。
状态空间模型(State Space Models)起源于控制工程领域,典型的应用包括卡尔曼滤波等。时间序列分析中的一些经典方法,如 ARIMA、Holt-Winters’ 等,都可以改写成状态空间模型。状态空间模型对每个时间序列单独建模,无法利用序列之间相似的模式,因而对历史数据较少的序列往往无能为力。
DeepState 将状态空间模型与深度学习结合起来。先用循环神经网络将特征映射为状态空间模型的参数,再使用状态空间模型预测序列在每个时间步上取值的概率分布。所有的时间序列共享网络本身的参数,而每个时间序列都有独立的状态空间参数。这样一来,既能从大量的序列和特征中学习到相似的模式,又能使模型具有一定的可解释性。
Model
通常来说,状态空间模型包含一个状态转移方程和一个观测模型,前者描述了隐藏状态随时间变化的规律 p ( l t ∣ l t − 1 ) p(l_t|l_{t-1}) p(lt∣lt−1),后者概括了给定隐藏状态下观测值的条件概率分布 p ( z t ∣ l t ) p(z_t|l_t) p(zt∣lt),其中隐藏状态 l t ∈ R L l_t \in \mathbb R^L lt∈RL。
DeepState 使用的是线性高斯状态空间模型,其状态转移方程形如1
l t = F t l t − 1 + w t ε t , ε t ∼ N ( 0 , 1 ) l_t = F_tl_{t-1} + w_t\varepsilon_t,\qquad \varepsilon_t\sim N(0, 1) lt=Ftlt−1+wtεt,εt∼N(0,1)
观测模型形如
z t = H t l t + b t + v t ϵ t , ϵ t ∼ N ( 0 , 1 ) z_t = H_t l_t + b_t+v_t\epsilon_t, \qquad \epsilon_t\sim N(0, 1) zt=Htlt+bt+vtϵt,ϵt∼N(0,1)
其中 F t ∈ R L × L F_t\in\mathbb R^{L\times L} Ft∈RL×L 为状态转移矩阵, w t ∈ R + L w_t\in\mathbb R_+^L wt∈R+L 是状态转移噪声的强度, H t ∈ R 1 × L H_t\in\mathbb R^{1\times L} Ht∈R1×L 和 b t ∈ R b_t\in\mathbb R bt∈R 是观测模型的权重和偏置, v t ∈ R + v_t\in\mathbb R_+ vt