一种利用长短期记忆网络的光伏发电功率预测方法与流程

文档序号:14941277发布日期:2018-07-13 20:53阅读:218来源:国知局

本发明属于光伏发电功率预测技术领域,特别涉及一种利用长短期记忆网络的光伏发电功率预测方法。



背景技术:

光伏系统发电由于受天气情况、昼夜交替和季节变化等外界环境因素的影响而具有波动性和周期性,光伏发电系统大规模接入电网,会对电力系统的安全、稳定运行带来较大的、周期性的冲击。精确的光伏功率预测是保证光伏并网发电安全稳定运行的前提,同时也是对光伏系统发电进行合理分配和调度的重要依据。

根据预测时间分类,光伏功率预测可分为短期光伏功率预测和中长期光伏功率预测。对于短期光伏功率预测,目前,主要的研究方法可以概括为以下2类:一类是以时间序列法为代表的传统方法如自回归移动平均模型(autoregressiveintergratedmovingmodel,arima);另一类是以人工神经网络法为代表的新型人工智能方法如人工神经网络(artificialneuralnetwork,ann)、极限学习机(limitlearningmachine,elm)等;机器学习方法主要有支持向量机(supportvectormachine,svm)、随机森林(randomforest,rf)等。

参考(1)申请号:201510750464.9,名称为一种超短期光伏预测方法;(2)申请号:201610069803.1,名称为一种光伏发电系统的功率预测方法;(3)申请号:201410163590.x,名称为基于复合数据源自回归模型光伏发电功率超短期预测方法。目前的这些预测方法都存在着一些不足,对于时间序列法来说,该方法虽然能在一定程度上反映出光伏功率随时间变化的规律,但是无法利用到影响光伏功率变化的外界因素,当外界环境因素变化较大时,预测会存在较大的误差;对于传统的神经网络方法来说,模型的参数过多,模型训练困难;对于机器学习方法来说,该方法通过大量历史数据建立输入变量与输出变量之间的非线性关系,将动态时间建模问题变为静态空间建模问题。但是实际上,作为典型的时间序列,光伏功率不但具有非线性,而且具有动态特性即每一时刻的光伏功率的变化不仅依赖于当前时刻的模型输入,而且与模型过去的输入也有关。



技术实现要素:

本发明的目的是提出一种利用长短期记忆网络的光伏发电功率预测方法,其特征在于,利用长短期记忆网络的光伏发电功率参数构建长短期记忆网络预测模型:搭建具有包含若干个神经元的隐藏层的长短期记忆网络,利用相关的五维特征向量:积日、环境温度、环境湿度、风速和太阳辐照度和以次日预测点前30天每天24个整点时刻的光伏功率值和天气数据作为原始数据,将这五维向量组成输入矩阵,输入到长短期记忆网络,进行预测点的功率预测;具体步骤:

步骤1:输入数据选取:首先选取预测日之前30天每天24个整点时刻的积日、环境温度、环境湿度、风速、太阳辐照度的数据作为光伏功率预测的原始数据;其中积日是从1月1号开始记为1,以此类推12月31日记为365;数据的时间分辨率为一小时;

步骤2:基于辐照度指数进行天气类型聚类:鉴于不同天气类型下,理论辐照度和实测辐照度的日曲线与坐标轴所围成的面积之间存在明显的规律;

步骤3:数据归一化:当使用多变量时间序列进行光伏功率预测时,不同变量之间量纲不同,数值差别也较大;考虑到模型中非线性激活函数的输入输出范围,为避免神经元饱和,同时也充分的考虑到每一种变量对光伏功率的作用,需要对输入变量和光伏功率时间序列进行归一化处理;实验中对输入变量和光伏功率数据各自进行最大最小值归一化,经过预测模型得到光伏功率预测数据后,再进行反归一化处理;

