Page 89 - 《软件学报》2026年第2期
P. 89

568                                                        软件学报  2026  年第  37  卷第  2  期



                                                                   0.40
                      0.40                        预测值                    原始序列预测值
                                                  真实值              0.35  间隔插入序列预测值
                      0.35
                                                                   0.30  真实值
                      0.30                                         0.25
                     输出值  0.25                                    输出值  0.20
                      0.20                                         0.15
                                                                   0.10
                      0.15
                                                                   0.05
                      0.10                                           0
                          0    10    20    30     40                   0     10    20    30    40
                                      时间步                                          时间步
                     图 4    预测峰值幅度不足、增减趋势相反和                   图 5    间隔插入扩展序列与原始序列预测结果对比
                                 预测值偏移

                    将该序列构建方法称为横向扩展, 其核心目的是通过延展输入序列的方式, 增强原始序列中的局部依赖信息.
                 图  6  展示了横向拓展序列构建的过程. 设输入历史窗口为               X = {x 1 , x 2 ,..., x T }, 插入间隔为  k, 则扩展后的序列长度
                 T ne 为:
                   w

                                                              ⌊   ⌋
                                                              T −1
                                                      T new = T +                                     (3)
                                                                k
                    定义扩展后的序列为                       }, 其中  y i 的值为:
                                     X HE = {y 1 ,y 2 ,...,y T new
                                                               ⌊   ⌋
                                          
                                                               j−1
                                           x j ,         i = j+    , j = 1,2,...,T
                                          
                                          
                                          
                                                                k
                                          
                                          
                                       y i =                              ⌊    ⌋                     (4)
                                          
                                           1  ∑  jk           j−1          T −1
                                          
                                          
                                                     x m , i = j+  , j = 1,2,...,
                                          
                                          
                                            k   m=(j−1)k+1      k             k

                                   原始序列                 横向扩展                横向扩展序列
                                                   图 6 横向扩展序列构建

                    (2) 横向收缩
                    原始序列中包含大量的细粒度波动信息, 这些信息可能源于正常的序列波动, 也可能由噪声引起, 而后者会干
                 扰模型对整体趋势的判断. 为此, 本文设计方法引导模型捕捉序列的整体变化趋势, 避免过度拟合局部波动.
                    将该序列构建方法称为横向收缩, 方法通过最大值下采样压缩序列长度, 突出原始序列中与趋势变化相关的
                 关键信息, 减少模型对细粒度波动的关注. 横向收缩序列构建的过程如图                      7  所示. 设输入历史窗口为      X = {x 1 , x 2 ,...,
                 x T }, 分组大小为              N = ⌊T/g⌋, 则每个完整分组序列为:
                              g, 完整分组数量
                                             G i = {x (i−1)g+1 , x (i−1)g+2 ,..., x ig }, i = 1,2,...,N  (5)
                    对于每个完整分组, 取组内最大值:

                                                        M i = max(G i )                               (6)
                    对于剩余序列     G rem , 同样取序列内最大值:

                                                      M rem = max(G rem )                             (7)
                    最终得到横向收缩序列         X H 为:
                                         C

                                                  X HC = {M 1 , M 2 ,..., M N , M rem }               (8)
                    (3) 纵向扩展
                    原始序列中的趋势变化可能幅度较小, 导致模型在预测时难以准确识别和响应这些变化, 从而出现预测峰值
                 幅度不足问题. 从图      5  中可以看出, 虽然扩展序列预测值在预测序列增减变化趋势上表现良好, 但对于增减幅度的
   84   85   86   87   88   89   90   91   92   93   94