时序矩阵分解 | 时序数据修补与预测

0. 时序预测方法的优势

时序分析与预测是天气预测、需求预测以及交通预测等诸多应用的核心。无论是天气预测中的气象传感器收集的气象数据还是交通预测中地磁线圈与视频卡口等回传的流量与车速数据等都有明显的时间特征。比如在交通上,每周交通量一般呈现周期性变化,在历史数据中,同一周日(比如每一个周的周五),通常具有较高的相似性,也就是说,某一周日(如周五)的交通量可能不仅与前几天(如周三、周四)的交通量有关,还与一周前(上周周五)的交通量有关。这样的时序关系能够在时序分析方法中反映出来,而非时序的分析方法则不能反映出这样的时序特征。所以时序分析方法如AR(Autoregression)与DLM(Dynamic linear models)等相比于其他非时序的方法如MF(Matrix factorization)更能真实反应数据本身的时序特征,具有天然的优势。

1.时序预测受到的挑战

虽然AR与DLM等时序分析方法相比与非时序的MF等方法具有诸多优势,但也受到诸多问题的挑战。随着传感器的发展以及数据种类和数据量的不断增加,应用中对时序分析与预测算法的可扩展性(处理大量、高维数据的能力)与在面对缺失数据(传感器故障、人为失误等情况造成的数据缺失)时的稳定性的要求不断提高。

1.1 可扩展性挑战

在天气预测中,时序分析需要处理的是来自上千种不同传感器传回的多达50,000种气象参数,而交通中同样需要分析与预测成千上万条不同路段未来的交通状态。这样的高维数据往往意味着庞大的计算量,然而大多数的传统时序分析方法如AR(Autoregression)与DLM(Dynamic linear models)等,由于其较高的计算复杂度,只适用于较低维的时序数据。一个 L 阶的AR(Autoregression)模型需要 \mathcal{o} (TL^2n^4+L^3n^6) 的计算量来估计 \mathcal{o}(Ln^2) 个参数。而基于卡尔曼滤波的DLM则需要 \mathcal{o}(kn^2T+k^3T) 的计算量来更新参数,其中 k 是隐藏变量的维度,在通常情况会选取得比 n 更大。在MLE(Maximum likelihood estimator)中广泛使用的R-DLM,不能处理n超过十位的数据集。

1.2 缺失数据敏感性挑战

AR模型不能处理存在数据缺失的哪怕是一维的数据集,对高维的数据更加无能为力。

2.矩阵分解(Matrix factorization)

自然地,常以矩阵的形式对高维时序数据进行建模,如交通中各路段的交通量在一段时间内的变化可以作为一个个时间序列存储在交通量矩阵中(一个路段的时间序列存储在矩阵的一行中)。

由于不同时间序列之间往往相互关联,如在交通中,某一路段的交通量与其上游、下游路段的交通量直接相关,往往通过MF(Matrix Factorization)或MC(Matrix completion)等方法学习时序矩阵的整体特征进行数据修复。由于较低的计算复杂度 \mathcal{o}(n) , MF与MC方法可以处理较大规模的数据。在MF中,观测到的n维时间序列数据被组织在矩阵 \mathcal{Y} \in \mathbb{R}^{n\times T} 中,矩阵 \mathcal{Y} 由维度特性矩阵 W \in \mathbb{R}^{n \times r} 与时间特性矩阵 X \in \mathbb{R}^{r \times T} 的组合进行低秩逼近,从而修补缺失数据。

\mathcal{Y} \approx WX

使用最小二乘法、梯度下降等方法求解下述最小化问题,从而对矩阵 W 与矩阵 X 进行逼近:

\min_{W X}  \sum_{(i,t) \in \Omega}(\mathcal{Y}_{it}-w_i^Tx_t)^2+\lambda_w\mathcal{R}_w(W)+\lambda_x\mathcal{R}_x(X)

