﻿ 基于改进LMD与GRU网络的短期燃气负荷预测
 计算机系统应用  2019, Vol. 28 Issue (6): 29-37 PDF

Short-Term Gas Load Forecasting Based on WT-LMD and GRU Neural Network
ZHANG Tong, XU Xiao-Zhong, WANG Xiao-Xia, YANG Chao
College of Information and Mechanical Engineering, Shanghai Normal University, Shanghai 200234, China
Foundation item: Shanghai Municipal Science and Technology Commission Project (11510502400)
Abstract: In view of the nonlinearity and non-stationarity of gas load data, this paper presents a combined forecasting model based on improved WT-LMD and GRU neural networks. Firstly, the model decomposes the gas load data by using the improved LMD algorithm, which improves the over-smoothing problem of that the traditional LMD method uses piecewise Newton interpolation instead of the traditional sliding average method to obtain local mean function and envelope estimation function. After that, the PF components are processed with wavelet threshold denoising to obtain effective component data. Finally, The GRU neural network is used to predict the value of each component separately, and the final predicted value of load is obtained by adding them. Simulation results show that the proposed method is more accurate than single GRU neural network and GRU network combined with traditional LMD algorithm.
Key words: Newton interpolation method     Local Mean Decomposition (LMD) algorithm     wavelet threshold denoising     Gated Recurrent Unit (GRU) neural network     gas load forecasting

LMD算法利用滑动平均法得到局部均值函数与包络函数, 相比于其它方法, 滑动平均法的端点效应不明显, 但是同样会有过平滑的问题. 文献[18]用Akima插值方法优化LMD算法, 成功的解决了LMD过平滑的问题, 依照这样的思路, 在本文中, 同样对LMD算法的插值方法做改进. 文献[19]详细比较了几种常用的插值方法, 可以看出牛顿插值法计算较为简单, 且在处理过平滑方面优于其它几种插值方法, 本文将利用牛顿插值法代替LMD的滑动平均值法来获得局部均值函数和包络估计函数, 改善传统LMD方法存在的过平滑问题.

1 改进的LMD算法 1.1 LMD算法

(1) 找出X(t)的所有局部极值点, 包括极大极小值点, 对两个相邻的极值点ni, ni+1求平均值.

(2) 将所有的平均值点连接起来, 利用滑动平均法得到局部均值函数m11(t), 并将m11(t)从X(t)中分离: h11(t)=X(t)–m11(t).

(3) 求出相邻极值点的包络估计值ai:

 ${{{a}}_i} = \frac{{\left| {{n_i} - {n_{i + 1}}} \right|}}{2}$

(4)对h11(t)解调得到: ${{{s}}_{11}}\left( t \right) = \dfrac{{{h_{11}}\left( t \right)}}{{{a_{11}}\left( t \right)}}$

(5)将迭代过程中的a11(t), …, a1n(t)相乘得到包络信号a1(t), 将a1(t)与s1n(t)相乘即为第一个PF分量PF1(t). PF1(t)是信号中频率最高的部分, 它的瞬时频幅就是a1(t), 瞬时相位为φ(t)=arccos(s1n(t)), 瞬时频率f1(t): ${{{f}}_1}\left( t \right) = \dfrac{1}{{2\pi }}\dfrac{{d\varphi \left( t \right)}}{{dt}}$ .

(6)从X(t)中分离出PF1(t)得到: μ1(t)=X(t)–PF1(t), 将μ1(t)作为新的原始信号重复上述步骤, 得到相应的PF2(t)和μ2(t). 如此, 迭代n次, 直到μn(t)是一个单调函数, 结束循环.

(7)原始信号X(t)可表示为这nPF分量的和加上μn(t):

 $X\left( {\rm{t}} \right) = \sum\limits_{i = 1}^n {P{F_i}\left( t \right) + {\mu _n}\left( t \right)}$
1.2 改进的LMD算法

1.2.1 牛顿插值法

