基于趋势指标与长短时记忆网络的电力市场日前电价预测

2022-10-09 03:07郭贺宏武灵耀赵庆生梁定康王旭平程昱舒
智慧电力 2022年9期
关键词:电价神经网络时刻

郭贺宏,武灵耀,赵庆生,梁定康,王旭平,程昱舒

(1.国网山西省电力公司,山西太原 030021;2.国网晋中供电公司,山西晋中 030600;3.太原理工大学电力系统运行与控制山西省重点实验室,山西太原 030024)

0 引言

随着大规模新能源并入电网[1-3],新能源的随机性[4]以及电能无法大量储存的特点[5]将造成日前出清价格强烈波动。而在电力市场中,日前出清价格直接影响市场收益[6-8],精准预测日前电价对把握市场规律、推动市场主体制定方案、合理配置资源等有重要意义[9]。因此,建立准确度较高的日前电价预测模型尤为重要。随着大数据技术的逐渐成熟,目前国内外关于日前电力市场出清价格预测的研究主要集中在数据挖掘方法上,具体分为机器学习和深度学习两方面。机器学习包括:随机森林回归(Random Forest Regression,RFR)[10]、极限学习机(Extreme Learning Machine,ELM)[11]、支持向量机回归(Support Vector Regression,SVR)[12]等模型。深度学习包括:反向传播神经网络(Back Propagation Neural Networks,BPNN)[13]、循环神经网络(Recurrent Neural Networks,RNN)[14]、长短时记忆网络(Long Short-Term Memory,LSTM)[15]、门控循环单元网络(Gate Recurrent Unit,GRU)[16]及卷积神经网络(Convolutional Neural Networks,CNN)[17]等模型。以上模型均通过引入电价及相关信息来训练大量历史数据,在电价预测中取得了较好的效果。

国内外研究人员通常在改进原有模型和分解输入历史数据这两方面进行改进,以获得更好的预测效果。在改进原有模型方面,文献[18]提出一种CNN 结合RNN 的模型,解决了实际应用中时间数据长短期模式混合的问题。文献[19]将CNN 与GRU 模型结合,使之能够提取时域特征,以提高预测不同季节电价的能力。文献[20]改进门控结构形成多层级门控长短时记忆模型(Multi-hierachy Gated Long Short-term Memory,MHG-LSTM),通过在不同数据集上进行预测,验证了该模型有很高的普适性。文献[21]提出一种基于图卷积神经网络与长短时记忆网络(Graph Convolution Networks Long Short-term Memory,GCN-LSTM)的时空预测模型,通过建立图模型并使用图卷积神经网络可有效融入统一电力市场的地域信息,从而提升模型的预测性能。在分解输入历史数据方面,文献[22]提出一种基于奇异谱分析(Singular Spectrum Analysis,SSA)优化LSTM 的日前电价预测模型,使用SSA 将原始序列分解成一系列的平稳序列,以提高预测精度。文献[23]提出一种小波包分解(Wavelet Packet Decomposition,WPD)与LSTM 结合的短期电价预测模型,使用WPD 剔除电价序列中波动性高、无效信息多的高频细节部分,提高了电价预测精度。文献[24]在LSTM 网络的基础上结合自适应矩估计算法,使深度学习模型在处理非线性问题上表现更为出色。文献[25]使用变分模态分解算法(Variational Mode Decomposition,VMD)处理电价序列,避免了递归计算和结束效应过程中产生的误差。文献[18-25]的研究提升了模型预测性能,但仍存在一定不足:(1)神经网络模型均通过建立输入与输出数据之间的非线性关系来进行电价预测,然而将多种神经网络模型改进或者结合改变不了其基于时域的时间序列分析实质,依然存在难以深入挖掘时序内部规律的问题;(2)由于电力市场具有复杂性、随机性和时变性等特点,导致电价序列具有强烈波动性,即使经过数据分解也难以趋于稳定,依然会造成电价预测效果不理想。

