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 —
   50   51   52   53   54   55   56   57   58   59   60