其中, \Omega 是原矩阵 \mathcal{Y}\in \mathbb{R}^{n \times T} 中非零元所处位置的集合; \sum_{(i,t)\in \Omega}(\mathcal{Y}-w_i^Tx_t)^2 为残差矩阵F范数的平方,用来描述 WX矩阵 与原矩阵 \mathcal{Y} 的差异;\mathcal{R}_w\mathcal{R}_x 分别是 WX 的正则项,用来防止过拟合。

\mathcal{R}_w(W)=||W||_F^2=\sum_{i=1}^n||\boldsymbol{w}_i||^2=\sum_{i=1}^n w_i^Tw_i

\mathcal{R}_x(X)=||X||_F^2=\sum_{t=1}^T||\boldsymbol{x}_t||^2=\sum_{t=1}^T x_t^Tx_t

MF方法可以对缺失数据进行修复,但是对于预测问题则无能为力。此外,由于MF方法并没有考虑数据的时序特性,对上述的交通与天气数据的修复效果并不理想。MF过程如下图所示:

3.时序正则化矩阵分解(Temporal regularized matrix factorization)

正如 0 中提到的,交通、天气等数据具有时序特征,某一个时间槽的状态可能与该时间槽之前的一个或者几个时间槽的状态有关。如下图所示的时序结构,每一个时间槽的状态就与该时间槽之前第一个和第三个时间槽的状态有关。

上图所示的时序结构,可以反映在时间特性矩阵X \in \mathbb{R}^{r \times T}中,就是矩阵 X 的任一列 x_t 是其前第一列 x_{t-1} 和前第三列 x_{t-3} 的组合,组合方式如下:

\boldsymbol{x}_{t}\approx \boldsymbol{\theta}_{1}\circledast\boldsymbol{x}_{t-1}+\boldsymbol{\theta}_{3}\circledast\boldsymbol{x}_{t-3}

例如:若 \boldsymbol{x}_{4}=[1,1,1,1]^T , \boldsymbol{x}_{2}=[1,2,3,4]^T , \theta_1=[2,2,2,2]^T , \theta_2=[1,1,1,1]^T ,则\boldsymbol{x}_{5}\approx \boldsymbol{\theta}_{1}\circledast\boldsymbol{x}_{4}+\boldsymbol{\theta}_{3}\circledast\boldsymbol{x}_{2}  \\=[2,2,2,2]^T+[1,2,3,4]^T=[3,4,5,6]^T

一般地,时间特性矩阵X \in \mathbb{R}^{r \times T}的列之间的关系可以表示为:

\boldsymbol{x}_{t}\approx\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}

其中 ,\mathcal{L} 是一个滞后集,存储 X 中列与列之间的关联距离,比如实例中 \mathcal{L}=\{1,3\}\boldsymbol{\theta}_l\boldsymbol{x}_{t-l} 的时序系数向量,所有\boldsymbol{\theta}_l组合为时序系数矩阵 \boldsymbol{\Theta} ,比如实例中的 \boldsymbol{\Theta}=[\boldsymbol{\theta}_1,\boldsymbol{\theta}_3]

基于上述时间特性矩阵X \in \mathbb{R}^{r \times T}的列之间的时序关系,通过在MF方法的基础上引入时序正则项 \mathcal{R}_{AR}\left(X\mid \mathcal{L},\Theta,\eta\right) 如下,以自回归(AR:autoregressive)的方式对最适应该系统的时序系数矩阵\boldsymbol{\Theta}、维度特性矩阵 W 以及时间特性矩阵 X 进行学习,而不用实现人为设定时序系数\boldsymbol{\Theta}

    \mathcal{R}_{AR}\left(X\mid \mathcal{L},\Theta,\eta\right)=\frac{1}{2}\sum_{t=l_d+1}^{n}\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)^T\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)+\frac{\eta}{2}\sum_{t=1}^{n}\boldsymbol{x}_{t}^T\boldsymbol{x}_{t}