步骤4:建立长短期记忆网络预测模型:长短期记忆网络(long-shorttermmemory,lstm)是对传统循环神经网络的改进,为了解决传统循环神经网络存在的因序列过长而无法优化的问题,lstm在保持传统循环神经网络结构的同时中加入了记忆单元;每个lstm单元中存在一个细胞(cell),被视为是lstm的记忆单元,用于描述lstm单元的当前状态;lstm单元的当前状态由3个控制门控制,3个控制门分别是输入门,输出门和遗忘门,三个门分别控制网络的输入、输出以及细胞单元的状态;具体是每个时刻,lstm单元接收到输入信息后,每个门将对不同来源的输入进行运算,决定输入信息是否通过;输入门的输入经过非线性函数的变换后,与遗忘门处理的记忆单元状态进行叠加,形成新的记忆单元状态;最终,记忆单元状态通过非线性函数的运算和输出门的动态控制形成lstm单元的输出;其中门单元是就是一个使用神经网络和一个按位做乘法的操作,这两个操作合在一起就是一个门单元,门单元中神经网络的权重通过训练过程学习,lstm依靠门单元让信息有选择性地影响循环神经网络中每个时刻的状态。

步骤5:滚动预测:重复前面四个步骤,以次日预测点前30天每天24个整点时刻的光伏功率值和天气数据作为原始数据,进行该预测点的功率预测。

所述步骤2的天气类型聚类指标,将其记为辐照度指数k,辐照度指数等于实测辐照度和理论辐照度日曲线与坐标轴之间围成的面积比值,s理论辐照度记为理论辐照度日曲线与坐标轴所围成的面积,s实测辐照度记为实测辐照度日曲线与坐标轴所围成的面积。辐照度指数的计算公式如下:

由辐照度指数的计算公式计算出每天的辐照度指数,基于辐照度指数对预测日之前30天的数据进行聚类,使用k-means聚类算法进行聚类,将预测日前30天的数据进一步聚类为三种天气类型;由于不同天气类型下的辐照度曲线具有明显不同的特征,根据聚类后每个聚类类别的辐照度曲线,进一步确定该聚类类别所属的天气类型;根据辐照度曲线的变化规律,将聚类类别归属为晴天、雨天或者多云天气。

所述循环神经网络包括输入层、隐藏层、输出层,在隐藏层中有输入到下一时间隐藏层的连接;按时间展开后,可以发现当前时刻隐藏层的输入包括当前时刻的输入层输入和上一时刻的隐藏层输入两部分,其中,w1,w2,w3分别为输入到隐藏层、隐藏层到隐藏层、隐藏层到输出的权重;在传统神经网络中,每一个网络层的参数是不共享的,而在循环神经网络中,每一时间步,每一层都各自共享参数w1,w2,w3;这反映出循环神经网络中的每一步都在做相同的事情,只是输入不同,这样的训练方式大大降低了网络中需要学习的参数,在保证精度的前提下极大地缩短了训练时间,但是循环神经网络存在这样一个问题:对于标准的循环神经网络架构来说,在实践中可联系的“上下文”十分有限,即循环神经网络的记忆能力有限,无法捕捉到较长时间之前的输入和本时刻输入之间的依赖关系;但是鉴于循环神经网络存在的记忆能力有限,而采用长短期记忆网络作为预测模型,在保持循环神经网络结构的基础上重新设计了计算单元。

所述重新设计的计算单元的各变量之间的计算公式如下:

it=σ(wxixt+whiht-1+wcict-1+bi)(2)

ft=σ(wxfxt+whfht-1+wcfct-1+bf)(3)

ct=ftct-1+ittanh(wxcxt+whcht-1+bc)(5)

ot=σ(wxoxt+whoht-1+wcoct+bo)(6)

ht=ottanh(ct)(7)

各式中:wxc、wxi、wxf、wxo为连接输入信号xt的权重矩阵;whc、whi、whf、who为连接隐含层输出信号ht的权重矩阵;wci、wcf、wco为连接细胞状态wt和门函数的权矩阵;bi、bc、bf、bo为偏置向量;ct为t时刻的细胞状态,ht为t时刻的隐层状态;ft、it、ot分别为遗忘门、输入门和输出门;σ为激活函数。

所述长短期记忆网络预测模型是设置提前一天的长短期记忆网络的时间步长为24,采用单层的长短期记忆网络结构,最后将每个时间步上隐层的输出连接一个全连接神经网络,这样通过全连接神经网络输出一天24个整点时刻对应的光伏功率预测值;模型训练过程中采用均方误差(meansquarederror,mse)作为损失函数,将预测得到的光伏功率结果与真实功率值进行对比,计算损失,并使用自适应动量估计(adaptivemomentestimation,adam)优化器与沿时间轴的反向传播算法bptt(backpropagationthrongtime)相结合对参数进行更新;其中损失函数均方误差的计算公式如下:

