Page 55 - 2025年第56卷第5期
P. 55
组是否异常的做法过于绝对。为此本文采用健康与正常状态的数据差异进行检测的思路,把区间预测
引入水电机组的振动异常检测领域,将数据不稳定性以及模型局限性考虑在内。结合滑动窗口与区间
覆盖率,提出动态区间覆盖率,即计算滑动窗口内的区间覆盖率,进行振动趋势异常检测。
为验证区间预测是否能够展现出正常与异常状态的区别,以置信水平 P设为 90%,滑动窗口宽度 W
设为 15,滑动步长 S设为 5为例,引用 “MaData”和 “KeoghData” 两个异常模拟数据集 [19] 进行验证。
MaData数据集由下式生成的两个时间序列组成 [19] :
40 π
X(t) =sin ( )
t+ n(t)
1 N
( 4)
40 π
X(t) =sin ( )
t+ n(t) + e(t)
2 N X
式中:t = 1,2,…,N,N = 1200;n(t)是均值为 0,标准差为 0.1的加性高斯噪声。
e(t),t ∈[600,620]
1
e(t),t ∈[830,850]
2
e(t) = (5)
X
e(t),t ∈[1000,1100]
3
0,其他
式中 e (t)遵循 N(0,0.5)的正态分布。由式(4)(5)可知,时间序列 X(t)是有 1200个点的正常时
1,2,3 1
间序列,添加异常事件后得到 X(t),分别选取区间[600,620]、[830,880]、[1000,1100]作为异
2
常事件 e(t)、e(t)、e(t)加入,构成最终的 X(t),如图 1(a)所示。该数据集属于 “数值异常”。
1 2 3 2
KeoghData数据集是 Keogh等为测试提出的异常检测算法所设计的。数据集按以下公式创建 [19] :
( )
Y(t) =sin 50 π t+ n(t)
1
N
(6)
( )
Y(t) =sin 50 π t+ n(t) + e(t)
2
N
式中 t = 1 ,2,…,N,N = 800 。e(t)定义如下:
( ) ( )
{ sin 75 π t- sin 50 π t, t ∈[600,632]
e(t) = N N (7)
0, 其他
由上述公式可知,Y(t)是带有高斯噪声的 32个周期的正弦波。Y(t)是通过改变[600,632]区间的
2
1
正弦波周期得到的,即在时间序列 Y(t)中加入异常事件 e(t)。该段数据属于 “模式异常”,如图 1(b)
1
所示。
将上述生成的 X(t)、Y(t)的[0,599]段,即不包含 “合成异常点” 的数据作为训练集;剩余含
2 2
有 “合成异常点” 的后半部分作为测试集。使用分位数 LSTM模型进行区间预测,得到测试集预测结
果分别如图 2(a)(b)所示。
图 1 异常模拟数据
— 6 0 1 —