近年来, 天然气作为一种安全高效, 经济环保的绿色能源, 现在已经被广泛地应用于国民生活和生产等各个领域. 为了能够合理且高效的使用燃气资源, 这就需要燃气运营企业对燃气负荷量有较为准确的预测. 因此, 如何根据历史负荷数据以及可能影响因素, 充分地利用数学和计算机知识选择、建立合适的预测模型, 并不断提高燃气预测精度已经成为一项急需解决的技术问题, 也是学术与工业领域重要的研究课题, 具有极强的现实与工程意义.
在过去几十年来, 对负荷预测领域的研究总的来说主要集中于使用人工神经网络[1], 支持向量机[2], 专家系统[3], 模糊逻辑[4], 自回归移动平均[5]等基本方法. 紧接着研究方向纷纷从最初的使用单一的预测模型转向后来的各种组合预测模型, 可以从各项研究案例中看出, 负荷的预测精度的确得到了有效的提升.
而近年来, 随着深度学习技术的兴起, 学者们便逐渐地开始尝试使用各种深度学习算法及其各种优化的集成算法来进行预测. Cortez B等[6]使用LSTM来对紧急事件进行预测. Yang YT等[7]提出了一种新型的 CFCC-LSTM模型来对海平面温度进行预测, 该模型的结构包括一个全连接的LSTM网络层和一个卷积层. 并且通过实验验证了该模型的有效性. 根据以往的研究成果来看, 同样地, 单一的深度学习模型并不能够很好的解决问题, 因此, 专家们便开始对深度学习算法的各种集成算法来展开研究. Qiu XH等[8]提出了一种EMD和深度学习算法DBN的集成模型, 该方法既使用了EMD强大的信号分解能力, 又利用了DBN良好的特征提取能力, 最终得到了期望的预测性能. 因此, 深度学习算法的优势显而易见. 那么, 有针对性的使用不同的深度学习算法并将其进行算法集成便是一个很好的研究思路. Gensler A等[9]通过组合不同的深度学习算法来证明其在太阳能预测领域的预测性能确实优于标准的MLP和其他的预测模型.
基于这种研究思路, 进一步提高燃气负荷预测的精度, 本文提出了一个新颖的集成深度学习算法模型, 主要通过EEMD, AutoEncoder和LSTM网络的集成来进行多步骤的燃气负荷预测. 该模型采用集合经验模式分解算法, 加入随机的高斯白噪声, 改进传统经验模式分解模态混叠的问题. 并且将燃气负荷的影响因子首先通过AutoEncoder进行深层特征提取, 避免了人工选择特征的盲目性和繁琐性, 便于后续模型进行预测. 最终使用LSTM网络作为基本的模型来对燃气负荷数据进行预测, 充分利用了LSTM循环神经网络在时间序列数据方面的良好的预测性能. 本文首次通过将EEMD算法, AutoEncoder和LSTM神经网络集成起来对燃气负荷数据进行多步预测, 使得LSTM模型更能把握历史负荷数据的内在规律, 预测更加有针对性, 更加精准.
1 集成深度学习算法本文所采用的EEAE-LSTM集成深度学习算法的特点主要有: 使用LSTM神经网络进行基本模型搭建, 利用记忆因子的设置来自适应的寻找数据序列在时间尺度上的联系和特征; 在此基础上, 使用自动编码器原理来对LSTM网络的输入数据不断迭代训练找到数据序列中在空间尺度上的深层次特征, 简化LSTM网络的训练负担, 舍去噪声特征, 增加网络的预测精度; 由于燃气负荷数据受多种因素的影响, 所以算法中的第一步就要对数据进行EEMD分解, 找到不同因素影响下的序列, 分别对其进行预测最后重构结果. 这样可以避免数据整体预测的模糊性, 提高准确性.
1.1 LSTM神经网络简介LSTM[10–13]是一种特殊的循环神经网络, 其核心设计就是在循环神经网络隐藏层的神经单元中增加一个记忆因子
遗忘门: 它决定需要从信息流中丢弃多少信息. 通过sigmoid函数实现得到一个0~1之间的阈值. 当阈值越接近1, 表示保留的信息就越多; 反之则表示丢弃的信息越多. 如式(1).
${f_t} = sigmoid(W_f^{\rm{T}} \times {h_{t - 1}} + U_f^{\rm{T}} \times {i_t} + {b_f})$ | (1) |
输入门: 它决定了当前时刻的输入
${i_t} = sigmoid(W_i^{\rm{T}} \times {h_{t - 1}} + U_i^{\rm{T}} \times {i_t} + {b_i})$ | (2) |
候选门: 它用来计算当前的输入与过去的记忆所具有的信息总量. 计算公式如式(3).
${c_{{t}}} = {f_t} \times {c_{t - 1}} + {i_t} \times c_t'$ | (3) |
其中,
$c_{{t}}^{\rm{'}} = \tanh (W_c^{\rm{T}} \times {h_{t - 1}} + U_c^{\rm{T}} \times {i_t} + {b_c})$ | (4) |
输出门: 它决定着将被继续传递到下一时刻神经单元中的信息量. 计算如式(5).
${h_t} = {o_t} \times \tanh ({c_t})$ | (5) |
其中,
${o_{{t}}} = sigmoid(W_o^{\rm{T}} \times {h_{t - 1}} + U_o^{\rm{T}} \times {i_t} + {b_o})$ | (6) |
自动编码器(AutoEncoder)[14–17]是深度学习算法的一种常见形式, 是最基本的特征学习方式. 传统的自动编码器是一种无监督形式的单隐层神经网络结构, 由输入层、隐藏层和输出层构成. 其核心设计就是它的目标向量等于输入向量, 而在此基础上自动编码器会通过不断地网络编码和解码过程对输入向量的内在特征进行学习, 最终得到其深层表征方式. 其网络结构如图2所示.
在图1中, 原始输入数据经过编码和解码处理, 若重构的输出误差在限定范围内, 即可认定编码过程是对输入样本数据的有效表达. 自动编码器可以将高维数据转换为的低维表示. 对于输出层, 假设输入数据
$h = \delta (w \times x + b)$ | (7) |
其中,
隐含层的输出
$\tilde x = \delta ({w^{\rm{T}}} \times h + c)$ | (8) |
因此, 输出层的输出
同时, 自动编码器学习目的是将输入数据
$L\left( {{{w}},b,c} \right) = \frac{{\rm{1}}}{{\rm{2}}}{\sum\limits_{i = 1}^n {\left( {{{{x}}_i} - {{{{\tilde x}}}_i}} \right)} ^2}$ | (9) |
利用梯度下降等最优化算法, 可以求解出模型的最优参数
经验模态分解[18,19]是一种自适应的对数据序列或信号的平稳化处理方法. 其关键是它能使复杂信号分解为有限个IMF, 而所分解出来的各IMF分量包含了原信号的不同时间尺度的局部特征信号. 当使用EMD算法进行时间序列分析时会产生模态混叠的问题, 使得每一个IMF分量包含不同时间尺度特征成分. 为了解决以上问题, 使用集合经验模态分解算法, 其中加入了噪声辅助信号处理的方法. EEMD[20]算法具体步骤如下:
Step 1. 在原始数据序列
${X_i}(t) = x(t) + {w_i}(t)\;\;\;i = 1,2,\cdots, N$ | (10) |
其中,
Step 2. 对复合数据序列
$X(t) = \sum\limits_{i = 1}^n {{c_i}} (t) + {r_n}(t)$ | (11) |
其中,
Step 3. 迭代执行Step 1, Step 2, 在每次迭代中, 白噪声序列都是随机生成的, 最终得到多对IMF分量;
Step 4. 利用高斯白噪声频谱的零均值原理, 消除高斯白噪声作为时域分布参考结构带来的影响. 原始数据序列对应的最终IMF分量
${c_n}(t) = \frac{1}{N}\sum\limits_{i = 1}^N {{c_{i.n}}} (t)$ | (12) |
${r_m}(t) = \frac{1}{N}\sum\limits_{i = 1}^N {{r_{i.m}}} (t)$ | (13) |
Step 5. 最终原始数据序列
$x(t) = \sum\limits_{n = 1}^m {{c_n}} (t) + {r_m}(t)$ | (14) |
式(14)中,
人工神经网络已经广泛应用于燃气负荷预测中, 而由于人工神经网络存在着网络结构难以确定, 易陷入局部最小, 无法从时间尺度上把握到时间序列数据的波动趋势. 文献[21]使用了自动编码器和LSTM网络的组合, 将其成功应用与金融时间序列的分析研究中, 而本文提出一种EEAE-LSTM集成深度学习算法的燃气负荷数据预测方法. 其关键是能够从多种维度去把握数据序列的特征, 结合这些维度下的特征来对数据做出一个比较准确的预测.
首先, 本文考虑到燃气负荷数据是一种非线性非稳态的序列型数据, 而且影响因素复杂多变, 如果直接对其进行预测, 并不能够准确把握其固有特征, 因此, 算法中采用集成经验模式分解来将原始负荷数据自适应地分解为不同频域下的IMF分量. 其中不同的IMF分量对应的则是不同数据序列在特定影响因素下的组成分量, 代表了数据一个固有的震动模态, 可以使数据特征在不同分辨率下显示出来.
其次, 本文针对传统神经网络无法捕捉到燃气数据在时间域上的特征, 提出使用LSTM神经网络来进行基本模型的构建, 充分利用了LSTM网络特有的记忆结构对时间序列数据的友好性和适用性, 同时又解决了一般循环神经网络长期依赖的问题. 并且网络结构综合考虑了当前数据与前面数据的关系, 使用记忆因子自适应的保留了有价值的信息, 进有选择的进行信息传递. 体现了数据序列在时间尺度上的联系和内在特征.
最后, 由于燃气数据受天气、气温、湿度、日期类型等多种复杂因素的影响. 在预测时不得不考虑所有可能影响因子, 而目前的人工选择特征却有不可避免的盲目性和繁琐性. 因此, 本文考虑对多种可能影响因素进行自动化特征提取. 而自动编码器可以对一些无标注的数据不断地进行重构, 最终学习到数据的深层特征表示. 自动编码的过程简便且高效, 可以较为理想的提取到多个影响因子的深层次特征. 具体如算法1.
算法1. 自动编码算法
主要参数: Nstd=0.2; NE=100; batch_size=20; Time_steps=10; Dropout=10%
输入: 负荷序列
输出: 训练完成的EEAE-LSTM集成模型
1. 数据的EEMD算法分解
(1)在
(2)对
(3)对N次迭代后的
2. 影响因子的自动编码器提取
(1)确定自动编码器网络结构;
(2)选择网络中激活函数及优化器等超参数;
(3)将
(4) 自动编码器网络训练结束得到最终的特征因子序列
3. 将步骤1和步骤2得到的结果组成不同IMF分量的训练矩阵
4. LSTM神经网络的预测
(1)确定LSTM网络结构及设置超参数;
(2)定义损失函数Loss;
(3)搭建LSTM模型并将
(4)将各个训练矩阵
本文所提出的集成深度学习算法完整的算法框架如图3.
基于EEAE-LSTM集成深度学习算法的燃气负荷预测步骤如下:
Step 1. 分析燃气负荷数据序列的波动趋势, 数据特点, 相关影响因素以及数据是否完整、干净等, 对数据中存在的异常数据进行预处理等.
Step 2. 使用集合经验模式分解算法将负荷序列分解为多个IMF分量和余项.
Step 3. 将燃气负荷数据的影响因素输入到自动编码器(AutoEncoder)中进行特征提取并做非线性降维处理.
Step 4. 将EEMD分解得到的每个子序列分别与AE提取到的特征序列组成不同的训练矩阵. 然后, 针对不同的子序列对应的训练矩阵建立相应的LSTM模型, 分别进行预测, 最后对各个预测结果进行先行重构得到最终预测结果.
2 仿真分析 2.1 数据描述实验所需要的数据集为2014~2017年上海市市北每日居民生活用气数据, 共有1261条, 每条数据包含日期类型, 最高温度, 最低温度, 平均温度, 天气类型, 历史负荷值等字段. 为了验证本文所提出方法的准确性, 健壮性及泛化能力, 将该数据分为4个数据子集, 如表1所示, 且下述实验将分别在这4个子集上进行模型的训练和测试.
2.2 EEMD分解结果
针对燃气负荷数据的时序非线性, 非平稳性以及一定的周期连续性, 采用EEMD算法可以有效的对原始数据进行平稳化处理. 示例使用上海市市北2017年1月1日~2017年12月27日一年的生活用气进行EEMD分解算法, 将原始的燃气负荷数据分解结果如图4~图12.
从图中可以看出, 原始的燃气负荷序列通过EEMD算法被分解为7个IMF分量和一个剩余项. IMF1~2为高频分量, 负荷具有一定的随机性, 可能为气候等随机影响因子, 规律难以捕捉. IMF3~4为中频分量, 负荷具有一定的周期性, 可能影响因素为用户工作, 生活习惯等. IMF5~7为低频分量, 负荷具有明显的周期性, 可能影响因素为温度, 历史负荷值等. Residual为剩余项, 反映了负荷的总体变化趋势, 可能影响因素为季节, 日期类型等. 通过EEMD分解, 可以将燃气负荷数据中真实存在的不同尺度波动或趋势逐级分解出来, 产生一系列具有不同特征时间尺度的数据序列, 分别反映了各自时间尺度上的内在特征.
2.3 影响因子特征提取
通过将影响因子向量输入到自动编码器中, 可以提取到其深层特征因子, 如图13所示. 明显可以看出, 特征因子序列有一定的规律性. 影响因子数值大概在0.4~1.2之间以5个单位值的周期来波动. 可见, 自动编码器能够很好地捕捉到燃气负荷数据影响因子的深层特征. 该特征因子序列用于下一步与各个IMF分量组成LSTM预测模型的训练矩阵, 进而进行很好地预测燃气日负荷值.
2.4 负荷预测
在负荷预测阶段, 将第一步中EEMD分解得到的每个子序列分别与第二步中AutoEncoder提取到的特征序列组成不同IMF分量的训练矩阵. 然后再针对不同的IMF分量对应的训练矩阵建立相应的LSTM模型, 分别进行预测, 最后对各个预测结果进行线性重构得到最终的预测结果.
这部分给出了本文所提出方法EEAE-LSTM以及其他3个对比模型LSTM, AE-LSTM, EEMD-LSTM的燃气负荷预测结果.
如图14是在数据集DataSet1下的燃气负荷预测曲线, 图15是在数据集DataSet1下的燃气负荷预测误差图, 表2则具体给出了各个模型在不同数据子集下的误差情况. 由于篇幅有限, 这部分只参考DataSet1数据子集作为展示研究成果的示例.
从实验结果可以得到, 该部分主要研究了不同模型在不同的数据子集下的预测结果和误差情况. 然而为了燃气负荷预测方法的进一步研究, 在本文的这部分部分则仅采用DataSet1数据子集作为模型的对比和分析的数据依据, 同样能够代表模型算法之间的差异性和通用性.
(1)在MAPE (%)误差图中, AE-LSTM与EEMD-LSTM的误差接近, 分别为1.852%, 1.738%, 但也均低于单一的LSTM模型, 为2.120%. 而本文所提出方法EEAE-LSTM相对于AE-LSTM, EEMD-LSTM, LSTM的MAPE误差分别降低了17.8%, 12.5%以及28.3%. 证明了其有效性, 在燃气负荷预测方面具有不错的预测表现.
(2)在详细的MAPE, RMSE误差表中, 相对于单一的LSTM模型, 其他集成模型的MAPE降低了12.6%~28.3%, 而RMSE则降低了12.4%~21.3%. 从数据角度分析, 深度学习的集成算法在预测精度方面确实要比单一的深度学习模型要好.
(3) AE-LSTM和EEMD-LSTM的预测表现接近, 说明不管是使用AutoEncoder还是EEMD, 均能够很好的在数据进入模型预测之前捕捉到原始负荷数据序列的内在特征.
(4)本文所提出的EEAE-LSTM多步预测算法的预测表现确实要明显优于AE-LSTM和EEMD-LSTM, 说明所提出的方法在不同模型的集成方面的可行性以及有效性. 主要是考虑到原始负荷序列的非平稳化的特性, 先使用EEMD算法进行逐级分解, 找到在不同时间尺度上, 负荷序列真实的变化趋势, 接着再使用自动编码器对影响因子进行特征提取. 两种方法的有效结合, 更能把握到数据的真实特性和深层次的特征表示.
(5)分析表2数据, 由于每个数据集的数据量不同, 所以仅选择从纵向对比各个算法的时间复杂度最为合理. 表中可以看出通过不同算法的集成预测, 在时间复杂度上显然要大于单一的LSTM神经网络, 而本文所提出的的EEAE-LSTM算法是所有对比模型中最大的. 因为多种模型的集成必将不可避免的导致模型复杂度的增加, 从而增加模型预测的时间复杂度. 而对于燃气负荷数据, 如何提高预测精度是目前状况下首要解决的问题, 本文提出的集成深度学习算法是一种用效率换性能的预测方法.
3 结论与展望
针对现有燃气负荷预测精度难以提升的情况, 本文提出了一种新型的集成深度学习算法来对燃气负荷进行多步预测. 该算法首次通过将EEMD, AutoEncoder和LSTM神经网络集成起来对燃气负荷数据进行多步预测, 分别从时间尺度和空间尺度把握了燃气数据的内在特性, 使得预测更加有针对性, 更加精准. 讨论实验结果, 并且证明了该方法在燃气负荷预测方面的预测精度的确有所提高.
[1] |
Highley DD, Hilmes TJ. Load forecasting by ANN. IEEE Computer Applications in Power, 1993, 6(3): 10-15. DOI:10.1109/67.222735 |
[2] |
Božić M, Stojanović M. Application of SVM methods for mid-term load forecasting. Serbian Journal of Electrical Engineering, 2011, 8(1): 73-83. DOI:10.2298/SJEE1101073B |
[3] |
Rahman S, Bhatnagar R. An expert system based algorithm for short term load forecast. IEEE Transactions on Power Systems, 1988, 3(2): 392-399. DOI:10.1109/59.192889 |
[4] |
Ali D, Yohanna M, Puwu MI, et al. Long-term load forecast modelling using a fuzzy logic approach. Pacific Science Review A: Natural Science and Engineering, 2016, 18(2): 123-127. DOI:10.1016/j.psra.2016.09.011 |
[5] |
Alberg D, Last M. Short-term load forecasting in smart meters with sliding window-based ARIMA algorithms. In: Nguyen NT, Tojo S, Nguyen LM, et al, eds. Intelligent Information and Database Systems. Cham: Springer, 2017. 299–377.
|
[6] |
Cortez B, Carrera B, Kim YJ, et al. An architecture for emergency event prediction using LSTM recurrent neural networks. Expert Systems with Applications, 2018, 97: 315-324. DOI:10.1016/j.eswa.2017.12.037 |
[7] |
Yang YT, Dong JY, Sun X, et al. A CFCC-LSTM model for sea surface temperature prediction. IEEE Geoscience and Remote Sensing Letters, 2018, 15(2): 207-211. DOI:10.1109/LGRS.2017.2780843 |
[8] |
Qiu XH, Ren Y, Suganthan PN, et al. Empirical mode decomposition based ensemble deep learning for load demand time series forecasting. Applied Soft Computing, 2017, 54: 246-255. DOI:10.1016/j.asoc.2017.01.015 |
[9] |
Gensler A, Henze J, Sick B, et al. Deep learning for solar power forecasting — An approach using AutoEncoder and LSTM neural networks. Proceedings of 2016 IEEE International Conference on Systems, Man, and Cybernetics. Budapest, Hungary. 2016. 2858–2865.
|
[10] |
Fan C, Xiao F, Zhao Y. A short-term building cooling load prediction method using deep learning algorithms. Applied Energy, 2017, 195: 222-233. DOI:10.1016/j.apenergy.2017.03.064 |
[11] |
Zhang B, Wu JL, Chang PC. A multiple time series-based recurrent neural network for short-term load forecasting. Soft Computing, 2018, 22(12): 4099-4112. DOI:10.1007/s00500-017-2624-5 |
[12] |
Williams RJ, Zipser D. A learning algorithm for continually running fully recurrent neural networks. Neural Computation, 1989, 1(2): 270-280. DOI:10.1162/neco.1989.1.2.270 |
[13] |
Zheng HT, Yuan JB, Chen L. Short-term load forecasting using EMD-LSTM neural networks with a xgboost algorithm for feature importance evaluation. Energies, 2017, 10(8): 1168. DOI:10.3390/en10081168 |
[14] |
胡昭华, 宋耀良. 基于Autoencoder网络的数据降维和重构. 电子与信息学报, 2009, 31(5): 1189-1192. |
[15] |
Lee S, Kwak M, Tsui KL, et al. Process monitoring using variational autoencoder for high-dimensional nonlinear processes. Engineering Applications of Artificial Intelligence, 2019, 83: 13-27. DOI:10.1016/j.engappai.2019.04.013 |
[16] |
李芳, 高翔. 局部线性嵌入和深度自编码网络的降维方法的比较. 中国海洋大学学报, 2018, 48(S2): 215-222. |
[17] |
徐逸之, 彭玲, 林晖, 等. 基于栈式自编码的上海地铁短时流量预测. 计算机工程与科学, 2018, 40(7): 1275-1280. DOI:10.3969/j.issn.1007-130X.2018.07.018 |
[18] |
李慧浩, 许宝杰, 左云波, 等. 基于小波变换和EMD方法提取趋势项对比研究. 仪器仪表与分析监测, 2013(3): 28-30. DOI:10.3969/j.issn.1002-3720.2013.03.010 |
[19] |
Fan GF, Peng LL, Zhao XJ, et al. Applications of hybrid EMD with PSO and GA for an SVR-based load forecasting model. Energies, 2017, 10(11): 1713. DOI:10.3390/en10111713 |
[20] |
López C, Zhong W, Zheng ML. Short-term electric load forecasting based on wavelet neural network, particle swarm optimization and ensemble empirical mode decomposition. Energy Procedia, 2017, 105: 3677-3682. DOI:10.1016/j.egypro.2017.03.847 |
[21] |
Bao W, Yue J, Rao YL. A deep learning framework for financial time series using stacked autoencoders and long-short term memory. PLoS One, 2017, 12(7): e0180944. DOI:10.1371/journal.pone.0180944 |