多维奇异谱分析(Multivariate Singular Spectrum Analysis,MSSA)

在实际运用中,通常需要对多个时间序列进行分析,而每个时间序列都有内部结构,且序列之间也会存在一定的依赖关系。因此,基本的单变量奇异谱分析(SSA)可以扩展到多元情况,也就是多维奇异谱分析(MSSA)。
轨迹矩阵是求解SSA的主要工具,对于多变量情况,轨迹矩阵可以有不同的定义方式。主要可以分为水平和垂直两种方式。而每一种定义方式下,又可以有recurrent和vector两种预测方法,如下图所示:
在这里插入图片描述
下面就主要梳理一下MSSA的内容。和SSA一样,MSSA也由两个互补阶段组成:分解和重建。第一阶段对序列进行分解,第二阶段对无噪声序列进行重构。

1. HMSSA

1. 1 分解
1.1.1 第一步 嵌入

考虑M个时间序列,先根据SSA的方法,生成第 i ( i = 1 , . . . , M ) i(i=1,...,M) i(i=1,...,M)个序列的轨迹矩阵 X ( i ) X^{(i)} X(i),而后,水平地将这些轨迹矩阵拼接在一起:

X = [ X ( 1 ) : X ( 2 ) : . . . : X ( M ) ] X=[X^{(1)}:X^{(2)}:...:X^{(M)}] X=[X(1):X(2):...:X(M)]

要顺利的实现拼接,假设第 i i i个序列的轨迹矩阵 X ( i ) X^{(i)} X(i) L i ∗ K i L_i*K_i LiKi的矩阵,其中, L i ( 2 ≤ L i ≤ N i − 1 ) L_i(2\le L_i\le N_i-1) Li(2LiNi1)是每个长度为 N i Ni Ni的时间序列的窗口长度, K i = N i − L i + 1 , i = 1 , . . . , M K_i=N_i-L_i+1, i=1,...,M Ki=NiLi+1,i=1,...,M,则有 L 1 = . . . = L M = L , L_1=...=L_M=L, L1=...=LM=L, K i , N i K_i,N_i Ki,Ni可以不同。

1.1.2 第二步 SVD

这一步,对前面得到的 X H X_H XH进行SVD操作,用 λ H 1 , . . . , λ H L \lambda_{H_1},...,\lambda_{H_L} λH1,...,λHL表示 X H X H T X_HX_H^T XHXHT的特征值,同样,有 λ H 1 ≥ , . . . , ≥ λ H L ≥ 0 \lambda_{H_1} \ge ,...,\ge\lambda_{H_L}\ge0 λH1,...,λHL0 U H 1 , . . . , U H L U_{H_1},...,U_{H_L} UH1,...,UHL则表示对应的特征向量。
X H X_H XH进行SVD的过程可以表示为: X H = X H 1 + . . . + X H L X_H=X_{H_1}+...+X_{H_L} XH=XH1+...+XHL,其中
在这里插入图片描述
因此, X H X H T X_HX_H^T XHXHT的结构等价于:
在这里插入图片描述

1.2 重构
1.2.1 第三步 分组

与SSA类似,这个步骤相当于分解矩阵 X H 1 , . . . , X H L X_{H_1},...,X_{H_L} XH1,...,XHL分成几个不相交的组,并对每组中的矩阵求和。下标集合 1 , … , L {1,…,L} 1,,L被划分成不相交的子集 I 1 , … … , I m I_1,……,I_m I1,,Im,与 X H = X I 1 + . . . + X I m X_H=X_{I_1}+...+X_{I_m} XH=XI1+...+XIm相对应。

1.2.2 第四步 对角平均

对角平均的目的是将重构的hankel矩阵 X I j X_{I_j} XIj变换为一维的序列。对于每个重构的轨迹矩阵而言,这一步与SSA相同。

1.3 预测
1.3.1 recurrent forecast
  1. 对于固定的 L L L,为每个序列 Y N i ( i ) ( i = 1 , . . . , M ) Y^{(i)}_{N_i}(i=1,...,M) YNi(i)(i=1,...,M)分别构造轨迹矩阵 X ( i ) = [ X 1 ( i ) , . . . , X K ( i ) ] = ( x m n ) m , n = 1 L , K i X^{(i)}= [X^{(i)}_{1},...,X^{(i)}_{K}]=(x_{mn})^{L,K_i}_{m,n=1} X(i)=[X1(i),...,XK(i)]=(xmn)m,n=1L,Ki

  2. 构造块轨迹矩阵 X V X_V XV如下:
    在这里插入图片描述

  3. 定义 U V j = ( U j ( 1 ) , … , U j ( M ) ) T , U_{V_j}=(U_{j}^{(1)},…,U_{j}^{(M)})^T, UVj=(Uj(1)Uj(M))T, 作为一个 X V X V T X_VX_V^T XVXVT的第 j j j个特征向量。其中 U j ( i ) U_{j}^{(i)} Uj(i)的长度为L,对应于序列 Y N i ( i ) ( i = 1 , . . . , M ) Y^{(i)}_{N_i}(i=1,...,M) YNi(i)(i=1,...,M)

  4. 定义 X ^ V = [ X ^ 1 : . . . : X ^ K ] = Σ i = 1 r U V i U V i T X V \hat{X}_V=[\hat{X}_1:...:\hat{X}_K]=\Sigma_{i=1}^{r}U_{V_i}U^T_{V_i}X_V X^V=[X^1:...:X^K]=Σi=1rUViUViTXV,即
    在这里插入图片描述

  5. 考虑矩阵
    在这里插入图片描述作为从上一步中获得的矩阵 X ^ ( i ) \hat{X}^{(i)} X^(i)汉克尔化过程的结果

  6. U j ( i ) ∇ U^{(i)\nabla}_{j} Uj(i)是特征向量 U j ( i ) U_{j}^{(i)} Uj(i)的前 L − 1 L-1 L1个元素构成的向量。 π j ( i ) \pi_{j}^{(i)} πj(i)表示特征向量 U j ( i ) U_{j}^{(i)} Uj(i)的最后一个元素。 ( i = 1 , . . . , M ) (i=1,...,M) (i=1,...,M)

  7. 选择r个重建阶段的特征三元组用于预测。

  8. 定义矩阵 U ∇ M = ( U 1 ∇ M , . . . , U r ∇ M ) U^{\nabla M}=(U^{\nabla M}_1,...,U^{\nabla M}_r) UM=(U1M,...,UrM),其中, U j ∇ M U^{\nabla M}_j UjM为:
    在这里插入图片描述

  9. 定义矩阵 W W W:
    在这里插入图片描述

  10. 如果矩阵 ( I M × M − W W T ) − 1 (I_{M×M}−WW^T)^{−1} (IM×MWWT)1存在,且 r ≤ L s u m − M r≤L_{sum}−M rLsumM,则存在h步VMSA预测,公式如下:
    在这里插入图片描述
    其中, y ~ j i ( m ) \tilde{y}^{(m)}_{j_i} y~ji(m)是重构序列 m m m的第 j i j_i ji个观察值, m = 1 , . . . , M . m=1,...,M. m=1,...,M.

1.3.2 vector forecast

HMSSA-V的过程非常类似于它的单变量版本SSA-V和HMSSA-R.算法的第一部分与HMSSA-R一样,继续考虑以下矩阵:
在这里插入图片描述

  1. 定义向量 Z j ( i ) , ( i = 1 , . . . M ) Z_j^{(i)},(i=1,...M) Zj(i),(i=1,...M)如下:
    在这里插入图片描述
    其中, X ~ j ( i ) \tilde{X}^{(i)}_{j} X~j(i)是分组并保留噪声分量后,第i个序列轨迹矩阵的重构列。
  2. 通过构造矩阵 Z ( i ) = [ Z 1 ( i ) , . . . , Z k i + h + L − 1 ( i ) ] Z^{(i)}= [Z^{(i)}_1,...,Z^{(i)}_{ k_i+h+L−1}] Z(i)=[Z1(i),...,Zki+h+L1(i)],并求对角平均,我们可以得到一个新的序列 y ^ 1 ( i ) , . . . , y ^ N i + h ( i ) \hat{y}_1^{(i)},...,\hat{y}_{N_i+h}^{(i)} y^1(i),...,y^Ni+h(i),其中, y ^ N + 1 ( i ) , . . . , y ^ N + h ( i ) \hat{y}_{N+1}^{(i)},...,\hat{y}_{N+h}^{(i)} y^N+1(i),...,y^N+h(i)则是通过HMSSA-V方法获得的 h h h个预测值。