这就是在MF方法基础上引入时序关系的时序正则化矩阵分解TRMF(Temporal regularized matrix factorization)方法。TRMF可以对高维数据( n 较大)进行数据修复与预测。TRMF的过程如下图所示:

由于TRMF方法中时间特性矩阵 X 列向量之间存在时序关系,可以通过现有的x_t,t=0,1,...,T 组合出 x_t,t=T+1,T+2,... ,再根据计算出的x_t,t=T+1,T+2,...\mathcal{Y}_{it}=w_i^Tx_t 对未来数据 \mathcal{Y}_{it} , i\in\{1,2,...,n\} , t\in\{T+1,T+2,...\} 进行预测。TRMF预测过程如下图所示:

4.TRMF求解

与MF方法类似,TRMF的求解是通过交叉迭代时序系数矩阵\boldsymbol{\Theta}、维度特性矩阵 W 以及时间特性矩阵 X使得下式最小化的过程。

    \min_{W,X,\Theta}\frac{1}{2}\underbrace{\sum_{(i,t)\in\Omega}\left(y_{it}-\boldsymbol{w}_{i}^T\boldsymbol{x}_{t}\right)^2}_{\text{sum of squared residual errors}}+\lambda_{w}\underbrace{\mathcal{R}_{w}\left(W\right)}_{W-\text{regularizer}}+\lambda_{x}\underbrace{\mathcal{R}_{AR}\left(X\mid \mathcal{L},\Theta,\eta\right)}_{\text{AR-regularizer}}+\lambda_{\theta}\underbrace{\mathcal{R}_{\theta}\left(\Theta\right)}_{\Theta-\text{regularizer}}

( 4.1)

其中,

\mathcal{R}_w(W)=||W||_F^2=\sum_{i=1}^n||\boldsymbol{w}_i||^2=\sum_{i=1}^n w_i^Tw_i

\mathcal{R}_\Theta(\Theta)=||\Theta||_F^2=\sum_{l\in\mathcal{L}}||\boldsymbol{\theta}_l||^2=\sum_{l\in\mathcal{L}}{\boldsymbol\theta}_l^T{\boldsymbol\theta}_l

    \mathcal{R}_{AR}\left(X\mid \mathcal{L},\Theta,\eta\right)=\frac{1}{2}\sum_{t=l_d+1}^{n}\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)^T\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)+\frac{\eta}{2}\sum_{t=1}^{n}\boldsymbol{x}_{t}^T\boldsymbol{x}_{t}

4.1 W 迭代式推导

如前面所述,TRMF的求解就是更新 WX 以及 \Theta 的过程。而由于 W 仅与式(4.1)中的第1、2项有关,因此,更新W需要最小化:

    \min_{W}\frac{1}{2}\underbrace{\sum_{(i,t)\in\Omega}\left(y_{it}-\boldsymbol{w}_{i}^T\boldsymbol{x}_{t}\right)^2}_{\text{sum of squared residual errors}}+\frac{1}{2}\lambda_{w}\underbrace{\sum_{i=1}^{n}\boldsymbol{w}_{i}^T\boldsymbol{w}_{i}}_{\text{sum of squared entries}} (4.2)

使用最小二乘法求解上述规划问题,推导 w_i 迭代式 ,首先将上式对 w_i 求导:

  \frac{ d ( \frac{1}{2} \sum_{(i,t)\in\Omega}\left(y_{it}-\boldsymbol{w}_{i}^T\boldsymbol{x}_{t}\right)^2+\frac{1}{2}\lambda_{w}\sum_{i=1}^{n}\boldsymbol{w}_{i}^T\boldsymbol{w}_{i})}{d w_i}

=\sum_{t:(i,t)\in\Omega}(w_i^Tx_t-\mathcal{Y}_{it})x_t +\lambda_ww_i

