曾 腾,徐海洲,李林峰,周淦,孟令刚
(1.华北计算机系统工程研究所,北京 100083;2.西安电子科技大学 计算机科学与技术学院,陕西 西安 710071;3.西安邮电大学 计算机学院,陕西 西安 710061)
随着现代火箭技术的不断发展与航天发射密度的不断提高,对火箭飞行状态快速分析评定,及时发现异常,展开故障诊断已成为航天测试发射领域的迫切需求。遥测参数,作为反映火箭系统工作状态的重要监控指标,是火箭状态快速评定的重要依据。然而,现行的遥测数据分析技术多以包络阈值分析技术结合专家经验进行。如周辉峰[1]等人提出基于中值滤波的双边多点阈值和符号判断相结合的判读方法,用于处理遥测参数中的台阶参数、脉冲参数;李鑫[2]等人提出基于双因子等价权函数的抗差自适应估计算法,对历史数据进行统计,实现参数的估计和标准差的确定,进而展开遥测缓变参数自动判读;王义新[3]等人通过建立遥测大数据处理专家系统,利用固化的工程经验模拟专家思维,对遥测数据进行快速推理诊断。这类方法对数据利用效率较低、特征挖掘不够深入,时常发生漏判和误判,难以满足快评需求。
近年来,时间序列相似性评估在火箭分析中开始得到应用[4-5]。一种常用的分析模式是,将待分析火箭时序数据与执行同任务的火箭历史数据计算相似度,并为所分析参数设置阈值,将相似度超出阈值的序列判定为异常。异常检测能力很大程度上取决于度量性能。
时间动态规整(Dynamic Time Warping,DTW)[6]算法因其能比较不等长时间序列,应对时间序列的相位偏移、振幅变化等情况,在现有时序相似性判别方法中最具代表性。然而由于该算法一味追求所对齐时刻的数值相近,容易产生病态对齐现象,将不相似的局部特征对齐,不利于时间序列相似度评估。
针对病态对齐现象,主要有两个改进思路,一是为DTW 设置限制匹配条件。如CDTW[7]和SparseDTW[8]等算法通过限制DTW 计算区域,将对齐路径尽量约束在对角线附近;WDTW 算法[9]对匹配相位差进行惩罚;LDTW[10]、FDTW[11]等算法利用限制时间序列之间的对齐路径长度来抑制病态对齐。为DTW 设置限制匹配条件通常能提高算法精度,但仅从宏观层面进行约束,难以深入利用数据特征,对度量精度的提升效果有限。
第二种思路是尝试向DTW 算法中引入形状类特征,以求更准确地捕捉时间序列之间的局部相似性,获得数据点的更优匹配。相关算法包括利用一阶导数的DDTW 算法[12]、结合一阶导数特征和原序列特征的DDDTW算法[13]、考虑时间序列复杂程度的CID 算法[14]、引入数据点邻域形状特征的shapeDTW 算法[15]等。但这些算法要么只适用于某一类时序数据集,不具备通用性,要么计算过于耗时,难以应用到实际任务中。此外,对于怎样的形状特征最有利于提升度量精度,目前尚未有定论。
为提升度量精度,本文提出一种基于弧度特征的时间序列相似度度量方法RDTW,将原始序列转化为表征时间序列相邻数据点连成线段与横轴之间的夹角的弧度序列,对原始时间序列及弧度序列分别进行相似性计算,并通过设置权重综合考虑两种序列所蕴含信息。随后,以时间序列分类作为应用实例,将RDTW 算法引入KNN 分类中,以评估该度量算法的度量性能。所提出方法可为火箭关联分析、异常检测、故障诊断等应用提供有力支持。
设有两个长度分别为n和m的时间序列,Q={q1,q2,…,qn},C={c1,c2,…,cm}。为将两条时间序列对齐,通常会构造一个n×m的距离矩阵。矩阵中每一个位置(i,j)表示将当前时间序列Q中的点qi和时间序列C中点cj对齐所需要的距离。选取距离矩阵中一连串连续元素,使得两条时间序列的每个点都能与另一序列上的点建立对应关系,得到一条弯曲路径。DTW 算法旨在寻求一条最佳弯曲路径,使得路径经过的各矩阵元素累计距离和最小。
假设两条时间序列的最佳弯曲路径为W={w1,w2,…,wk,…,wK},max (n,m) ≤K≤n+m-1,则DTW距离可按下式计算:
确定弯曲路径时需满足3 个约束条件:
(1)边界条件:w1=(1,1),wk=(n,m);
(2)单调性: 给定wk=(i,j),wk-1=(i′,j′),则有|i-i′ |≤1,|j-j′| ≤1;
(3)连续性: 给定wk=(i,j),wk-1=(i′,j′),则有|i-i′| ≥0,|j-j′| ≥0。
实际过程中,为使累计距离值最小,通常采用动态规划的方式计算,其公式为:
其中,i∈(1,n],j∈(1,m],且DTW(i,j)表示序列Q前i个点和序列C前j个点之间的最小累积规整距离。DTW(m,n) 即为两个时间序列之间的动态时间规整距离。
传统DTW 算法需计算两条时间序列上每个时刻点到另一序列的所有点的距离,但其中存在许多不必要计算。实际生活中,大多数时间序列的最佳对齐路径都出现在距离矩阵的对角线附近,对所有窗格进行计算不仅极大地增加了算法耗时,同时也可能促进病态对齐现象的产生,导致算法精度下降[16]。基于此种考虑,研究者提出CDTW 算法,在求解DTW 距离时只对距离矩阵上限定区域内的窗格进行计算,以求同时达到提升算法效率和精度的目的[17]。常用的限制方法主要有两种,分别是Sakoe-Chiba band[7]和Itakura parallelogram[18],其示意图如图1 所示。由于Sakoe-Chiba band 实现更为简单,在实际中应用得更为广泛。
图1 Sakoe-Chiba band(A) 和Itakura parallelogram(B)
定义1时间序列的弧度。时间序列的弧度是指时间序列中相邻两点构成的直线与时间轴的夹角弧度,其计算公式如下所示:
其中,n为时间序列的长度,通常取∆t=1。当时刻值增加时,弧度取正值;反之,弧度取负值。
根据定义1,对于任意一条长度为n的时间序列Si={(s1,t1),(s2,t2),…,(sn,tn)},通过计算相邻两点之间的弧 度,可转化 为对应 的弧度序列=
定义2一种基于弧度的距离度量。对于两条时间序列q和c,其基于弧度的距离按以下公式计算得出:
其中,q′和c′分别是时间序列q和c按照定义1 中式(3)转换得到的弧度序列;α为平衡原始序列距离和弧度距离的超参数,是[0,1]区间的某一实数。等式右边所采用的距离度量被称作基础距离,该距离可以是任意一种距离度量,通常是DTW 距离或其变种距离。
为评估算法度量精度,将所提出的距离度量应用于KNN 算法,通过分类精度的大小评估度量性能优劣。
鉴于火箭时序数据,尤其是缓变参数数据相邻时刻的变化值往往很小,在定义2 所定义距离的计算过程中,由于火箭数据原始时间序列和弧度序列数据的量级存在着极大差异,这种由量级造成的不平衡性可能会造成在实际加权时,由原始序列计算出的距离几乎总是对最终距离贡献最大的部分,而弧度序列的贡献则被湮灭。
为使两种距离在同等层面上进行权衡,结合KNN 算法特性,本文提出一种改进弧度距离计算方式。
定义3一种基于KNN 算法的改进弧度距离度量。给定一个查询序列q和一个具有m条时间序列的参考时序数据集C,序列q与数据集C中任意一条序列cj的距离由以下公式计算得出:
其中,rankC(q,cj)是序列q和数据集C中所有序列之间的距离中从小到大的排名值。同理可得rankC(q′)。通过该式计算出序列q与C中所有序列的距离,其中最小值所对应的参考序列标签为算法对序列q的分类标签。
通过定义3 的计算方式,既保留了查询序列与各参考序列之间的距离大小关系,又能公平权衡两种距离对最终结果的影响,从而解决量级造成的数据不平衡问题。
在定义3 所提出的基于KNN 算法的改进弧度距离度量的基础上,提出RDTW 算法。相比原始DTW 算法,RDTW 算法主要有以下几点改进:
(1)引入弧度特征,将定义3 给出的弧度距离计算方法用于KNN 计算,为每一个参考序列匹配一个分类标签,得到分类标签序列。
(2)为提升计算速度和提高度量精度,在求取距离排名的过程中采用CDTW 算法计算每个查询序列和参考序列之间的距离值。
(3)为捕捉局部形状特征,借鉴shapeDTW 算法[15]的方式,采用数据点邻域信息进行距离计算。
(4)对于算法所用到的所有超参数,通过在训练集上进行留一法交叉验证结合贝叶斯优化的方式统一训练。
(5)考虑到有些参数只适合利用原始数据特征或弧度特征进行距离度量,同时使用两种特征会使度量精度下降,在求解定义3 所定义距离时,对于每条查询序列,分别维护其与所有参考序列利用原始序列数据和弧度数据进行度量得到的最小值,将最小值对应的参考序列标签作为该查询序列仅利用一种特征进行运算获得的标签。从而可以获得单用原始特征、弧度特征和综合利用两种特征分类的3 个标签序列。最后,利用3 个标签序列评估分类精度,取分类精度的最大值作为算法的最终精度。
算法整体流程图如图2 所示。
图2 RDTW 算法流程图
根据火箭时序数据特征,从UCR 公开数据集[19]中选取9 个具有相似特征的数据集进行算法验证[20]。其中Sony1、Sony2、ItalyPowerDemand、TwoLeadECG 4 个 数据集与火箭数据中的角度序列类似;Fish、DiatomSizeReduction、TwoLeadECG 3 个数据集与火箭数据中的转速序列类似;FaceUCR、MedicalImages 以及 FaceFour 3 个数据集与火箭数据中的电流序列类似。9 个数据集的基本信息如表1 所示。数据本身不带有缺失值,且已经过Z-score 标准化处理。
表1 选取数据集基本信息
利用本文提出RDTW 算法对所选用的9 个时间序列数据集进行分类性能评估。所选用数据集不进行任何额外预处理。采用了欧氏距离ED、DTW 距离、传统CDTW 距离及shapeDTW 距离等4 种常用距离评估算法作为对比算法。其分类结果如表2 所示。
表2 9 个数据集的分类结果对比
图3 展示了RDTW 相对于其他测评方法的精度对比图。可以看到,RDTW 算法在所有数据集上的表现都优于传统的欧氏距离、CDTW 算法和FDTW 算法,并在九成数据集上优于shapeDTW,特别是在Fish 和TwoLead-ECG 两个数据集上,提升效果非常显著。说明弧度特征的引入极大地提升了度量的精度。
图3 RDTW 与其他算法的分类错误率对比
各方法相对于RDTW 在所有数据集上的平均相对错误率如表3 所示。所提出算法相对于其他算法,分类性能均获得了大幅提升,提升幅度在26.04%以上。
表3 各方法的平均相对错误率 (%)
火箭时序分析对算法的运算效率具有较高的要求,但由于DTW 算法本身具有O(N2)的时间复杂度,运算效率较慢,这使得许多DTW 改进算法不适合应用于火箭时序数据分析。
表4 对比了5 种方法对9 个数据集分类所花费的时间。5 种方法中,欧氏距离耗时最少,其次是CDTW,但两者分类错误率较高。FDTW 和shapeDTW 为提高分类精度,过多地牺牲了运算时间。相比之下,本文提出的RDTW 算法在提升分类精度的同时,对运算效率的牺牲相对较少,综合看来效果较好。
表4 9 个数据集的分类耗时对比
本文提出一种基于弧度特征的时间序列相似度度量方法RDTW,通过综合利用时序数据的原始序列特征和弧度特征,以求获得更为准确的相似度度量。为将算法应用到火箭时序数据分析中,从开源UCR 数据库中选择了与火箭时序数据特征较为相似的9 个数据集,并利用时间序列分类任务作为评估实例,进行了实验验证。将提出的RDTW 与欧氏距离、CDTW、FDTW、shapeDTW 4 个算法进行了对比。对比结果显示,RDTW 算法既能提升算法的分类精度,又不会造成运算效率的过多牺牲,在绝大多数数据集上能取得较为满意的效果。
在未来的研究中,对于算法中所涉及的超参数,尤其是邻域大小的自适应选取是进一步提升分类精度、降低运行时间的一大关键。此外,作为一种评估时间序列相似度的算法,该算法可应用到火箭时序数据分析的各种任务,为火箭关联分析、异常检测、故障诊断等方面提供有力支持。