2. VMSSA

2.1 分解
2.1.1 第一步 嵌入

与HMSSA一样,考虑M个时间序列,先根据SSA的方法,生成第 i ( i = 1 , . . . , M ) i(i=1,...,M) i(i=1,...,M)个序列的轨迹矩阵 X ( i ) X^{(i)} X(i)
在这里插入图片描述
而后,垂直地将这些轨迹矩阵拼接在一起,得到 X V X_V XV
在这里插入图片描述

要顺利的实现拼接,假设第 i i i个序列的轨迹矩阵 X ( i ) X^{(i)} X(i) L i ∗ K i L_i*K_i LiKi的矩阵,其中, L i ( 2 ≤ L i ≤ N i − 1 ) L_i(2\le L_i\le N_i-1) Li(2LiNi1)是每个长度为 N i Ni Ni的时间序列的窗口长度, K i = N i − L i + 1 , i = 1 , . . . , M K_i=N_i-L_i+1, i=1,...,M Ki=NiLi+1,i=1,...,M,与HMSSA不同的是,VMSSA要求 K 1 = . . . = K M = K , K_1=...=K_M=K, K1=...=KM=K, L i , N i L_i,N_i Li,Ni可以不同。

2.1.2 第二步 SVD

这一步,对前面得到的 X V X_V XV进行SVD操作,用 λ V 1 , . . . , λ V L \lambda_{V_1},...,\lambda_{V_L} λV1,...,λVL表示 X V X V T X_VX_V^T XVXVT的特征值,同样,有 λ V 1 ≥ , . . . , ≥ λ V L ≥ 0 \lambda_{V_1} \ge ,...,\ge\lambda_{V_L}\ge0 λV1,...,λVL0 U V 1 , . . . , U V L U_{V_1},...,U_{V_L} UV1,...,UVL则表示对应的特征向量。

X V X V T X_VX_V^T XVXVT的结构等价于:
在这里插入图片描述
在这里插入图片描述

2.2 重构
2.2.1 第三步 分组

与HMSSA类似,这个步骤相当于分解矩阵 X V 1 , . . . , X V L X_{V_1},...,X_{V_L} XV1,...,XVL分成几个不相交的组,并对每组中的矩阵求和。下标集合 1 , … , L {1,…,L} 1,,L被划分成不相交的子集 I 1 , … … , I m I_1,……,I_m I1,,Im,与 X V = X I 1 + . . . + X I m X_V=X_{I_1}+...+X_{I_m} XV=XI1+...+XIm相对应。

2.2.2 第四步 对角平均

对角平均的目的是将重构的hankel矩阵 X I j X_{I_j} XIj变换为一维的序列。对于每个重构的轨迹矩阵而言,这一步与SSA相同。

2.3 预测
2.3.1 recurrent forecast

考虑 M M M个序列 Y N i ( i ) = ( y 1 ( i ) , . . . , y N i ( i ) ) Y^{(i)}_{N_i}=(y^{(i)}_{1},...,y^{(i)}_{N_i}) YNi(i)=(y1(i),...,yNi(i))和对应的窗口长度 L i , 2 ≤ L i ≤ N i − 1 , i = 1... , M L_i,2≤Li≤Ni−1,i=1...,M Li,2LiNi1,i=1...,M,VMSSA-R预测算法如下所示。

  1. 对于固定的 K K K,为每个序列 Y N i ( i ) ( i = 1 , . . . , M ) Y^{(i)}_{N_i}(i=1,...,M) YNi(i)(i=1,...,M)分别构造轨迹矩阵 X ( i ) = [ X 1 ( i ) , . . . , X K ( i ) ] = ( x m n ) m , n = 1 L , K i X^{(i)}= [X^{(i)}_{1},...,X^{(i)}_{K}]=(x_{mn})^{L,K_i}_{m,n=1} X(i)=[X1(i),...,XK(i)]=(xmn)m,n=1L,Ki

  2. 构造块轨迹矩阵 X H X_H XH如下:
    在这里插入图片描述

  3. 定义 U H j = ( u 1 j , … , u L j ) T , U_{H_j}=(u_{1j},…,u_{Lj})^T, UHj=(u1juLj)T, 长度为L,作为一个 X H X H T X_HX_H^T XHXHT的第 j j j个特征向量。

  4. 定义Hankel算子 X i ^ \hat{X_i} Xi^,考虑由r个分量获得的重构矩阵 X H ^ = Σ i = 1 r U H i U H i T X H \hat{X_H}=\Sigma_{i=1}^{r}U_{H_i}U^T_{H_i}X_H XH^=Σi=1rUHiUHiTXH
    在这里插入图片描述

  5. 考虑矩阵
    在这里插入图片描述作为从上一步中获得的矩阵 X ^ ( i ) \hat{X}^{(i)} X^(i)汉克尔化过程的结果

  6. U H j ∇ U^\nabla_{H_j} UHj是特征向量 U H j U_{H_j} UHj的前 L − 1 L-1 L1个元素构成的向量。 π H j \pi_{H_j} πHj表示特征向量 U H j U_{H_j} UHj的最后一个元素。 ( j = 1 , . . . , r ) (j=1,...,r) (j=1,...,r)

  7. 定义 ν 2 = Σ j = 1 r π H j 2 \nu^2=\Sigma_{j=1}^{r}\pi_{H_j}^2 ν2=Σj=1rπHj2

  8. 定义线性系数向量:
    在这里插入图片描述

  9. 如果 ν 2 < 1 \nu^2<1 ν2<1,则存在HMSSA的H步预测,计算公式如下:
    在这里插入图片描述
    其中, i = 1 , . . . , M . i=1,...,M. i=1,...,M.