=\sum_{t:(i,t)\in\Omega}(w_i^Tx_t\ x_t-\mathcal{Y}_{it}x_t) +\lambda_ww_i

=\sum_{t:(i,t)\in\Omega}w_i^Tx_t\ x_t-\sum_{t:(i,t)\in\Omega}\mathcal{Y}_{it}x_t +\lambda_ww_i

令该导数为零,即

\sum_{t:(i,t)\in\Omega}w_i^Tx_t\ x_t- \sum_{t:(i,t)\in\Omega}\mathcal{Y}_{it}x_t+\lambda_ww_i=0 (4.3)

又由

\sum_{t:(i,t)\in\Omega}w_i^Tx_t\ x_t=\sum_{t:(i,t)\in\Omega}(x_t^Tw_i)^Tx_t=\sum_{t:(i,t)\in\Omega}\underbrace{x_t^Tw_i}_{\text 标量}x_t=\sum_{t:(i,t)\in\Omega}x_t\underbrace{x_t^Tw_i}_{\text 标量}

式(4.3)变为

\sum_{t:(i,t)\in\Omega}x_tx_t^Tw_i-\sum_{t:(i,t)\in\Omega}\mathcal{Y}_{it}x_t+\lambda_ww_i=0

\left( \sum_{t:(i,t)\in\Omega}x_tx_t^T-\lambda_wI \right) w_i=\sum_{t:(i,t)\in\Omega}\mathcal{Y}_{it}x_t

w_i,i=1,2,...,n 的更新迭代式为

\color{red}{w_i\Leftarrow\left( \sum_{t:(i,t)\in\Omega}x_tx_t^T-\lambda_wI \right) ^{-1}\sum_{t:(i,t)\in\Omega}\mathcal{Y}_{it}x_t}


4.2 X 迭代式推导

由于式(4.1)中第2、4项与 X 无关,更新 X需要最小化:

    \min_{X}\frac{1}{2}\underbrace{\sum_{(i,t)\in\Omega}\left(y_{it}-\boldsymbol{w}_{i}^T\boldsymbol{x}_{t}\right)^2}_{\text{sum of squared residual errors}}  +\frac{1}{2}\lambda_{x}\underbrace{\sum_{t=l_d+1}^{n}\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)^T\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)}_{\text{sum of squared residual errors}} +\frac{1}{2}\lambda_{x}\eta\underbrace{\sum_{t=1}^{T}\boldsymbol{x}_{t}^T\boldsymbol{x}_{t}}_{\text{sum of squared entries}}

其中, l_d=\max_{l \in \mathcal{L}}(l) ,使用最小二乘法求解上述规划问题,推导 x_t 迭代式,首先明确上式中与 x_t有关的项:

  • 第一项: \mathcal{Y}WX 残差项,对于 \boldsymbol{x}_t,t=1,2,...,T

\sum_{i:(i,t)\in\Omega}\left(y_{it}-\boldsymbol{w}_{i}^{T}\boldsymbol{x}_{t}\right)^2=\sum_{i:(i,t)\in\Omega}\left(y_{it}-\boldsymbol{w}_{i}^{T}\boldsymbol{x}_{t}\right)^T\left(y_{it}-\boldsymbol{w}_{i}^{T}\boldsymbol{x}_{t}\right) =\boldsymbol{x}_{t}^{T}\left(\sum_{i:(i,t)\in\Omega}\boldsymbol{w}_{i}\boldsymbol{w}_{i}^{T}\right)\boldsymbol{x}_{t}-\underbrace{\boldsymbol{x}_{t}^{T}\left(\sum_{i:(i,t)\in\Omega}y_{it}\boldsymbol{w}_{i}\right)}_{\text scalar}-\underbrace{\left(\sum_{i:(i,t)\in\Omega}y_{it}\boldsymbol{w}_{i}\right)^T\boldsymbol{x}_{t}}_{\text scalar}+\text{const}

