基于CNN+LSTM的风电功率预测模型的制作方法

文档序号:19118449发布日期:2019-11-13 01:24阅读:2830来源:国知局
基于CNN+LSTM的风电功率预测模型的制作方法

本发明涉及风电功率预测技术领域,具体涉及一种基于cnn+lstm的风电功率预测模型。



背景技术:

随着新能源时代的到来,低碳化的能源发展模式正在加速转型,绿色多元的能源供应体系正在加快建立,风电作为清洁、低碳、安全、高效的新能源之一,在全世界范围内取得了显著的推广与应用。以风能和太阳能为代表的新能源具有随机性、间歇性和波动性。准确的风电预测对于确定合理的调度计划和确保电网安全经济运行具有重要意义。按照预测的时间,风电的功率预测可分为:长期预测(预测下一年的风电功率)、中期预测(预测未来几周或者几个月的风电功率)、短期预测(预测未来2天或3天的)、超短期预测(预测未来若干分钟的风电功率)。

风力发电预测的研究方法主要有物理方法、统计方法和人工智能方法。依靠风电场和其附近的自然环境信息以及风机的技术参数,描述将风能转化为动能的物理过程,再由风电机组的功率曲线转换得到风机输出功率的方法称之为物理方法。一般来说,在长期预测中物理方法更能发挥其优良特性,而短期预测在实际应用中更适合采用统计方法。统计方法着重于利用历史数据之间的关系来建立预测模型,常用的统计方法有持续性方法、自回归积分滑动平均法和卡尔曼滤波法等。人工智能方法是指结合了人工神经网络、模糊模型和支持向量机等智能算法的现代风电预测方法。较传统统计方法而言,通过人工智能算法可优化模型参数,从而构建预测更精确的模型,近年来在短期风电预测中有着长足应用。深度学习方法在处理大量样本和非线性数据时具有明显的优势,能够描述输入数据和输出数据之间高度复杂的关系。近几年,国内的相关科研机构和公司也共同合作,加快了对风电功率预测的研究。目前,华北、西北等部分地区的风电场已有研发成功的基于人工神经网络(artificialneuralnetwork,ann)和基于支持向量机等方法的风电功率预测系统投入运行。由国电南瑞公司牵头研发成功的风电场功率预测系统nsf3100结合了物理方法和统计方法,已应用于多个风电场。



技术实现要素:

为解决上述技术问题,本发明提供了一种基于cnn+lstm的风电功率预测模型,可分为两部分:数据预处理阶段与模型训练使用阶段;

在数据预处理阶段,利用风场的天气预报数据(nwp)与历史观测数据,提取了风速、风向、大气压力、温度、空气湿度等特征,对数据归一化处理;

在模型训练使用阶段,将处理后的数据放入cnn+lstm模型中进行预测,其中cnn网络包括了conv1d层、pooling层与dropout层;lstm网络包括了基本的lsmt层与最后的全连接层,其主要作用是利用序列数据关系将提取的特征与历史数据结合进行对风电功率预测。

优选地,在模型训练阶段,将处理后的数据经过cnn层,进行卷积、池化、正则化等操作,提取数据的特征。cnn有着权值共享等特性,可以有效地减少权值数量,从而在提取特征的同时,也能简化模型。cnn中使用了梯度下降法训练参数,经过训练的模型能够学习到时间序列数据中的特征。在cnn中主要使用了1维的卷积层(提取特征),即conv1d层,最大池化层(减少输入数据的维度)与dropout层(防止过拟合)。我们将风速、风向、气压、空气湿度等一系列的数据处理成序列数据,设给定的输入序列的数据为x=(x1,x2,..,xn),其中xn∈rd表示特征,一维卷积构造一个特征映射图fm,使用滤波器ω∈rfd,b∈r是一个偏项。滤波器hl用于将每一组特征f在一个记录中{x1,x2,...,xn-f+1}生成一个特征图。并对每个特征进行最大池化操作最后经过softmax层计算得到这组最重要的特征。

hl=[hl1,hl2,...,hln-f+1],hl∈rn-f+1(2)

ot=softmax(vh0hl+b0)(3)

将cnn层提取的特征经过lstm层,最终对风电功率进行预测。lstm网络是对rnn网络改进的网络结构。它在具备rnn特性的同时,又具有特殊的记忆和遗忘的功能。在lstm层的独特记忆单元中,每一个lstm单元拥有一个cell,其在时刻t的状态记为ct。对lstm中记忆单元的读取和修改通过对输入门(inputgate)、遗忘门(forgetgate)和输出门(outputgate)的控制来实现,它们一般采用sigmoid或tanh函数作为激活函数。lstm单元的工作流程如下:每一个时刻,lstm单元通过3个门接收当前状态xt和上一时刻lstm的隐藏状态ht-1这2类外部信息的输入。此外,每一个门还接收一个内部信息输入,即记忆单元的状态ct-1。接收输入信息后,每一个门将对不同来源的输入进行运算,并且由其逻辑函数决定其是否激活。输入门的输入经过非线性函数的变换后,与遗忘门处理过的记忆单元状态进行叠加,形成新的记忆单元状ct。最终,记忆单元状态ct通过非线性函数的运算和输出门的动态控制形成lstm单元的输出ht;各变量之间的计算公式如下,其中bi、bc、bf、bo为偏置向量;σ为sigmoid激活函数;

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

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

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

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

ht=ottanh(ct)(8)。

