Page 82 - 2022年第53卷第2期
P. 82

第一步:气温重构。由于仿真需要连续气温时间序列来判断仓面施工停工时刻和停工时长,所
               以需要对气温时间序列进行重构,采用多步预测的方式建立预测方法。在划分样本时采用 t 时刻前 m
               个历史数据(y     t-m ,…,y)预测后 n 个数据(y ,…,y ),预测时间窗口 n 即为可以获得的气温预测
                                                                t+n
                                     t
                                                      t+1
               时间序列长度。通过滑动窗口来划分数据集样本,滑动窗口指的是用指定的单位长度来框住时间序
               列,从而学习窗口内的序列规律,每划分一个训练样本,滑动窗口向后移一个数据点;划分测试集
               时,每划分一个测试样本,滑动窗口向后移 n 个数据点,其示意图如图 3 所示。


                                     重构输入 X                           重构输入 Y
                                    输入窗体大小=4,步长=1                     输入窗体大小=2,步长=1
                                      y 1  y 2  y 3  y 4  y 5  y 6  ,…, y N  y 5  y 6  y 7  y 8  ,…, y N
                          重构气温
                            数据        y 1  y 2  y 3  y 4  y 5  y 6  ,…, y N  y 5  y 6  y 7  y 8  ,…, y N

                                      y 1  y 2  y 3  y 4  y 5  y 6  ,…, y N  y 5  y 6  y 7  y 8  ,…, y N

                          原始气温数据      y 1  y 2  y 3  y 4  y 5  y 6  ,…, y N
                                           图 3  滑动窗口多步预测示意图(以 m=4,n=2 为例)

                   图 3 中,对于一个长度为 N 的气温的时间序列{y ,y ,……,y },重构后的气温数据集如下:
                                                              1  2         N
                                                é   y        y      ⋯    y m  ù
                                                ê ê  y  1    y 2    ⋯   y   ú ú
                                             X = ê ê  2       3          m + 1 ú ú                     (4)
                                                ê ê  ⋮        ⋮     ⋱     ⋮  ú ú
                                                 y
                                                ë N - n - m + 1  y N - n - m + 2  ⋯  y N - n û
                                                 é y      y      ⋯    y m + n  ù
                                                 ê ê y  m + 1  y  m + 2  ⋯  y  ú ú
                                              Y = ê ê  m + 2  m + 3   m + n + 1 ú ú                    (5)
                                                 ê ê  ⋮     ⋮    ⋱      ⋮  ú ú
                                                  y
                                                 ë N - n + 1  y N - n + 2  ⋯  y N  û
               式中:y 为气温数据点;X 为预测方法的输入;Y 为预测结果的训练集。
                   第二步:初始化 PSO 参数,生成初始种群。种群中的每个粒子都具有初始化的位置和速度,其
               中粒子位置是一个 3 维向量代表 MLP 的学习速率α、小批量梯度下降动量θ以及隐含层神经元个数 m
               三个超参数;
                   第三步:评估每个粒子的适应度函数。基于重构的气温数据样本对带有小批量梯度下降算法的
               MLP 进行初始化的训练和测试,其中超参数根据粒子位置设置。
                   然后,选择均方根误差(RMSE)指标作为基于 PSO 进行 MLP 超参数优化的适应度函数,即 PSO 的
               目标函数。其计算公式如下:
                                                             n
                                                   RMSE =  1 å( ŷ - y  ) 2                            (6)
                                                           n     i  i
                                                             i = 1
               式中: ŷ ={ŷ ,ŷ ,…,ŷ   } 代表重构气温预测值; y ={y ,y ,…,y             } 代表重构气温真实值。
                          1   2       n                           1   2       n
                   第四步:适应度值比较与粒子位置、速度更新。每个粒子的位置和速度可以根据全局最优解和
               当前最优解进行更新,所有粒子都在由目标函数引导的方向上移动,从而可以计算最终的全局最优
               解。若粒子种群由 m 个粒子组成,在三维搜索空间中,向量 x = (x ,x ,x                            i3 ) ,i=1,2,…,m 表示
                                                                       i
                                                                                i2
                                                                            i1
               第 i 个粒子的空间位置,也即 MLP 的三个超参数设置;向量 υ = (υ ,υ ,υ                          i3 ) 表示第 i 个粒子的速
                                                                         i
                                                                             i1
                                                                                 i2
               度; p = ( p ,p ,p   i3 ) 表示第 i 个粒子搜索到的最优超参数设置; p = ( p ,p ,p                 g3 ) 表示整个粒子
                     i
                                                                             g
                          i1
                                                                                   g1
                                                                                       g2
                              i2
               群搜索到的最优参数设置。每次迭代粒子的速度及位置更新方程为:
                                                            t
                                                                        t
                                                    t
                                            υ i t + 1  = ωυ + c ς ( p - x i t ) + c η ( p - x i t )    (7)
                                                    i
                                                           i
                                                                        g
                                                                   2
                                                       1
                 — 204  —
   77   78   79   80   81   82   83   84   85   86   87