=\boldsymbol{x}_{t}^{T}\left(\sum_{i:(i,t)\in\Omega}\boldsymbol{w}_{i}\boldsymbol{w}_{i}^{T}\right)\boldsymbol{x}_{t}-2\boldsymbol{x}_{t}^{T}\left(\sum_{i:(i,t)\in\Omega}y_{it}\boldsymbol{w}_{i}\right)+\text{const} (4.4)


  • 第二项:x_t\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}  残差项,对于 \boldsymbol{x}_t,t=l_d+1,...,T (前 l_d 列不由前项组合得到,故前 l_d 无时序正则项)。

由于时间特性矩阵 X 中列的组合关系, x_t 不仅会出现在 \left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)^T\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right) 中,还可能出现在 \left(\boldsymbol{x}_{t+h}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t+h-l}\right)^T\left(\boldsymbol{x}_{t+h}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t+h-l}\right) 中,作为 x_{t+h},h\in\mathcal{L} 的前项。因此第二项中出现 x_t 的项有:

\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)^T\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)+\sum_{h\in \mathcal{L},h+t\leq n}\left(\boldsymbol{x}_{t+h}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t+h-l}\right)^T\left(\boldsymbol{x}_{t+h}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t+h-l}\right)

=\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)^T\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)+ \sum_{h\in \mathcal{L},h+t\leq n}\left(\boldsymbol{x}_{t+h}-\sum_{l\in\mathcal{L},l \neq h}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t+h-l}-\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}\right)^T\left(\boldsymbol{x}_{t+h}-\sum_{l\in\mathcal{L},l \neq h}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t+h-l}-\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}\right)

\boldsymbol{\psi}_{t+h}=\boldsymbol{x}_{t+h}-\sum_{l\in\mathcal{L},l\neq h}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t+h-l} ,则上式继续化简为

=\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)^T\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)+\sum_{h\in \mathcal{L},h+t\leq T}\left(\boldsymbol{\psi}_{t+h}-\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}\right)^T\left(\boldsymbol{\psi}_{t+h}-\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}\right)

=\boldsymbol{x}_{t}^{T}\boldsymbol{x}_{t}-\boldsymbol{x}_{t}^{T}\left(\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)-\left(\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)^T\boldsymbol{x}_{t} +\sum_{h\in\mathcal{L},h+t\leq T}\left(\boldsymbol{\psi}_{t+h}-\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}\right)^T\left(\boldsymbol{\psi}_{t+h}-\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}\right)+\text{const}

=\boldsymbol{x}_{t}^{T}\boldsymbol{x}_{t}-\underbrace{\boldsymbol{x}_{t}^{T}\left(\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)}_{\text scalar}-\underbrace{\left(\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)^T\boldsymbol{x}_{t}}_{\text scalar} +\sum_{h\in\mathcal{L},h+t\leq T}\left(\underbrace{\boldsymbol{\psi}_{t+h}^T\boldsymbol{\psi}_{t+h}}_{\text const}-\underbrace{ \boldsymbol{\psi}_{t+h}^T\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}}_{\text scalar}-\underbrace{\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}^T\boldsymbol{\psi}_{t+h}}_{scalar}+\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}^T\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}\right)

=\boldsymbol{x}_{t}^{T}\boldsymbol{x}_{t}-\boldsymbol{x}_{t}^{T}\left(\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)-\boldsymbol{x}_{t}^T\left(\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)+\sum_{h\in\mathcal{L},h+t\leq T}\left(\boldsymbol{\psi}_{t+h}^T\boldsymbol{\psi}_{t+h}-\boldsymbol{\psi}_{t+h}^T\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}-\boldsymbol{\psi}_{t+h}^T\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}+\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}^T\boldsymbol{\theta}_{h}\circledast\boldsymbol{x}_{t}\right)

