融合级联LSTM的短期电力负荷预测
2021-09-26娄奇鹤谢祥颖马晓光
娄奇鹤,刘 虎,谢祥颖,马晓光
1.华北电力大学,北京102206
2.国家电网有限公司,北京100031
3.国网电子商务有限公司,北京100053
近年来,随着我国清洁能源的大力推广,光伏发电也有着突飞猛进的发展。分布式光伏电站以其污染小,组网简单等优势,能够直接接入配电网,实现发电用电并存,可以缓解局部地区用电紧张情况。在分布式光伏电力系统中,优化配置和智能运维受到了越来越广泛的关注。整个电力系统包括三个核心部分:发电、传输、负荷,并在此基础上衍生储能、消纳等其他智能运维环节。其中电力负荷预测是极其重要的部分,准确的预测结果[1]可以降低光伏电力系统的运营成本,减少弃光、储能等损耗,也可以减少因产能不足而造成的供电不足、负荷下降等现象,降低对经济发展的不良影响。
智能电网[2]的出现促进了传统电网与先进信息技术的融合,并且针对电力系统中供需不平衡的问题提供优化方案。目前光伏发电在我国的发电占比也越来越大,但其发电量对天气因素具有很强的依赖性;另一方面,随着电动汽车普及应用,对于电力能源的需求进一步增长,这就对电力系统中供需协调提出了更高的要求。因此精确预测电力负荷[3]的意义重大,对于智能电网的优化配置以及智慧运维至关重要。
电力负荷数据呈现出明显的规律性。一方面大多数工厂企业的用电行为具有很强的周期性,这种周期性使得每天各个时段的用电负荷有着相似变化趋势,日出而作日落而息的生活习惯导致了白天的电力负荷明显高于夜间;另一方面电力负荷具有很强的波动性,当前时刻的电力负荷会受到前一时段内的负荷情况所影响而产生波动,同时与其保持较强的相关性。针对这两种特性,本文提出了一种级联的长短期记忆模型(Long Short Term Memory,LSTM),将电力负荷预测过程分为两个阶段:
(1)第一个阶段提取电力负荷的周期性特征,学习电力负荷的长期变化趋势,得到电力负荷每天各个时段的变化规律。
(2)第二个阶段提取电力负荷的波动性特征,学习前后时段负荷的相关性特点,对总体趋势进行修正,进一步提升预测的准确度。
1 相关工作
电力负荷预测模型大致可分为线性方法、非线性方法和混合方法三大类。线性方法包括多元线性回归[4]、卡尔曼滤波[5]、自回归差分移动平均(ARIMA)[6]等,其中ARIMA模型具有强大的基础数学和统计属性,可以支持生成预测间隔,应用较为广泛。He等人[7]提出了一个基于ARIMA的高频预测模型,用于预测未来几天每小时的电力需求,并在估计用户需求与各种变量之间的关系方面取得良好效果。然而ARIMA的缺点也较为明显,首先要求时序数据有着稳定的变化趋势;其次ARIMA模型只能捕捉线性关系,而对非线性关系的预测效果较差。
非线性方法包含模糊逻辑[8]、决策树[9]、人工神经网络(ANN)[10]、支持向量回归(Support Vector Regression,SVR)[11]等,其中SVR因为具有良好的拟合能力、通用性和计算速度快的优点,成为传统机器学习模型中较为出色的代表。Fattaheian-Dehkordi等人[12]在德黑兰配电公司使用SVR模型预测每小时数据,并通过电网优化过程和对不同核函数的对比来选择参数,获得了更好的结果。Taylor等人[13]提出了尺度预测的方法(Prophet),通过性能分析来比较和评估预测过程。非线性模型通常适合于处理特征维度较少的数据预测。维度增加会导致非线性模型性能的急剧下降。近年来随着深度学习[14]的兴起,针对于时间序列的分析和预测问题,研究者们提出了循环神经网络(Recurrent Neural Network,RNN)[15]、长短期记忆神经网络(LSTM)[16]等模型。相比于传统的机器学习模型,深度学习模型拥有更强大的泛化能力和更高的预测效果。然而深度模型则需要更多的训练数据,更长的训练时间。如何优化深度模型的性能也是未来发展的主要趋势。
混合模型[17]通常对复杂问题具有更强的鲁棒性。Yang等人[18]提出了一个基于季节性ARIMA模型和ANN的混合模型。采用季节性ARIMA模型预测未来一天的电力负荷需求,然后由ANN预测后续残差序列,最后对两个模型预测负荷值进行相加。结果表明,该模型可以提高短期负荷预测的精度。Karthika等人[19]提出了ARIMASVM混合模型预测每小时的电力负荷。实验表明使用SVM纠正预测偏差,可以使MAPE误差降低,提高收敛速度。Muralitharan等人[20]将ARIMA和LSTM结合起来,也可以明显提升预测的效果。混合模型与单一模型相比能够在一定程度上增加模型预测大的准确性,但是同时也增加了模型的设计难度和计算的复杂度。
电力负荷数据呈现出明显的周期性和波动性的特点,这也导致了现有预测模型在预测细节上的准确度不高的问题。针对这一特点,本文提出了一种基于级联LSTM的短期电力负荷预测模型,该方法对预测细节有突出的表现力。
2 基于级联LSTM电力负荷预测模型
针对实际电力负荷预测需求,结合深度学习模型与混合模型的优势,本文提出了一种基于级联LSTM的短期电力负荷预测模型。将预测过程分为两个阶段,分别使用LSTM模型提取电力负荷的周期性特征和波动性特征,然后再得到最终的预测结果。
2.1 LSTM模型网络结构
在深度学习方法中,RNN模型常用来处理时间序列数据。传统的RNN网络结构单元如图1所示,Xt为输入,经过A结构的运算,输出结果ht,并将ht输入到下一个A结构中。这样就可以建立时间序列数据之间的联系,前一刻输入的数据会影响到其后输入的计算结果。RNN的循环结构能够将之前的输入与当前的输入通过不断地迭代联系起来。但是,随着相关信息和预测信息的前后距离不断增加,RNN会更容易受到近期输入数据的影响,因而“遗忘”较早输入的信息。
图1 RNN网络结构单元Fig.1 RNN network structure unit
为了解决RNN无法保存长时段数据信息的问题,研究者们提出了LSTM模型。LSTM模型是RNN模型结构的一种改良,与传统的RNN结构相比,LSTM新增了特殊的“门”结构,存储当前的状态信息,因此更适合学习长时间序列的数据。LSTM的单元结构如图2所示。
图2 LSTM网络结构单元Fig.2 LSTM network structure unit
LSTM网络结构的主要特点是在RNN原有的A结构中加入的三个“门”结构,分别是遗忘门、传入门和输出门。三个“门”结构的更新方式如公式(1)~(3)所示。
ft为遗忘门的输出,σ为遗忘因子,Ct-1表示上一个LSTM层的输出,xt表示本层的输入,ht-1表示上层输入到本层的信息,ht为本层输出到下一层的信息。
遗忘门决定了上一层A结构的输出中有哪些信息可以进入当前结构,控制内部状态信息;传入门是决定有多少新的信息加入到该层中来,控制输入信息;输出门用来决定多少本层的信息有多少输出到下一层去,控制输出信息。LSTM模型因为其三个门结构的设计,提升了传统RNN神经网络对长时间序列的学习能力。
在短期电力负荷预测中,电力负荷时间序列每天都会呈现出周期性变化的特点,既能体现出长序列的变化趋势,又存在短期的不确定性影响。因此本文将预测过程分为两个部分,分别采用LSTM模型来提取特征,从而实现对电力负荷数据更加准确的预测。
2.2 级联LSTM模型
级联LSTM模型的主要实现方式如图3所示。模型的训练过程分为5个阶段,分别是数据预处理阶段、周期性模型训练阶段、数据处理阶段、波动性模型训练阶段和测试阶段。
图3 级联LSTM模型流程图Fig.3 Flow chart of cascaded LSTM model
(1)在预处理阶段,首先使用均值法对存在缺失的原始电力负荷数据进行补全,然后按照一定的比例将原始数据划分为训练集和测试集,分别进行归一化操作。最后,将电力数据序列进行特征和目标的划分。
(2)在周期性模型训练阶段,建立长时段的LSTM模型,采用长达一周以上的训练数据来建立周期性模型特征,然后使用训练后的模型预测训练样本,将预测值与原负荷序列的差值作为下一阶段的训练样本。
(3)在数据处理阶段,将差值序列再一次划分为短期特征和目标序列。
(4)在波动性模型训练阶段,建立短时段的LSTM模型,采用较短时段的训练数据来建立波动性模型特征,学习和预测差值序列。
(5)在测试阶段,需要按顺序使用不同的训练模型对测试集序列进行预测,将周期性预测结果与波动性预测的反向归一化结果相加之后得到最终的预测归一化结果,最后再使用反向归一化即可得到真实的电力负荷预测数据。
级联LSTM模型结构可以分阶段学习电力负荷时间序列数据特征,从而进一步提升模型的预测效果。
3 实验结果与分析
3.1 数据集
本文实验部分使用了某地区连续五年(60个月)每半个小时的电力负荷数据。数据集包含日期、时刻、温度、湿度、电价和电力负荷的数据。由于本文主要关注于电力负荷预测,仅选择日期、时刻和电力负荷数据的时间序列作为训练数据。
3.2 数据预处理
在本数据集中,电力负荷的数值范围在6 000~12 000,数值跨度较大,不利于模型的训练。为了提升训练的效果本文对原始的电力负荷数据进行归一化处理,归一化算法如公式(4)所示:
其中,x为归一化之前的数据,Xmax和Xmin分别是电力负荷数据的最大值和最小值,x′为归一化之后的数据。归一化操作可以将原始跨度较大的电力负荷数据范围压缩到0~1,但是不会改变数据的大小排序。
电力负荷数据归一化之后,在1月1日至15日的变化情况如图4所示,横坐标为日期,纵坐标为归一化后的电力负荷。可以看出数据序列之间存在着明显的周期性波动,而每天的波动幅度有较大差异。
图4 电力负荷变化曲线Fig.4 Electric load change curve in January
在本实验中,数据被划分为训练集和测试集,本文使用的数据集包含5年的电力负荷数据,每天产生数据48组。在模型训练过程中,本文将数据按照7∶3的比例划分为训练集和测试集,即通过对前3.5年的电力负荷数据进行训练,使用后1.5年的电力负荷数据验证预测结果。
3.3 评价指标
本文分别使用平均绝对误差(Mean Absolute Error,MAE)、均方误差(Mean Squared Error,MSE)和决定系数(Coefficient of determination,R2)来分别衡量预测模型的性能。三种不同的评价指标的计算方法如公式(5)~(7)所示:
其中,m为待预测数据的长度,ytest为测试数据的真实值,yprediction为预测结果数据,而ŷtest表示测试数据真实值的均值。
三种评价指标均可以衡量模型预测电力负荷性能的优劣,但三者又有不同的侧重点。MAE反映的是不同时刻误差的均值,误差的权重相同。与MAE相比,MSE对误差进行平方,放大了较大误差的影响。R2忽略了不同误差上数值上的差距,反映了回归模型拟合数据的优良程度。
3.4 级联LSTM电力负荷预测
级联LSTM模型的预测过程分为两个阶段。在第一阶段,将电力负荷历史数据处理为较长的时间序列,采用LSTM模型学习周期性特征。训练过程中损失值(Loss)随训练周期(Epoch)的变化曲线如图5所示。
图5 一阶段LSTM训练过程Fig.5 Training process of LSTM model in stage one
从图5中在训练过程中,在前20个周期左右Loss的波动变化较大,然后Loss在20~100时趋于平稳下降的趋势,当训练周期达到200时,LSTM模型已经收敛。说明LSTM模型很适合作为电力负荷预测。
图6展示了一阶段LSTM模型在测试集上的预测效果,其中横坐标表示了2月1日至15日的日期,纵坐标表示的是归一化后的电力负荷值。图6(a)展示了实际的电力负荷数据和一阶段LSTM的预测结果。从图中可以看出,一阶段LSTM模型能够对电力负荷需求有着较好的趋势预测结果,但是在一些细节的地方,如每天的峰值,LSTM没有很好地表现出来,所以需要第二个阶段的LSTM模型来弥补这一阶段的缺陷。选取第一阶段中实际值与预测值的差值作为第二个阶段的训练数据。归一化之后的差值结果如图6(b)图所示。
综合图5和图6(a)的结果可以看出,第一阶段LSTM模型的训练已经收敛,但预测值与实际值之间仍然存在一定偏差。因此本模型进一步考虑其偏差影响,通过对图6(b)的偏差归一化结果可以看出,差值曲线也近似存在一定的变化规律。
图6 电力负荷的真实值、预测值与两者差值Fig.6 Actual value of power load,predicted value and difference between two lines
由于一阶段的LSTM提取特征能力有限,难以实现精准的预测,而差值时间序列也存在明显的相关性特征。因此本文利用这种特点,对差值序列再次进行迭代训练和预测。
在第二阶段,将实际电力负荷数据与第一阶段模型预测结果相减得到差值序列,将差值序列再次进行归一化,并将序列长度缩短,得到第二阶段的数据集。使用类似方法再次训练第二阶段的LSTM模型,学习差值的随机性特征。在预测阶段,将第二阶段的预测后的结果进行反向归一化,与第一阶段的预测结果相加即为级联LSTM模型预测的最终结果。
图7展示了两阶段测试集上的电力负荷预测结果,横坐标展示了0时至24时的时间变化,纵坐标表示归一化后的电力负荷数值。从图7中可以看出,使用级联LSTM的预测结果比一阶段LSTM有较为明显的性能提升。对与白天用电高峰时段的预测效果来看,级联LSTM模型有着更好的预测效果。这是因为级联LSTM可以从多个层次多个阶段对电力负荷时间序列数据的变化进行学习,逐步逼近最终的实际数据,从而得到更加精确的预测效果。
图7 级联LSTM模型电力负荷预测结果Fig.7 Power load forecast results of cascaded LSTM
3.5 电力负荷预测模型对比
为了验证本文提出的级联LSTM网络模型的性能,实验对比了目前广泛使用的预测模型,例如SVR[12]、Prophet[13]、LSTM[16]。各模型在测试数据集上的结果如表1所示。
表1 不同模型在多种评价指标上的结果Table 1 Results of different models on multiple indicators
从表1可以看出,级联的LSTM在MAE和MSE上均小于其他的模型,说明级联的LSTM模型在精度方面拟合的最好。级联LSTM模型和LSTM模型在测试数据上的MSE和MAE明显小于SVR和Prophet模型,R2更接近1。说明与其他模型相比,深度学习模型有强大的特征提取能力,能够更精准地预测真实电力负荷。另一方面,级联LSTM模型可以学习时间序列短期的波动性特征,从而进一步提升LSTM的预测效果。
图8展示了7月1日0时至7月3日0时4种电力负荷预测方法的结果,同样用横坐标表示日期,纵坐标表示归一化后的电力负荷数值。从图8中可以看出一方面LSTM模型和级联LSTM模型比其他的预测模型有着更加丰富的细节表现,在预测结果上更加接近于真实的负荷曲线。尤其在每天的用电波峰和波谷的总体趋势上,深度学习模型有着明显的优势。另一方面,级联LSTM模型比单阶段模型更加贴近真实曲线,对电力负荷局部变化的预测表现更加突出,能够学习到其波动性的变化特点。这说明多阶段模型在弥补预测细节方面有着更加出色的表现。
图8 不同模型的电力负荷预测结果Fig.8 Power load forecasting results of different models
4 结束语
电力负荷预测对于分布式光伏电力系统的智能运维有至关重要的意义。本文建立了一种基于级联LSTM的短期电力负荷预测模型,将预测过程分为两个阶段。第一阶段提取电力负荷数据的周期性特征,预测总体变化趋势;第二阶段提取电力负荷数据的波动性特征,预测其受到的随机性影响。通过某地区的电力负荷数据实验表明,级联LSTM能够较好地学习到电力负荷长期变化趋势以及短期的波动影响,进一步提升了电力负荷预测的准确度。该模型可以广泛应用在配电网系统中,协助分布式光伏电站的并网接入设计及智能运维管理。