式中pfi为光伏功率的预测值,pi为光伏功率的实测值,n为样本数目;

为了避免神经网络出现过拟合,在训练模型中加入dropout(停用)层,这样在训练时,会使神经元以光伏功率p的概率被激活,将光伏功率p的概率设置为0.7,最后通过交叉验证对模型的预测结果进行评估。

本发明的有益效果是本发明的长短期记忆网络每一个单元的参数是共享的;相比传统的神经网络,这种参数共享的方式大大降低了网络中需要学习的参数,在保证精度的前提下极大地缩短了训练时间。其次,该方法相对传统的时间序列方法,在捕捉光伏功率数据序列特征的同时还可以利用到影响光伏功率变化的外界因素。相对于所有的预测方法,本发明将当前时刻的光伏功率变化和以前光伏功率的变化之间建立了联系,实现了时间序列数据的动态建模,能更加充分的反映光伏功率的变化规律,实现更为精确的光伏功率预测。

附图说明

图1为光伏功率预测模型框架示意图。

图2为循环神经网络结构示意图。

图3为lstm单元的内部结构示意图。

图4为长短期记忆网络预测模型框架示意图。

具体实施方式

本发明提出一种利用长短期记忆网络的光伏发电功率预测方法,下面结合附图予以说明。

如图1所示为光伏功率预测模型框架示意图。在预测时利用长短期记忆网络的光伏发电功率参数构建长短期记忆网络预测模型,首先选取预测日之前30天每天24个整点时刻的积日、环境温度、环境湿度、风速、太阳辐照度数据作为光伏功率预测的原始数据。然后计算出待预测日的辐照度指数,将计算出的辐照度指数和聚类后的各聚类类别的聚类中心比较,选择距离最近的聚类中心所属类别作为该样本的天气类别。确定待预测日的天气类别之后,选择对应的天气类别模型,进行预测,最后将得到的预测结果和实际功率值进行比较,计算出各种评价指标。构建长短期记忆网络预测模型的具体步骤:

步骤1:输入数据选取:首先选取预测日之前30天每天24个整点时刻的积日、环境温度、环境湿度、风速、太阳辐照度的数据作为光伏功率预测的原始数据;其中积日是从1月1号开始记为1,以此类推12月31日记为365;数据的时间分辨率为一小时;

步骤2:基于辐照度指数进行天气类型聚类:鉴于不同天气类型下,理论辐照度和实测辐照度的日曲线与坐标轴所围成的面积之间存在明显的规律;所述天气类型聚类指标,将其记为辐照度指数k,辐照度指数等于实测辐照度和理论辐照度日曲线与坐标轴之间围成的面积比值,s理论辐照度记为理论辐照度日曲线与坐标轴所围成的面积,s实测辐照度记为实测辐照度日曲线与坐标轴所围成的面积。辐照度指数的计算公式如下:

由辐照度指数的计算公式计算出每天的辐照度指数,基于辐照度指数对预测日之前30天的数据进行聚类,使用k-means聚类算法进行聚类。将预测日前30天的数据进一步聚类为三种天气类型。由于不同天气类型下的辐照度曲线具有明显不同的特征,根据聚类后每个聚类类别的辐照度曲线,进一步确定该聚类类别所属的天气类型。根据辐照度曲线的变化规律,将聚类类别归属为晴天、雨天或者多云天气。

步骤3:数据归一化:当使用多变量时间序列进行光伏功率预测时,不同变量之间量纲不同,数值差别也较大;考虑到模型中非线性激活函数的输入输出范围,为避免神经元饱和,同时也充分的考虑到每一种变量对光伏功率的作用,需要对输入变量和光伏功率时间序列进行归一化处理;实验中对输入变量和光伏功率数据各自进行最大最小值归一化,经过预测模型得到光伏功率预测数据后,再进行反归一化处理;