=\boldsymbol{x}_{t}^{T}I\boldsymbol{x}_{t}-2\boldsymbol{x}_{t}^{T}\left(\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)-2\boldsymbol{x}_{t}^T\sum_{h\in\mathcal{L},h+t\leq T}\boldsymbol{\psi}_{t+h}\circledast\boldsymbol{\theta}_{h}+\boldsymbol{x}_t^T\sum_{h\in\mathcal{L},h+t\leq T}\text{diag}(\boldsymbol{\theta}_{h}\circledast\boldsymbol{\theta}_{h})\boldsymbol{x}_t


其中, I为单位矩阵,\text{diag}(\boldsymbol{\theta}_{h}\circledast\boldsymbol{\theta}_{h}) 表示对角线上元素为 \theta_{h}\circledast\boldsymbol{\theta}_{h} 的对角阵,继续化简上式,得

=\boldsymbol{x}_{t}^T\left(I+\sum_{h\in\mathcal{L},t+h \leq T}\text{diag}(\boldsymbol{\theta}_{h}\circledast\boldsymbol{\theta}_{h})\right)\boldsymbol{x}_{t}-2\boldsymbol{x}_{t}^{T}\left(\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}+\sum_{h\in\mathcal{L},t+h \leq T}\boldsymbol{\theta}_{h}\circledast\boldsymbol{\psi}_{t+h}\right)+\text{const}

(4.5)

  • 第三项: X 正则项,,对于 \boldsymbol{x}_t,t=1,2,...,T

\boldsymbol{x}_{t}^T\boldsymbol{x}_{t}=\boldsymbol{x}_{t}^TI\boldsymbol{x}_{t} (4.6)


  • 综合式(4.4),(4.5)与式(4.6),对于 \boldsymbol{x}_t,t=1,...,l_d,包含\boldsymbol{x}_t 的项有

\frac{1}{2}\boldsymbol{x}_{t}^{T}\left(\sum_{i:(i,t)\in\Omega}\boldsymbol{w}_{i}\boldsymbol{w}_{i}^{T}+\lambda_x \eta I\right)\boldsymbol{x}_{t}-\boldsymbol{x}_{t}^{T}\left(\sum_{i:(i,t)\in\Omega}y_{it}\boldsymbol{w}_{i}\right) (4.7)


  • 综合式(4.4),(4.5)与式(4.6),对于 t=l_d+1,...,T ,包含 \boldsymbol{x}_t 的项有

\frac{1}{2}\boldsymbol{x}_{t}^T\left(\sum_{i:(i,t)\in\Omega}\boldsymbol{w}_{i}\boldsymbol{w}_{i}^{T}+\lambda_xI+\lambda_x\sum_{h\in\mathcal{L},t+h \leq T}\text{diag}(\boldsymbol{\theta}_{h}\circledast\boldsymbol{\theta}_{h})+\lambda_x\eta I\right)\boldsymbol{x}_{t}-\boldsymbol{x}_{t}^{T}\left(\sum_{i:(i,t)\in\Omega}y_{it}\boldsymbol{w}_{i}+\lambda_x\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}+\lambda_x\sum_{h\in\mathcal{L},t+h \leq T}\boldsymbol{\theta}_{h}\circledast\boldsymbol{\psi}_{t+h}\right)

(4.8)


(4.7)(4.8)式对\boldsymbol{x}_t 求导并使导数等于0,求解更新迭代式:

  • \boldsymbol{x}_t,t=1,...,l_d,(4.7)式对 \boldsymbol{x}_t 求导并使导数等于0

\left(\sum_{i:(i,t)\in\Omega}\boldsymbol{w}_{i}\boldsymbol{w}_{i}^{T}+\lambda_x \eta I\right)\boldsymbol{x}_{t}=\sum_{i:(i,t)\in\Omega}y_{it}\boldsymbol{w}_{i}

∴对于 t=1,...,l_d\boldsymbol{x}_t 的更新公式为