综上所述,本文创新性的引入趋势指标作为日前电价预测模型的输入数据,首次提出了一种趋势指标结合LSTM 的日前电价预测模型。所建模型首先通过引入随机指标(一般简称KDJ 指标)与异同移动平均线(Moving Average Convergence Divergence,MACD)2 种趋势指标提取时间序列数据内在规律,然后将趋势指标与电价数据输入LSTM 神经网络对日前电价进行预测,最后利用某省的日前电价数据进行算例分析。结果表明,本文所提模型的预测精度高于目前研究的BP,LSTM,GRU 等模型。

1 趋势指标与LSTM网络

1.1 趋势指标

1.1.1 KDJ指标

KDJ 指标是股票与期货市场上比较常用的趋势指标[26],计算KDJ 指标值首先要计算未成熟随机值(Raw Stochastic Value,RSV)。RSV 的表达式为:

K 值为RSV 值的指数移动平均值(Exponential Moving Average,EMA),D 值为K 值的指数移动平均值,J 值为K 值与D 值的大小关系。分别计算K,D和J 的值为:

式中:Ki,Di,Ji分别为第i个单位时间的K,D,J值;Ki-1,Di-1分别为第i-1 个单位时间的K,D值,当不存在第i-1 个单位时间的K 值时,令Ki-1=50;α为平滑指数,一般令α=1/3。

1.1.2 MACD指标

MACD 是Geral Appel 于1979 年提出的一种对数据上升、下降时刻作出判断的趋势指标[27]。MACD 通过计算数据的EMA 得到,EMA 表达式为:

MACD 计算过程中,一般使用指数为12 和26的指数移动平均值,此时β取2/13 和2/27,则的12 和26 指数移动平均值为:

式中:Fi,Ai,Bi分别为第i个单位时间的离差值、差指数平均值、柱状图值;Ai-1为第i-1 个单位时间的差指数平均值。

1.2 LSTM网络

LSTM 是在RNN 上进行改良的网络[28],LSTM相比RNN 可以解决梯度消失问题[29]。LSTM 模块内部结构图如图1 所示。

图1 LSTM模块内部结构图Fig.1 Internal structure of LSTM block

图1 中,xt为t时刻输入向量,ht为t时刻的隐藏层向量,ht-1为t-1 时刻的隐藏层向量,yt为t时刻输出向量,ct为t时刻记忆单元信息,ct-1为t-1 时刻记忆单元信息,为t时刻尚未处理的输入信息,c′t为遗忘门选择性剔除t-1 时刻神经元中的信息后保留下的信息,c″t为将进行处理后的输入信息,ft为遗忘门,int为输入门,ot为输出门,⊙为逻辑运算符,σ为Sigmoid 激活函数,tanh 为双曲正切函数。

由图1 可知,遗忘门ft部分剔除t-1 时刻神经元中ct-1的信息,得到遗忘部分信息后的记忆单元信息c′t;输入门int控制t时刻输入到神经元的信息,从而获得经过处理后的信息c″t;输出门ot控制输出更新后的神经元信息ct,从而获得输出值yt。t时刻的ct和ht更新过程为:

式中:Wf,Win,Wo分别为遗忘门、输入门、输出门的网络层权重;bf,bin,bo分别为遗忘门、输入门、输出门的网络层偏置;[ht-1,xt]为当xt输入LSTM 时与t-1时刻的隐藏层向量ht-1拼接。

2 基于趋势指标与LSTM的电价预测模型

本文采用趋势指标与LSTM 相结合的模型来进行电价预测,电价预测流程图如图2 所示。

图2 电价预测流程图Fig.2 Flow chart of electricity price forecast

图2 中,首先通过对历史数据缺失及异常等情况进行处理,然后计算日前电价每小时的KDJ 指标与MACD 指标并划分测试集和训练集,最后使用LSTM 网络进行训练与预测,得到最终的预测电价。