2.3.2 vector forecast

此算法的前10部分与VMSSA-R相同,继续考虑矩阵:
在这里插入图片描述
其中,
在这里插入图片描述
可以证明,矩阵 Π \Pi Π U ∇ U^{\nabla} U的列空间上的正交投影算子。令
在这里插入图片描述
其中, Π ( i ) \Pi^{(i)} Π(i)的维度为 ( L i − 1 ) × ( L s u m − M ) (L_i−1)×(L_{sum}−M) (Li1)×(LsumM),而 R ( i ) ( i = 1 , . . . , M ) \mathscr{R}^{(i)}(i=1,...,M) R(i)(i=1,...,M)的长度为 L s u m − M L_{sum}−M LsumM,对应于序列 Y N i ( i ) Y_{N_i}^{(i)} YNi(i).然后,定义线性运算:
在这里插入图片描述
其中, Y Δ T = ( Y Δ ( 1 ) , . . . , Y Δ ( M ) ) Y_\Delta^T=(Y_\Delta^{(1)},...,Y_\Delta^{(M)}) YΔT=(YΔ(1),...,YΔ(M)),而 Y Δ ( i ) , ( i = 1 , . . . , M ) Y_\Delta^{(i)},(i=1,...,M) YΔ(i),(i=1,...,M)表示 Y i Y_i Yi(长度为 L i L_i Li)的最后 L i − 1 L_i-1 Li1个元素。使用上面的符号,VMSSA-V预测算法如下:

  1. 定义向量 Z i Z_i Zi如下:
    在这里插入图片描述

其中, X ~ i \tilde{X}_{i} X~i是分组并保留噪声分量后,第i个序列轨迹矩阵的重构列。 L m a x = m a x { L 1 , . . . , L M } L_{max}=max\{L_1,...,L_M\} Lmax=max{L1,...,LM}
2. 构造矩阵 Z = [ Z 1 , . . . , Z K + h + L m a x − 1 ] Z= [Z_1,...,Z_{ K+h+L_{max}−1}] Z=[Z1,...,ZK+h+Lmax1],并求对角平均,我们可以得到一个新的序列 y ^ 1 ( i ) , . . . , y ^ N + h + L m a x ( i ) ( i = 1 , . . . , M ) \hat{y}_1^{(i)},...,\hat{y}_{N+h+L_{max}}^{(i)}(i=1,...,M) y^1(i),...,y^N+h+Lmax(i)(i=1,...,M)
3. 元素 y ^ N i + 1 ( i ) , . . . , y ^ N i + h ( i ) ( i = 1 , . . . , M ) \hat{y}_{N_i+1}^{(i)},...,\hat{y}_{N_i+h}^{(i)}(i=1,...,M) y^Ni+1(i),...,y^Ni+h(i)(i=1,...,M)则是通过VMSSA-V方法获得的 h h h个预测值。

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一颗小芋圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值