\color{red}{\boldsymbol{x}_{t}\Leftarrow\left(\sum_{i:(i,t)\in\Omega}\boldsymbol{w}_{i}\boldsymbol{w}_{i}^{T}+\lambda_x \eta I\right)^{-1}\sum_{i:(i,t)\in\Omega}y_{it}\boldsymbol{w}_{i}}


  • \boldsymbol{x}_t,t=l_d+1,...,T,(4.8)式对\boldsymbol{x}_t 求导并使导数等于0

\left(\sum_{i:(i,t)\in\Omega}\boldsymbol{w}_{i}\boldsymbol{w}_{i}^{T}+\lambda_xI+\lambda_x\sum_{h\in\mathcal{L},t+h \leq T}\text{diag}(\boldsymbol{\theta}_{h}\circledast\boldsymbol{\theta}_{h})+\lambda_x\eta I\right)\boldsymbol{x}_{t}

=\sum_{i:(i,t)\in\Omega}y_{it}\boldsymbol{w}_{i}+\lambda_x\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}+\lambda_x\sum_{h\in\mathcal{L},t+h \leq T}\boldsymbol{\theta}_{h}\circledast\boldsymbol{\psi}_{t+h}

∴对于 t=l_d+1,...,T\boldsymbol{x}_t 的更新公式为

\color{red}{\boldsymbol{x}_{t}\Leftarrow\left(\sum_{i:(i,t)\in\Omega}\boldsymbol{w}_{i}\boldsymbol{w}_{i}^{T}+\lambda_xI+\lambda_x\sum_{h\in\mathcal{L},t+h \leq T}\text{diag}(\boldsymbol{\theta}_{h}\circledast\boldsymbol{\theta}_{h})+\lambda_x\eta I\right)^{-1}}\color{red}{\left(\sum_{i:(i,t)\in\Omega}y_{it}\boldsymbol{w}_{i}+\lambda_x\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}+\lambda_x\sum_{h\in\mathcal{L},t+h \leq T}\boldsymbol{\theta}_{h}\circledast\boldsymbol{\psi}_{t+h}\right)}


4.3 \boldsymbol{\Theta} 更新迭代式推导

式(4.1)中第3、4项包含 \boldsymbol{\Theta} ,预因此更新 \boldsymbol{\Theta} 需要最小化下式:

\min_{\Theta}\frac{1}{2}\lambda_{x}\underbrace{\sum_{t=l_d+1}^{T}\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)^T\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)}_{\text{sum of squared residual errors}}+\frac{1}{2}\lambda_{\theta}\underbrace{\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}^T\boldsymbol{\theta}_{l}}_{\text{sum of squared entries}}


更新 \boldsymbol{\theta}_h,\forall h\in \mathcal{L} ,首先找出上式中包含 \boldsymbol{\theta}_h 的项。

  • 其中第一项中包含\boldsymbol{\theta}_h 的项:

\sum_{t=l_d+1}^{T}\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)^T\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L}}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}\right)

=\sum_{t=l_d+1}^{T}\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L},l\neq h}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}-\text{diag}(\boldsymbol{x}_{t-h})\boldsymbol{\theta}_{h}\right)^T\left(\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L},l\neq h}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l}-\text{diag}(\boldsymbol{x}_{t-h})\boldsymbol{\theta}_{h}\right)

\boldsymbol{\pi}_{t}^{h}=\boldsymbol{x}_{t}-\sum_{l\in\mathcal{L},l\neq h}\boldsymbol{\theta}_{l}\circledast\boldsymbol{x}_{t-l} ,则上式继续化简为:

=\sum_{t=l_d+1}^{T}\left(\boldsymbol{\pi}_{t}^{h}-\text{diag}(\boldsymbol{x}_{t-h})\boldsymbol{\theta}_{h}\right)^T\left(\boldsymbol{\pi}_{t}^{h}-\text{diag}(\boldsymbol{x}_{t-h})\boldsymbol{\theta}_{h}\right)