由图2 可知,为增强数据的有效性,在电价预测中需对历史数据进行预处理,以避免因原始数据缺失或异常的问题导致预测精度下降。本文对历史数据的预处理分为2 步:(1)使用拉依达准则[30]发现数据异常值;(2)使用拉格朗日插值法[31]补全缺失值。

由于不同指标数据的计量单位不同,为避免不同计量单位的影响将所有数据归一化处理。归一化公式为:

式中:k′为样本归一化后的值;k为原始值;kmin,kmax分别表示不同指标样本中数值的最小值和最大值。

本文构建趋势指标与LSTM 相结合的电价预测模型,对未来1 h 的电价进行预测。日前电价LSTM预测模型如图3 所示。

图3 日前电价LSTM预测模型Fig.3 LSTM prediction model of day ahead price

由图3 可知,输入预测时刻前多个小时的信息到LSTM,可得到预测时刻电价。预测过程中,模型的每个样本输出为未来1 h 的电价,模型的每个样本输入为预测时刻之前的多个小时数据,包括电价、新能源发电量、KDJ 指标与MACD 指标。

3 算例分析

3.1 数据集

实验数据来源于某省公司提供的2021 年4 月1 日至2021 年7 月9 日连续100 d 共计2 400 h 的日前电价数据。每小时数据包含电价最大值、最小值、平均值以及新能源发电量,再加上通过计算得到的趋势指标数据K 值、D 值、J 值、离差值、差指数平均值、柱状图值共计10 维数据,输入数据如表1所示。由表1 可知,将2 400 h 中前80%的电价数据与趋势指标数据作为训练集,其余20%作为测试集。训练时,输入数据为表1 中的10 维数据,输出结果为预测时刻的日前电价。

表1 输入数据Table 1 Input data

3.2 评价指标

本文选取平均绝对误差(Mean Absolute Error,MAE)和均方根误差(Root Mean Squared Error,RMSE)2 个评价指标,描述预测值与实际值的差异程度,表达式为:

式中:EMAE为电价预测值与电价实际值的平均绝对误差;ERMS为电价预测值与电价实际值的均方根误差;m为数据总量;li为电价真实值;为电价预测值。

3.3 训练参数与对比模型设置

将多次实验后得到的EMAE与ERMS曲线进行比较分析,设置训练次数为200 次、学习率为0.001、批训练大小为16、网络的隐藏层大小为256、堆叠层数为2 层、随机种子数设为42 个、网络层的遗忘率设为0.2。

采用LSTM,BP,GRU 3 种模型进行实验。为研究趋势指标对预测精度的影响,采用输入不同数据对LSTM,BP,GRU 进行2 组对比实验:第1 组未加入趋势指标,输入数据仅为电价每小时最大值、最小值、平均值与每小时新能源发电量;第2 组加入趋势指标,输入数据为表1 所示的10 种数据。

3.4 实验结果

本文实验基于深度学习平台TensorFlow 和Keras 实现,分别使用LSTM,BP,GRU,趋势指标-LSTM、趋势指标-BP 与趋势指标-GRU 共6 种模型对某省日前电价进行训练与预测。预测结果取10次预测实验的平均值,不同模型电价预测结果误差如表2 所示。

表2 不同模型电价预测结果误差Table 2 Electricity price prediction error of different models 元/MWh

由表2 可知,趋势指标-LSTM 模型的EMAE与ERMS分别为11.480 元/MWh 与18.532 元/MWh,均优于LSTM、BP、GRU 模型。对比LSTM 模型,趋势指标-LSTM 模型的EMAE与ERMS分别下降4.859 元/MWh 与5.692 元/MWh;对比BP 模型,趋势指标-LSTM 的EMAE与ERMS分别下降9.071 元/MWh 与11.191 元/MWh;对比GRU 模型,趋势指标-LSTM模型的EMAE与ERMS分别下降3.976 元/MWh 与6.224 元/MWh。在与趋势指标结合的3 种模型的对比中,趋势指标-LSTM 模型要优于其它2 种模型,EMAE较趋势指标-BP 与趋势指标-GRU 模型分别降低了1.674 元/MWh 与2.011 元/MWh,ERMS则分别降低了0.663 元/MWh 与1.297 元/MWh。