n0(x0, f(x0)), n1(x1, f(x1)), …, nk(xk, f(xk))构建牛顿插值多项式:

N(x)=f(x0)+(xx0)f(x0, x1)+…+f(x0, x1, …, xkik−1(xxi)

 ${f}\left( {{x_0}, {x_1}} \right) = \frac{{f\left( {{x_0}} \right) - f\left( {{x_1}} \right)}}{{{x_0} - {x_1}}}$ (1)
 ${f}\left( {{x_0}, {x_1}, {x_2}} \right) = \frac{{f\left( {{x_0}, {x_1}} \right) - f\left( {{x_1}, {x_2}} \right)}}{{{x_0} - {x_2}}}$ (2)
 ${f}\left( {{x_0}, {x_1}, \cdots, {x_k}} \right) = \frac{{f\left( {{x_0}, \cdots, {x_{k - 1}}} \right) - f\left( {{x_0}, \cdots, {x_k}} \right)}}{{{x_0} - {x_k}}}$ (3)

1.2.2 小波阈值去噪

 图 1 小波阈值去噪

1.2.3 改进的LMD算法

 图 2 改进的LMD算法

2 GRU神经网络 2.1 GRU网络结构

GRU神经网络包含两个门单元(更新门z和重置门r), 结构如图3所示. 更新门控制上一时刻的信息用到当前时刻中的程度, 更新门的值越大表示上一时刻对当前时刻的影响越高. 重置门控制忘记上一时刻信息的程度, 重置门的值越小表示上一时刻对当前时刻的影响越少.

 图 3 GRU神经网络

 ${{z}_t} = \sigma ({W_z} \cdot \left[ {{h_{t - 1}},{x_t}} \right])$ (4)
 ${{r}_t} = \sigma ({W_r} \cdot \left[ {{h_{t - 1}},{x_t}} \right])$ (5)
 ${{\tilde h}_t} = \tanh (W \cdot \left[ {{r_t} \cdot {h_{t - 1}},{x_t}} \right])$ (6)
 ${{h}_t} = \left( {1 - {z_t}} \right) * {h_{t - 1}} + {z_t} * {\tilde h_t}$ (7)
 图 4 zt

 图 5 rt

 图 6 ${\tilde h_{\rm{t}}}$

 图 7 ht

2.2 LMD与GRU网络组合算法

3 GRU与LSTM神经网络

GRU与LSTM在结构上十分的相似, 都是为了解决RNN的长期依赖问题设计的门控单元结构. LSTM包含三个门函数(输入门、忘记门和输出门), 如图12所示, 而GRU模型仅仅包含两个门函数(重置门和更新门). 如果将重置门全部设置为1, 并且更新门设置为0, 就退化为RNN模型. 显而易见, 由于少了输出门的计算, GRU网络参数更少, 训练速度更快. 而当实验数据较多时, LSTM网络效果更好.

GRU神经网络与LSTM在实验结果上相差不大, 需根据实际数据选择适当的模型[18]. 本文将2005年到2014年的燃气负荷作为输入数据(数据未处理), 选取2000个数据做训练数据, 1000个作为测试数据. 分别以GRU和LSTM两个模型进行预测, 结果如图13图14为两种模型的误差曲线以及预测值曲线. 可以看出预测精度两者相差不大, MAPE分别为0.0217和0.1988,

GRU神经网络的收敛速度更快. 为了减少训练时间, 本文选用GRU神经网络作为负荷的预测算法.

4 实验对比

(1) LMD-GRU算法的拟合度高于单GRU网络;

(2) WT-LMD-GRU网络的拟合度高于LMD-GRU算法.

 图 8 原始负荷曲线

 图 9 PF分量

 图 10 小波去噪

 图 11 LMD与GRU组合模型

 图 12 LSTM结构

5 结论与展望

 图 13 LSTM与GRU的收敛速度对比

 图 14 LSTM与GRU精度对比

 图 15 3种模型对比