写在前面
介绍最近看的两篇基于ℓ1范数奇异谱分析(Singular Spectrum Analysis, SSA)的文章,
基于ℓ1范数的奇异谱分析
奇异谱分析:SSA将时间序列分解为趋势,周期性和噪声这些可解释的成分。其优势在于数据驱动,仅含有一个参数——嵌入维度。
分解
嵌入
给定信号SN=(s1,s2,⋯,sN),设定嵌入维度(窗口长度)为L,得到的邻接矩阵(Hankel矩阵)如下:
XL×K=⎝⎜⎜⎜⎜⎛s1s2⋮sLs2s3⋮sL+1⋯⋯⋮⋯sKsK+1⋮sN⎠⎟⎟⎟⎟⎞∈RHL×K
奇异值分解
X=UΣVT,其中U,V分别左、右奇异矩阵,对角矩阵Σ奇异值按降序排列。设rank(X)=d,则按照特征值可邻接矩阵分解为d个秩1矩阵之和,即
X=i=1∑dXi,Xi=σiUiViT
奇异值分解显然给出关于矩阵X的最优r(<d)秩逼近的结果,即
Xrmin∥X−Xr∥F2s.t.rank(Xr)=r
优化问题的最优解为
Xr=i=1∑rXi
显然,以上解释是在Frobenius范数(简称F范数)意义下成立的。对于ℓ1范数,SVD有如下推广。
基于ℓ1的奇异值分解
假设轨道矩阵X是秩亏的(rank deficient),即rank(X)=r<L<K,记对角矩阵
W=diag(w1,w2,⋯,wr,0,0,⋯,0)∈RL×L
可写成分块矩阵
WL×L=(Wr000),Wr=diag(w1,w2,⋯,wr)∈Rr×r
信号的ℓ1范数逼近可通过寻找对角矩阵WL×L实现
Wmin∥X−UWΣVT∥1s.t.X=UΣVT
根据矩阵分块的性质,基于ℓ1的奇异值分解可转化为求解以下优化问题:
Wmin∥X−UWΣVT∥1=Wrmin∥X−U1WrΣ1V1T∥1
设Ar=U1Wr,B1=Σ1V1T,由于矩阵U,Σ1,V由奇异值分解可得,因此U1和B1是已知的,该问题可按列展开为ℓ1回归问题:
Armin∥X−ArB1∥1=Armin∥XT−B1TArT∥1=Ajminj=1∑L∥XjT−B1TAjT∥1
对比优化问题eq:fSVD和eq:l1SVD,不难发现公式eq:l1SVD是公式的加权eq:fSVD版本。问题回来了,明明都有了奇异值分解X=UΣVT,求一个加权系数矩阵有何意义呢?
酉矩阵的F范数不变性得到,即对任意的酉矩阵U,V满足UUT=I=UTU,VVT=I=VTV,有
∥Z∥F=∥UZVT∥F
从而有可以得到以下恒等变形
∥X−Y∥F2=∥Σ−UTYV∥F2
公式eq:fSVD则可变成
∥X−Xr∥F2=∥Σ−UTUrΣrVrTV∥F2=∥Σ−Σr∥F2
但将公式eq:l1SVD的ℓ1换成F范数,分析如下
∥X−UWΣVT∥F2=∥(I−W)Σ∥F2
显然Wr为单位阵达到最优解,现在考虑ℓ1意义下的对应的问题,将X的分解带入,由于酉变换不具有ℓ1范数不变性,因此
Wmin∥UΣVT−UWΣVT∥1
因为基于F范数的奇异谱分析得到的奇异三元组可以视为含有时间序列结构的,右奇异向量可以由奇异值和左奇异向量表示
X=i=1∑rXi=i=1∑rσiUiViT=i=1∑rUiUiTX
所以分解的奇异值σi表示幅值,而左奇异向量Ui可去Hankel化得到时间序列。
UWΣVT=i=1∑rwiσiUiViT=i=1∑rwiUiUiTX
从这个角度分析,加权系数是对奇异值进行数乘wiσi,从而在ℓ1意义下调整各个奇异向量得到时间序列的振幅,即
Wmin∥i=1∑r(1−wi)UiUiTX∥1
我仍然有一处疑问,如果设定rank(X)=r,那么显然零所有的权值wi=1使得上式等于0,即最优解,这个也不符合去噪或异常值的含义。因此,设r<rank(X)=d<L<K,在高秩甚至是满秩的矩阵中,通过加权前r个奇异三元组来近似原始轨道矩阵,当然这个是在ℓ1范数意义下是可以解释的。
Wmin∥i=1∑dσiUiViT−i=1∑rwiσiUiViT∥1
反之,在F范数下这个解显然就是前r个奇异三元组乘积之和。
重构
分组
根据特征三元组性质,将对应矩阵Xi进行分组,对应的索引{1,2,⋯,L}划分为m个不相干子集I1,I2,⋯,Im。对于第k组,分组结果
XIk=i∈Ik∑Xi
反对角平均
因为矩阵XIk不是一个Hankel矩阵,因此需要求得一个最佳Hankel矩阵来近似矩阵XIk,并将Hankel矩阵化为分解的信号序列。这一过程蕴含如下优化问题:
amin∥A−Ha∥
其中,序列a的Hankel矩阵Ha需要在某种意义下近似已知矩阵A。通常,基于Frobenius范数的去Hankel化本质上是一个最小二乘问题,对应的结果可通过反对角平均实现。而对于ℓ1意义下的去Hankel化则不能用反对角线的平均值来代替。
∥A−Ha∥1=i=1∑Lj=1∑K∣Aij−Haij∣=s=2∑L+Ki+j=s∑∣Aij−as∣
显然,as的最优值为As的中位数,即
as=medianl+k=sAlk
ℓ1范数的去Hankel化也可以视为反对角取中值。
小结
这个方法是改了传统SSA的范数,即F范数变为ℓ1范数,仍使用分解+重构的步骤按照奇异三元组进行信号分解。该方法的改进的结果在于对异常值鲁棒。
参考文献