优选地,在模型的数据预处理阶段,当使用多个变量序列组成的序列数据对风电功率进行预测时,不同变量之间的量纲不同,数值差别也很大。考虑到模型中非线性激活函数的输入输出范围,为避免神经元饱和,同时也为平等地考虑每一种变量对风电功率的作用,需要对变量和风电功率时间序列进行归一化处理。对风速、温度、大气密度和风电功率采用全年统计的极限值进行归一化,将其数值归算到区间[-1,1]内:

其中xmax与xmin分为该变量的极大值与极小值。特别地,针对风向,考虑其物理意义,使用正弦函数对其进行归算,反映出风速在某一特定方向上的投影系数。

x′=sin(x)(10)

经过预测模型得到的风电功率预测数据,再进行反归一化处理使其具有物理意义,反归一化的计算公式为:

x=0.5[x′(xmax-xmin)+(xmax+xmin)](11)。

本发明基于keras深度学习框架,使用keras框架中的cnn与lstm网络相关模块,模型的训练包含了lstm输入层的时间步数、维度,隐藏层数、隐藏层维度,输出变量维度,1维卷积的卷积核数、步长、输入维度,池化的补偿、核数等超参数的训练。根据经验合理初始化,并且根据训练结果进行调整。

风电作为清洁能源中最大的出力部分之一,在电网供电系统中具有重要作用;随着科技和社会的发展,通过网络实现对风力发电设备的控制变得越来越普遍;要想实现精准、可靠、高效的发电与用电匹配,就要对风电的功率进行预测。本发明使用了深度学习的方法,结合了cnn与lstm网络对风电功率进行预测。

附图说明

下面结合附图对本发明作进一步详细的描述。

图1是基于cnn+lstm的风力预测模型图。

图2是风力预测模型框架设计图。

具体实施方式

如图1、2所示,本发明公开了一种基于cnn+lstm的风电功率预测模型,可分为两部分:数据预处理阶段与模型训练使用阶段。

在模型训练阶段,将处理后的数据经过cnn层,进行卷积、池化、正则化等操作,提取数据的特征。cnn有着权值共享等特性,可以有效地减少权值数量,从而在提取特征的同时,也能简化模型。cnn中使用了梯度下降法训练参数,经过训练的模型能够学习到时间序列数据中的特征。在cnn中主要使用了1维的卷积层(提取特征),即conv1d层,最大池化层(减少输入数据的维度)与dropout层(防止过拟合)。我们将风速、风向、气压、空气湿度等一系列的数据处理成序列数据,设给定的输入序列的数据为x=(x1,x2,..,xn),其中xn∈rd表示特征,一维卷积构造一个特征映射图fm,使用滤波器ω∈rfd,b∈r是一个偏项。滤波器hl用于将每一组特征f在一个记录中{x1,x2,...,xn-f+1}生成一个特征图。并对每个特征进行最大池化操作最后经过softmax层计算得到这组最重要的特征。

hl=[hl1,hl2,...,hln-f+1],hl∈rn-f+1(2)

ot=softmax(vh0hl+b0)(3)

将cnn层提取的特征经过lstm层,最终对风电功率进行预测。lstm网络是对rnn网络改进的网络结构。它在具备rnn特性的同时,又具有特殊的记忆和遗忘的功能。在lstm层的独特记忆单元中,每一个lstm单元拥有一个cell,其在时刻t的状态记为ct。对lstm中记忆单元的读取和修改通过对输入门(inputgate)、遗忘门(forgetgate)和输出门(outputgate)的控制来实现,它们一般采用sigmoid或tanh函数作为激活函数。lstm单元的工作流程如下:每一个时刻,lstm单元通过3个门接收当前状态xt和上一时刻lstm的隐藏状态ht-1这2类外部信息的输入。此外,每一个门还接收一个内部信息输入,即记忆单元的状态ct-1。接收输入信息后,每一个门将对不同来源的输入进行运算,并且由其逻辑函数决定其是否激活。输入门的输入经过非线性函数的变换后,与遗忘门处理过的记忆单元状态进行叠加,形成新的记忆单元状ct。最终,记忆单元状态ct通过非线性函数的运算和输出门的动态控制形成lstm单元的输出ht;各变量之间的计算公式如下,其中bi、bc、bf、bo为偏置向量;σ为sigmoid激活函数;

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

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

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

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

ht=ottanh(ct)(8)

在模型的数据预处理阶段,当使用多个变量序列组成的序列数据对风电功率进行预测时,不同变量之间的量纲不同,数值差别也很大。考虑到模型中非线性激活函数的输入输出范围,为避免神经元饱和,同时也为平等地考虑每一种变量对风电功率的作用,需要对变量和风电功率时间序列进行归一化处理。对风速、温度、大气密度和风电功率采用全年统计的极限值进行归一化,将其数值归算到区间[-1,1]内:

其中xmax与xmin分为该变量的极大值与极小值。特别地,针对风向,考虑其物理意义,使用正弦函数对其进行归算,反映出风速在某一特定方向上的投影系数。

x′=sin(x)(10)

经过预测模型得到的风电功率预测数据,再进行反归一化处理使其具有物理意义,反归一化的计算公式为:

x=0.5[x′(xmax-xmin)+(xmax+xmin)](11)。

本发明基于keras深度学习框架,使用keras框架中的cnn与lstm网络相关模块,模型的训练包含了lstm输入层的时间步数、维度,隐藏层数、隐藏层维度,输出变量维度,1维卷积的卷积核数、步长、输入维度,池化的补偿、核数等超参数的训练。根据经验合理初始化,并且根据训练结果进行调整。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。

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