有无趋势指标的电价预测误差如图4 所示。

图4 有无趋势指标的电价预测误差Fig.4 Electricity price forecasting error with or without trend index

由图4 可知,相比无趋势指标输入的对照组,LSTM,BP,GRU 在输入趋势指标数据后电价预测结果的EMAE与ERMS均有不同程度的减少。LSTM 在增加趋势指标后EMAE和ERMS分别降低了4.859 元/MWh 与5.692 元/MWh;BP 在增加趋势指标后EMAE和ERMS则分别降低了7.397 元/MWh 与9.180 元/MWh;GRU 在增加趋势指标后EMAE和ERMS分别降低了3.313 元/MWh 与4.927 元/MWh。

为了更深入研究趋势指标在日前电价预测中的作用,取6 种预测模型预测结果中的1 d 进行对比,电价实际值与预测值对比如图5 所示。

图5 电价实际值与预测值对比Fig.5 Comparison between actual value and predicted value of electricity price

由图5 可知,未结合趋势指标的3 种模型预测值较实际值都偏小,在6:00—10:00 与18:00—20:00这2 个电价尖峰时段更为明显,而结合趋势指标后的模型预测效果都有较大提升且更接近实际值。趋势指标-LSTM 模型预测效果最好,预测值曲线与实际值曲线变化趋势基本一致;趋势指标-BP 模型在电价尖峰时段预测值较实际值偏小;趋势指标-GRU 模型在电价尖峰时段预测值较实际值偏大。尖峰时段模型预测结果误差对比如表3 所示。

表3 尖峰时段模型预测结果误差对比Table 3 Error comparison of peak period model prediction results %

由表3 可知,趋势指标-LSTM 模型在电价尖峰时段的相对预测误差平均值仅为1.03%,相比于未结合趋势指标的LSTM 模型降低了3.5%;BP 与GRU 在结合趋势指标后,电价尖峰时段的相对预测误差则分别降低了4.81%与1.99%。说明趋势指标的加入对预测模型在电价尖峰时段的预测效果有较大提升,解决了因电价强烈波动带来的预测不准确问题。

综上所述,增加趋势指标有效提高了模型预测精度,尤其是尖峰阶段电价的预测效果。趋势指标-LSTM 模型相比其它模型有2 个优点:(1)增加趋势指标数据,使输入神经网络的信息密度更高,便于神经网络的特征提取和预测;(2)趋势指标不是采用传统方式通过数据分解提升数据有效性,而是通过计算提取原始数据所包含的内在规律信息,更全面地展现电价数据的特性,更有利于神经网络对电价尖峰阶段的预测。

4 结论

本文提出了一种趋势指标-LSTM 的电价预测模型。利用某省电力市场日前电价数据进行算例分析,通过与其它模型对比得到如下结论:

1)趋势指标-LSTM 模型性能优于对照模型,突破了以往模型只利用时间序列数据的不足:一方面通过计算趋势指标挖掘电价数据的内在规律;另一方面增加了输入数据的信息密度,有效提升了预测精度。

2)通过算例验证了在同种神经网络模型下,增加趋势指标作为输入数据可有效提高模型的预测性能。尤其在电价尖峰阶段具有较好的拟合效果,说明趋势指标的引入与利用可使尖峰阶段电价预测有较大提升。

猜你喜欢
电价神经网络时刻
基于神经网络的船舶电力系统故障诊断方法
基于人工智能LSTM循环神经网络的学习成绩预测
MIV-PSO-BP神经网络用户热负荷预测
冬“傲”时刻
捕猎时刻
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
一天的时刻