步骤4:建立长短期记忆网络预测模型:长短期记忆网络(long-shorttermmemory,lstm)是一种改进的循环神经网络结构(如图2所示);每个lstm单元中存在一个细胞(cell),被视为是lstm的记忆单元,用于描述lstm单元的当前状态;图3所示的lstm单元的当前状态由3个控制门控制,3个控制门分别是输入门,输出门和遗忘门,三个门分别控制网络的输入、输出以及细胞单元的状态;具体是每个时刻,lstm单元接收到输入信息后,每个门将对不同来源的输入进行运算,决定输入信息是否通过;输入门的输入经过非线性函数的变换后,与遗忘门处理的记忆单元状态进行叠加,形成新的记忆单元状态;最终,记忆单元状态通过非线性函数的运算和输出门的动态控制形成lstm单元的输出;其中门单元是就是一个使用神经网络和一个按位做乘法的操作,这两个操作合在一起就是一个门单元,门单元中神经网络的权重通过训练过程学习,lstm依靠门单元让信息有选择性地影响循环神经网络中每个时刻的状态。

所述循环神经网络包括输入层、隐藏层、输出层,在隐藏层中有输入到下一时间隐藏层的连接;按时间展开后,可以发现当前时刻隐藏层的输入包括当前时刻的输入层输入和上一时刻的隐藏层输入两部分,其中,w1,w2,w3分别为输入到隐藏层、隐藏层到隐藏层、隐藏层到输出的权重;在传统神经网络中,每一个网络层的参数是不共享的,而在循环神经网络中,每一时间步,每一层都各自共享参数w1,w2,w3;这反映出循环神经网络中的每一步都在做相同的事情,只是输入不同,这样的训练方式大大降低了网络中需要学习的参数,在保证精度的前提下极大地缩短了训练时间,但是循环神经网络存在这样一个问题:对于标准的循环神经网络架构来说,在实践中可联系的“上下文”十分有限,即循环神经网络的记忆能力有限,无法捕捉到较长时间之前的输入和本时刻输入之间的依赖关系;但是鉴于循环神经网络存在的记忆能力有限,而采用长短期记忆网络作为预测模型,在保持循环神经网络结构的基础上重新设计了计算单元(其单元结构如图3所示)。

所述重新设计的计算单元的各变量之间的计算公式如下:

it=σ(wxixt+whiht-1+wcict-1+bi)(2)

ft=σ(wxfxt+whfht-1+wcfct-1+bf)(3)

ct=ftct-1+ittanh(wxcxt+whcht-1+bc)(5)

ot=σ(wxoxt+whoht-1+wcoct+bo)(6)

ht=ottanh(ct)(7)

各式中:wxc、wxi、wxf、wxo为连接输入信号xt的权重矩阵;whc、whi、whf、who为连接隐含层输出信号ht的权重矩阵;wci、wcf、wco为连接细胞状态wt和门函数的权矩阵;bi、bc、bf、bo为偏置向量;ct为t时刻的细胞状态,ht为t时刻的隐层状态;ft、it、ot分别为遗忘门、输入门和输出门;σ为激活函数,通常为tanh(双曲正切函数)或sigmoid(s型生长曲线)函数。

步骤5:滚动预测:重复前面四个步骤,以次日预测点前30天每天24个整点时刻的光伏功率值和天气数据作为原始数据,进行该预测点的功率预测。

如图4所示所述长短期记忆网络预测模型是设置提前一天的长短期记忆网络的时间步长为24,采用单层的长短期记忆网络结构,最后将每个时间步上隐层的输出连接一个全连接神经网络,这样通过全连接神经网络输出一天24个整点时刻对应的光伏功率预测值;模型训练过程中采用均方误差(meansquarederror,mse)作为损失函数,将预测得到的光伏功率结果与真实功率值进行对比,计算损失,并使用自适应动量估计(adaptivemomentestimation,adam)优化器与沿时间轴的反向传播算法bptt(backpropagationthrongtime)方法相结合对参数进行更新。其中损失函数均方误差的计算公式如下:

式中pfi为光伏功率的预测值,pi为光伏功率的实测值,n为样本数目;

为了避免神经网络出现过拟合,在训练模型中加入dropout层(停用层),这样在训练时,会使神经元以光伏功率p的概率被激活,将光伏功率p的概率设置为0.7,最后通过交叉验证对模型的预测结果进行评估。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1