2.3.2 基于张量Tucker分解的缺失数据恢复方法
基于张量Tunker分解的缺失数据恢复方法流程如图2-23所示[20]。该方法首先构建了“转速×时窗×小波尺度×时间”的四阶张量,从而建立了多转速监测数据的直观表达及多转速数据的高维联系,然后利用张量分解挖掘监测数据中蕴含的机械健康信息,最后重构张量,实现缺失数据的恢复,具体步骤如下。
图2-23 基于张量Tucker分解的缺失数据恢复方法流程
(1)建立监测数据的四阶张量表达。首先,利用滑动矩形窗将不同转速nr的监测数据分割为多个时窗段,并在各个时窗段内分割缺失数据与高质量数据。之后,利用“db4”小波对各个窗内的数据进行多尺度分解,分解层数为3,从而得到不同尺度的小波系数,分别记为d1、d2、d3、a3。最后构建“转速×时窗×小波尺度×时间”的四阶张量,且。机械装备监测数据的四阶张量构建过程如图2-24所示。
图2-24 机械装备监测数据的四阶张量构建过程
(2)设定加权张量、最大迭代次数smax、收敛精度ζ、阈值υ和核心张量秩等参数。其中可表示为:
即在张量值缺失处,加权张量值为0;在张量值未缺失处,加权张量值为1。缺失数据恢复等价于寻找矩阵和,使如下目标函数最小:
式中,表示Frobenius范数。式(2-42)表示根据张量的已知部分获得整个张量的近似Tucker分解,利用分解后得到的A、B、C和D和重构整个张量。此外,smax设置为1 000,ζ=10-8,υ=10-8 [21]。为确定核心张量秩的大小,首先选取某段已知数据,然后利用不同大小的秩作为核心张量秩对数据进行恢复,选择恢复数据与该段数据吻合程度最高的秩作为核心张量秩。
(3)初始化矩阵A、B、C和D。对张量进行高阶奇异值分解得到上述矩阵的初始值,并记为A0、B0、C0和D0。
(4)初始化。令式(2-43)等于0,可求得的初始化值。
式中,。
(5)基于梯度下降算法迭代计算A、B、C和D,可求得目标函数对各个参数的偏导如下所示:
式中,为张量的不同模式水平展开。
(6)利用下式计算每次迭代后的:
(7)判断以下三个条件中任意一个是否成立:①达到设定的迭代次数smax;②目标函数迭代第s次与第s-1次的差值小于ζ;③迭代第s次与第s-1次的核心张量秩之差的Frobenius范数满足:
若以上三个条件均不成立,令s=s+1,并返回第(5)步;否则,迭代停止。再根据第s次迭代获得的Ak、Bk、Ck、Dk和,重构张量并获得恢复的数据为: