本发明涉及电力系统负荷预测领域,具体是一种基于多模融合的配电网短期负荷预测方法。
背景技术:
准确的负荷预测对运维人员掌握配电网系统的安全稳定运行有着重要的意义。预测误差的存在直接增加电力系统运行的附加成本,不利于经济性的提高。过去的几十年里,国内外很多学者对于短期负荷预测的问题提出了很多算法模型去提高它的精度。然而,由于负荷序列受外界的影响因素大,序列变化呈非线性、随机性和不确定性,所以提高其精度是很困难的。
目前,负荷预测技术已经逐步从传统的预测方法转向人工智能预测技术。传统的负荷预测方法例如,arima,支持向量机,多元回归等。但是这些算法对复杂的时间序列效果会较差。人工智能的算法能够更有效的处理复杂、非线性问题,例如人工神经网络等。虽然这些方法对精度有一定的提升,但是主要的问题是需要大量的样本数据,收敛性差,易陷入局部最小值等。为了弥补这些问题,很多学者提出多模融合的思想,利用混合模型有效地解决了单一模型中的缺陷。虽然混合模型能够有效提高短期负荷预测的精度,但是模型中预测部分都是单一的,受参数调节的影响大,在面对多类特性数据时适应性不强。
技术实现要素:
本发明的目的是解决现有技术中存在的问题。
为实现本发明目的而采用的技术方案是这样的,一种基于多模融合的配电网短期负荷预测方法,主要包括以下步骤:
1)采集电力网络历史负荷时序数据x,并提取数据特征。
所述数据特征主要包括时间特性特征、外界环境特性特征和历史负荷数据特征。
时间特性特征主要包括采样时刻t和日信息d。日信息d表示当前日期属于一周中的第几天。
外界环境特性特征主要包括采样时刻的温度temp、采样时刻的湿度h和采样时刻的露点dp。
历史负荷数据特征主要包括前一天峰值dap和前一天同时刻负荷值dat-24。
其中,前一天峰值dap如下所示:
dap=max(da0,…,dag,…,da23)。(1)
式中,dag为前一天第g时刻的负荷值。
所有数据特征构成数据特征集f,即:
f={t,d,temp,h,dp,dap,dat-24}。(2)
式中,dat-24为当前时刻前24小时的负荷值。
2)对历史负荷时序数据x进行stl时间序列分解,得到趋势项序列xtrend、周期项序列xseasonal和剩余项序列xremainder。
趋势项序列xtrend、周期项序列xseasonal和剩余项序列xremainder满足下式:
x=xtrend+xseasonal+xremainder。(3)
式中,x为历史负荷时序数据。
3)利用lstm-ensemble法对趋势项序列xtrend和剩余项序列xremainder建模,从而得到趋势项序列xtrend对应的具有n种结构的lstm神经网络模型trend{lstm1,lstm2,…,lstmn}、剩余项序列xremainder对应的具有n种结构的lstm神经网络模型remainder{lstm1,lstm2,…,lstmn}和集成预测模型。
4)根据周期项序列xseasonal的周期趋势得到周期项预测结果os。
5)获取需要预测的样本。
6)将预测样本输入到趋势项预测模型trend{lstm1,lstm2,…,lstmn}和剩余项预测模型remainder{lstm1,lstm2,…,lstmn}中,从而得到趋势项预测结果ot和剩余项预测结果or。
6.1)计算得到趋势项预测结果的主要步骤如下:
6.1.1)在lstm神经网络模型trend{lstm1,lstm2,…,lstmn}中输入矩阵itn。
矩阵itn如下所示:
itn=(itn1,itn2,…,itnt,…,itnt)。(4)
式中,n∈[1,m],i∈z。t为输入样本序列长度,itnt为趋势项第n个预测样本序列中t时刻趋势项的特征。m为预测样本总数。
itnt如下所示:
itnt={ttnt,dtnt,temptnt,htnt,dptnt,daptnt,datnt-24}。(5)
式中,ttnt为趋势项第n个预测样本序列中t时刻趋势项的采样时刻。dtnt为趋势项第n个预测样本序列中t时刻趋势项的日信息。temptnt为趋势项第n个预测样本序列中t时刻趋势项的温度。htnt为趋势项第n个预测样本序列中t时刻趋势项的湿度。dptnt为趋势项第n个预测样本序列中t时刻趋势项的露点。daptnt为趋势项第n个预测样本序列中t时刻趋势项的前一天峰值。datnt-24为趋势项第n个预测样本序列中t时刻趋势项的前一天同时刻负荷值。
6.1.2)输入所有趋势项预测样本后得到趋势项预测结果ot。
趋势项预测结果ot如下所示:
ot=(ot1,ot2,…,otj,…,otn)。(6)
式中,otj为第j个趋势项预测模型对预测样本输出结果。
其中,第j个趋势项预测模型对预测样本输出结果otj如下所示:
otj=(otj1,otj2,…otjl,…,otjm)t。(7)
式中,otjl为第j个趋势项预测模型对第l个预测样本输出结果。
6.2)计算得到剩余项预测结果的主要步骤如下:
6.2.1)在lstm神经网络模型remainder{lstm1,lstm2,…,lstmn}中输入矩阵irn。
矩阵irn如下所示:
irn=(irn1,irn2,…,irnt,…,irnt)。(8)
式中,n∈[1,m],i∈z。t为输入样本序列长度,irnt代表剩余项第n个预测样本序列中t时刻剩余项的特征。m为剩余项第n个预测样本序列。
其中,irnt如下所示:
irnt={trnt,daprnt,darnt-24}。(9)
式中,trnt为剩余项第n个预测样本序列中t时刻剩余项的采样时刻。daprnt为剩余项第n个预测样本序列中t时刻剩余项的前一天峰值。darnt-24为剩余项第n个预测样本序列中t时刻剩余项的前一天同时刻负荷值。
6.2.2)输入所有剩余项预测样本后得到剩余项预测结果or。
剩余项预测结果or如下所示:
or=(or1,or2,…,orj,…,orn)。(10)
式中,orj为第j个剩余项预测模型对预测样本输出结果。
其中,第j个剩余项预测模型对预测样本输出结果orj如下所示:
orj=(orj1,orj2,…orjl,…,orjm)t。(11)
式中,orjl为第j个剩余项预测模型对第l个预测样本输出结果。
7)整合周期项预测结果os、趋势项预测结果ot和剩余项预测结果or,得到最终的预测结果
预测结果prediction主要步骤如下:
7.1)m个预测样本的预测结果pred如下所示:
pred=ot+os+or。(12)
式中,os为周期项预测结果。ot为趋势项预测结果。or为剩余项预测结果。
7.2)利用集成预测将n类模型预测结果pred进行非线性集成,从而得到预测结果
进一步,集成预测中的整合模块为xgboost回归算法。xgboost数学预测模型如下所示:
式中,l∈[1,m],l∈z。k为树的棵数。γ为所有的树。fk为具体的某一棵树。
本发明的技术效果是毋庸置疑的。本发明的提出基于stl-lstm-ensemble的短期负荷预测方法,首先通过stl序列分解算法对负荷时序数据进行分解,其中趋势项和周期项减少了受到异常值的干扰,然后通过lstm-ensemble建立基于深度学习的集成预测模型,有助于提高模型的预测精度同时提高负荷预测模型的鲁棒性和泛化能力。
附图说明
图1为本发明提出的基于stl-lstm-ensemble的配电网短期负荷预测模型流程;
图2为线路a2018年2月24日到2018年3月31日历史负荷序列stl序列分解图;
图3为线路b2018年2月24日到2018年3月31日历史负荷序列stl序列分解图;
图4为线路a未来72h负荷预测结果;
图5为线路b未来72h负荷预测结果。
具体实施方式
下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的保护范围内。
实施例1:
参见图1至图3,一种基于多模融合的配电网短期负荷预测方法,主要包括以下步骤:
1)采集电力网络历史负荷时序数据x,并提取数据特征。
所述数据特征主要包括时间特性特征、外界环境特性特征和历史负荷数据特征。
时间特性特征主要包括采样时刻t和日信息d。日信息d表示当前日期属于一周中的第几天。
历史负荷数据的采样时间间隔为1小时,则采样时刻t为0到23整数。日信息d为当前日期属于一周中的第几天,其范围为1到7。
外界环境特性特征主要包括采样时刻的温度temp、采样时刻的湿度h和采样时刻的露点dp。
历史负荷数据特征主要包括前一天峰值dap和前一天同时刻负荷值dat-24。
其中,前一天峰值dap如下所示:
dap=max(da0,…,dag,…,da23)。(1)
式中,dag为前一天第g时刻的负荷值。
所有数据特征构成数据特征集f,即:
f={t,d,temp,h,dp,dap,dat-24}。(2)
式中,dat-24为当前时刻前24小时的负荷值。
2)对历史负荷时序数据x进行stl时间序列分解,得到趋势项序列xtrend、周期项序列xseasonal和剩余项序列xremainder。stl的全称是seasonal-trenddecompositionprocedurebasedonloess,中文意思是时间序列分解。
趋势项序列xtrend、周期项序列xseasonal和剩余项序列xremainder满足下式:
x=xtrend+xseasonal+xremainder。(3)
式中,x为历史负荷时序数据。
3)利用lstm-ensemble法对趋势项序列xtrend和剩余项序列xremainder建模,从而得到趋势项序列xtrend对应的具有n种结构的lstm神经网络模型trend{lstm1,lstm2,…,lstmn}、剩余项序列xremainder对应的具有n种结构的lstm神经网络模型remainder{lstm1,lstm2,…,lstmn}和集成预测模型。其中,n=4。lstm的英文全称是longshort-termmemory,中文意思是长短期记忆神经网络。lstm-ensemble法表示lstm集成法。
构建n种结构的lstm神经网络的主要步骤如下:
3.1)lstm神经网络主要包含输入层,隐藏层和输出层。其中输入层为特征向量,输出层为当前输入的负荷值,隐藏层的神经元为长短期记忆单元,该单元添加忘记门、输入门和输出门,从而实现长短期记忆的功能。
3.2)lstm神经网络的损失函数如下式子所示:
其中
m为向量长度。利用梯度下降优化算法,更新lstm神经网络中变量。为防止过拟合,dropout=0.9。
3.3)lstm神经网络受网络结构影响,因此通过改变隐藏层层数和隐藏层神经元个数,从而构建n种lstm神经网络。
表1lstm神经网络结构参数
4)根据周期项序列xseasonal的周期趋势得到周期项预测结果os。xseasonal是周期变换的所以不需要再做处理,直接按照周期变化趋势得到周期项预测结果。
5)获取预测样本。设预测样本为m=72个。
6)将预测样本输入到趋势项预测模型trend{lstm1,lstm2,…,lstmn}和剩余项预测模型remainder{lstm1,lstm2,…,lstmn}中,从而得到趋势项预测结果ot和剩余项预测结果or。
6.1)计算得到趋势项预测结果的主要步骤如下:
6.1.1)在lstm神经网络模型trend{lstm1,lstm2,…,lstmn}中输入矩阵itn。
矩阵itn如下所示:
itn=(itn1,itn2,…,itnt,…,itnt)。(5)
式中,n∈[1,m],i∈z。t为输入样本序列长度,itnt为趋势项第n个预测样本序列中t时刻趋势项的特征。m为预测样本总数。n表示第n个预测样本序列。z表示整数集。itnt为趋势项第n个预测样本序列中t时刻趋势项的特征。
itnt如下所示:
itnt={ttnt,dtnt,temptnt,htnt,dptnt,daptnt,datnt-24}。(6)
式中,ttnt为趋势项第n个预测样本序列中t时刻趋势项的采样时刻。dtnt为趋势项第n个预测样本序列中t时刻趋势项的日信息。temptnt为趋势项第n个预测样本序列中t时刻趋势项的温度。htnt为趋势项第n个预测样本序列中t时刻趋势项的湿度。dptnt为趋势项第n个预测样本序列中t时刻趋势项的露点。daptnt为趋势项第n个预测样本序列中t时刻趋势项的前一天峰值。datnt-24为趋势项第n个预测样本序列中t时刻趋势项的前一天同时刻负荷值。
6.1.2)输入所有趋势项预测样本后得到趋势项预测结果ot。
趋势项预测结果ot如下所示:
ot=(ot1,ot2,…,otj,…,otn)。(7)
式中,otj为第j个趋势项预测模型对预测样本输出结果。
其中,第j个趋势项预测模型对预测样本输出结果otj如下所示:
otj=(otj1,otj2,…otjl,…,otjm)t。(8)
式中,otjl为第j个趋势项预测模型对第l个预测样本输出结果。otjm为第j个趋势项预测模型对第m个预测样本输出结果。
6.2)计算得到剩余项预测结果的主要步骤如下:
6.2.1)在lstm神经网络模型remainder{lstm1,lstm2,…,lstmn}中输入矩阵irn。
矩阵irn如下所示:
irn=(irn1,irn2,…,irnt,…,irnt)。(9)
式中,n∈[1,m],i∈z。t为输入样本序列长度,irnt代表剩余项第n个预测样本序列中t时刻剩余项的特征。irnt代表剩余项第n个预测样本序列中t时刻剩余项的特征。
其中,irnt如下所示:
irnt={trnt,daprnt,darnt-24}。(10)
式中,trnt为剩余项第n个预测样本序列中t时刻剩余项的采样时刻。daprnt为剩余项第n个预测样本序列中t时刻剩余项的前一天峰值。darnt-24为剩余项第n个预测样本序列中t时刻剩余项的前一天同时刻负荷值。
6.2.2)输入所有剩余项预测样本后得到剩余项预测结果or。
剩余项预测结果or如下所示:
or=(or1,or2,…,orj,…,orn)。(11)
式中,orj为第j个剩余项预测模型对预测样本输出结果。orn为第n个剩余项预测模型对预测样本输出结果。
其中,第j个剩余项预测模型对预测样本输出结果orj如下所示:
orj=(orj1,orj2,…orjl,…,orjm)t。(12)
式中,orjl为第j个剩余项预测模型对第l个预测样本输出结果。orjm为第j个剩余项预测模型对第m个预测样本输出结果。
7)整合周期项预测结果os、趋势项预测结果ot和剩余项预测结果ot,得到最终的预测结果
预测结果prediction主要步骤如下:
7.1)m个预测样本的预测结果pred如下所示:
pred=ot+os+or。(13)
式中,os为周期项预测结果。ot为趋势项预测结果。or为剩余项预测结果。
7.2)利用集成预测将n类模型预测结果pred进行非线性集成,从而得到预测结果
进一步,集成预测中的整合模块为xgboost回归算法。xgboost是extremegradientboosting的简称。xgboost是一种梯度提升算法。
xgboost数学预测模型如下所示:
式中,l∈[1,m],l∈z。k为树的棵数。γ为所有的树。fk为具体的某一棵树。predl表示第l个n类模型的预测结果。
8)将线路a和线路b历史负荷数据代入上述步骤中,得到如图4和图5的预测结果。