=\sum_{t=l_d+1}^{T}\left(\underbrace{{\boldsymbol{\pi}_{t}^{h}}^T\boldsymbol{\pi}_{t}^{h}}_{\text const}-\underbrace{(\text{diag}(\boldsymbol{x}_{t-h})\boldsymbol{\theta}_{h})^T\boldsymbol{\pi}_{t}^{h}}_{\text scalar}-\underbrace{{\boldsymbol{\pi}_{t}^{h}}^T\text{diag}(\boldsymbol{x}_{t-h})\boldsymbol{\theta}_{h}}_{\text scalar}+\text{diag}(\boldsymbol{x}_{t-h})\boldsymbol{\theta}_{h}^T\text{diag}(\boldsymbol{x}_{t-h})\boldsymbol{\theta}_{h}\right)

=\sum_{t=l_d+1}^{T}\left(-2{\boldsymbol{\pi}_{t}^{h}}^T\text{diag}(\boldsymbol{x}_{t-h})\boldsymbol{\theta}_{h}+\boldsymbol{\theta}_{h}^T\text{diag}(\boldsymbol{x}_{t-h}\circledast \boldsymbol{x}_{t-h})\boldsymbol{\theta}_{h}\right)+\text{const}

=-2\left[\sum_{t=l_d+1}^{T}{\boldsymbol{\pi}_{t}^{h}}^T\text{diag}(\boldsymbol{x}_{t-h})\right]\boldsymbol{\theta}_{h}+\boldsymbol{\theta}_{h}^T\left[\sum_{t=l_d+1}^{T}\text{diag}(\boldsymbol{x}_{t-h}\circledast \boldsymbol{x}_{t-h})\right]\boldsymbol{\theta}_{h}+\text{const}

(4.9)


  • 其中第二项中包含\boldsymbol{\theta}_h 的项:

\boldsymbol{\theta}_h^T \boldsymbol{\theta}_h=\boldsymbol{\theta}_h^T I\boldsymbol{\theta}_h (4.10)


综合式(4.9)与(4.10),包含\boldsymbol{\theta}_h的项有:

-\lambda_x\left[\sum_{t=l_d+1}^{T}{\boldsymbol{\pi}_{t}^{h}}^T\text{diag}(\boldsymbol{x}_{t-h})\right]\boldsymbol{\theta}_{h}+\frac{1}{2}\boldsymbol{\theta}_{h}^T\left[\lambda_x\sum_{t=l_d+1}^{T}\text{diag}(\boldsymbol{x}_{t-h}\circledast \boldsymbol{x}_{t-h})+\lambda_{\theta}I\right]\boldsymbol{\theta}_{h}

上式对\boldsymbol{\theta}_h求导,并令导数等于0,求得\boldsymbol{\theta}_h更新迭代式:
\left[\lambda_x\sum_{t=l_d+1}^{T}\text{diag}(\boldsymbol{x}_{t-h}\circledast \boldsymbol{x}_{t-h})+\lambda_{\theta}I\right]\boldsymbol{\theta}_{h}=\lambda_x\left[\sum_{t=l_d+1}^{T}{\boldsymbol{\pi}_{t}^{h}}^T\text{diag}(\boldsymbol{x}_{t-h})\right]

\boldsymbol{\theta}_h的更新迭代式为:

\color{red} {\boldsymbol{\theta}_{h}\Leftarrow\left[\sum_{t=l_d+1}^{T}\text{diag}(\boldsymbol{x}_{t-h}\circledast \boldsymbol{x}_{t-h})+\frac{\lambda_{\theta}}{\lambda_x}I\right]^{-1}\left[\sum_{t=l_d+1}^{T}{\boldsymbol{\pi}_{t}^{h}}^T\text{diag}(\boldsymbol{x}_{t-h})\right]}



参考文献

编辑于 2019-02-04

文章被以下专栏收录