本发明属于预测或优化
技术领域:
,尤其涉及一种基于cnnlstm光伏发电功率预测模型及其构建方法。
背景技术:
:目前,最接近的现有技术:常见的光伏发电功率预测方法主要有物理法、回归法、时间序列法和机器学习法。物理法使用地理信息、光伏组件参数、阳光辐照度、大气温度等参数构建物理预测模型,物理法依赖数值天气预报(nwp)的气象参数来进行光伏发电功率预测。日本学者提出了利用太阳辐射强度作为输入预测光伏阵列电能输出的物理预测模型;mayer等提出的基于观测和卫星遥感反演辐射资料的简单物理预测模型已运用在德国慕尼黑贸易展览中心的并网光伏电站,两个物理法构建的模型泛化能力相对差,碰到不同的天气,误差会明显变大,其误差变化的原因是物理模型使用的参数较少,灵活性较差,物理法构建的模型在各类天气条件下平均误差一般在10%-25%,所以物理法预测效果一般。物理法构建的模型通过物理公式表示,易于理解和解释,但是需要针对不同光伏电站对物理公式进行不同优化。内华达大学的hassanzadeh提出了改进的arma模型运用nv能源公司总部屋顶75kw独立光伏系统产生的晴天每个小时的发电量数据做出建立模型和预测,结果预测误差在23.0%~43.0%之间,由此可见时间序列预测能力较差,误差波动也很大。回归法、时间序列法和机器学习法都是数据驱动方法,三者都基于光伏发电历史数据或nwp历史气象参数进行建模预测,机器学习法对比于回归法和时间序列法是一种更加智能化的预测方法,可以有效的提高预测的泛化能力,同时减少由于天气的变化产生的预测结果的波动,降低误差。目前已经有了大量应用,其中bp神经网络和svm是机器学习法中常用的算法。深度学习是人工智能最新热门的研究领域,在光伏发电预测领域有了初步应用,深度学习与传统机器学习方法的最大不同在于深度学习可以从数据中自动学习特征的表示,提取数据的深层特征,深层特征可以包含成千上万的参数,这些参数往往是不可解释的。lstm网络是一种改进的时间循环神经网络(rnn),它被提出后也进行了改良,增加了额外的遗忘门。改良后的lstm网络解决了在模型训练中“梯度消失”的问题,可以学习时间序列长短期依赖信息,是目前最成功的rnn架构,在许多场景中获得应用。lstm网络的基本单元中包含遗忘门、输入门和输出门。遗忘门中输入xt与状态记忆单元st-1、中间输出ht-1共同决定状态记忆单元遗忘部分。输入门中的xt分别经过sigmoid和tanh函数变化后共同决定状态记忆单元中保留向量。中间输出ht由更新后的st与输出ot共同决定,如式(1)——式(6)所示:ft=σ(wfxxt+wfhht-1+bf)(1)it=σ(wixxt+wihht-1+bi)(2)gt=φ(wgxxt+wghht-1+bg)(3)ot=σ(woxxt+wohht-1+bo)(4)st=gt·it+st-1·ft(5)ht=ot·φ(st)(6)式中:ft,it,gt,ot,ht和st分别为遗忘门、输入门、输入节点、输出门、中间输出和状态单元的状态。wfx,wfh,wix,wih,wgx,wgh,wox和woh分别为相应门与输入xt和中间输出ht-1相乘的矩阵权重;bf,bi,bg,bo分别为相应门的偏置项;·表示向量中元素按位相乘;σ表示sigmoid函数变化;φ表示tanh函数变化。注意力机制是一种模拟大脑注意力形式的神经网络,即在特定的时刻,对于关键事物分配较多的注意力,其他事物分配较少的注意力以达到合理利用计算资源的目的。将注意力机制应用到深度神经网络中,让神经网络自适应的筛选出输入向量中与当前输出显著相关的特征,减轻其他特征的干扰,从而显著提高模型泛化性能。以lstm的隐层输出向量h={h1,h2,...ht}作为注意力机制的输入,注意力机制会寻找特征量hi的注意力权重参数αi,可由式(7)和(8)得到:ei=tanh(whhi+bh),ei∈[-1,1](7)其中wh为权值矩阵,bh为偏置项。将注意力权重参数αi与特征量hi相乘h'i=αi·hi(9)可以得到注意力向量h'={h'1,h'2,...h't}。上述方法中,物理法、回归法和时间序列法是最早使用的光伏发电预测方法,这三种方法使用的参数较少,结构简单易实现,但预测效果一般。回归法和时间序列法由于机器学习技术的渗透,目前多使用机器学习算法完成回归和时间序列预测。作为典型的传统机器学习算法的bp神经网络是一种不稳定的模型,存在容易陷入局部最优和迭代收敛慢的问题,并且bp神经网络的神经元层数的设定很容易造成过拟合和退化现象。svm是一种稳定的模型,不容易陷入局部最优,但svm只适合处理小样本问题,并且同样存在迭代收敛慢的问题。bp神经网络和svm等传统机器学习算法依赖特征工程,样本特征的好坏直接决定模型的预测精度,目前人工设计特征仍处于统治地位,人工设计特征需要依靠设计者的先验知识,由于模型需要手工调整参数,因此只允许少量的参数作为样本特征,通常以光伏电站监控数据或nwp数据直接作为特征参数,传统机器学习算法无法有效提取这些特征参数中更深层的信息,预测模型精度仍存在提高的空间,无法相对准确的预知未来的光伏功率发电量,将导致当大规模光伏电能并入电网会对电网的稳定性和安全性产生影响,光伏发电功率预测是消除威胁维护电网安全稳定的关键技术之一。传统机器学习造成预测精度不高的原因以bp神经网络为例,在光伏发电数据量庞大的领域,bp神经网络只能构建浅层的神经网络,神经元层数过大,反而会影响精度,导致数据中的特征没有得到充分利用,整体上与深度学习相比会有精度不高的缺陷。以svm支持向量机为例,svm适合用于小规模数据分析,当数据量庞大时,收敛速度慢,难以运用在光伏发电功率预测领域。综上所述,现有技术存在的问题是:传统机器学习算法依赖人工设计样本特征,且在特征提取方面存在短板,导致预测模型精度不高。解决上述技术问题的难度:目前深度学习技术在光伏行业的应用尚处于起步阶段,文献及技术支持较少。深度学习的出现,掀起了人工智能的热潮,作为现在最新的人工智能大领域,很多其他领域都在采用深度学习算法改进领域技术。cnn卷积层已经应用非常广泛,但是在提取特征时filters的个数没有公式去准确地定义。长短期记忆网络lstm作为深度学习领域的一种典型的模型结构应用在时序数据分析的应用已经相对成熟,但在光伏数据预测上仍在起步阶段,先人实验结果和经验较少,给技术瓶颈的攻克增加了难度。注意力机制attentionmechanism在图像处理、视频分析和自然语言处理领域已经有了较多应用,但在光伏发电预测领域应用较少。解决上述技术问题的意义:cnn、lstm和注意力机制相结合的cnnlstm模型是一种全新的光伏发电预测模型,该模型有较高的特征提取能力,克服了传统机器学习模型在特征提取方面的短板,提高了光伏发电功率的预测精度,进一步拓展了深度学习技术在光伏发电预测领域的应用。技术实现要素:针对现有技术存在的问题,本发明提供了一种基于cnnlstm光伏发电功率预测模型及其构建方法。本发明是这样实现的,一种基于cnnlstm光伏发电功率预测模型,所述基于cnnlstm光伏发电功率预测模型由卷积层cnn、lstm、注意力机制和全连接层构成;所述cnnlstm模型以t时刻的光伏发电功率时间序列p(t-size+1),p(t-size+2),...,p(t-1),p(t),size为序列长度,预测输出t+1刻的光伏发电功率p(t+1)。本发明的另一目的在于提供一种所述基于cnnlstm光伏发电功率预测模型的构建方法,所述基于cnnlstm光伏发电功率预测模型的构建方法包括:使用16个卷积核一维卷积层对输入的光伏发电功率时间序列进行特征提取,得到的结果再使用32个卷积核一维卷积层进行特征提取;使用深度为32的lstm层得到lstm隐层输出向量;使用注意力机制对lstm隐层输出向量进行自动化关注,对其中与当前输出量显著相关的特征量赋予更大的权值;将注意力向量展开成一维向量输入全连接层,全连接层输出预测。进一步,所述的基于cnnlstm光伏发电功率预测模型的构建方法具体包括以下步骤:步骤一,对光伏发电功率采用归一化方法进行归一化处理;步骤二,将时间序列数据通过16个卷积核的一维卷积层,得到的结果再通过32个卷积核的一维卷积层,得到的最终结果即为提取得到的特征;步骤三,将得到的特征,放入每一个含有32个lstm的神经元的lstm层,得到lstm隐层输出向量;步骤三:使用注意力机制对lstm隐层输出向量进行自动化关注,与目标值显著相关的参数自动赋予更大的权值;步骤四,将注意力机制处理后的特征向量展开成一维向量,以符合全连接层输入的要求;步骤五,将展开操作得到的一维向量输入全连接层,全连接层输出下一时刻光伏发电功率预测值;步骤六,通过均方误差mse作为损失函数;步骤七,通过rmsprop优化器优化整个神经网络权值,使损失函数的损失值最小化。进一步,所述步骤一中,采用以下归一化方法:其中xi为原始数据,为归一化后的数据。进一步,所述步骤六中,通过均方误差mse作为损失函数:其中xmodel为模型输出值,xactual为实测值。本发明的另一目的在于提供一种应用所述基于cnnlstm光伏发电功率预测模型的光伏发电功率预测模型,所述光伏发电功率预测模型使用光伏电站监测系统采集的当前时刻t至t-size+1时刻的光伏发电功率时间序列作为cnnlstm模型的输入,预测下一时刻的光伏发电功率。综上所述,本发明的优点及积极效果为:如表1所示,本实验运用的cnn-lstm预测精度较高,较其他传统机器学习,物理法和回归法相比,有明显优势。深度学习通过学习一种深层非线性网络结构,只需简单的网络结构即可实现复杂函数的逼近。深度学习能够更好地提取时序数据的特征,同时由于模型的层次深、表达能力强,因此具有表示大规模数据的能力。cnn卷积层是深度学习常用提取特征的基础层。长短期记忆网络作为深度学习领域的一种典型的模型结构,在时间序列分析方面得到了广泛的研究和应用,注意力机制可以自动化地对有用参数赋予较大权值,cnn和lstm相结合可以自动化地、高质量地提取样本特征,高质量的特征使模型有较高的预测精度,注意力机制可以有效地提高模型的泛化能力。cnn卷积层可以通过多个filters提取多种特征,lstm隐层输出向量有成百上千的参数,注意力机制可对其中的有用项自动赋予更大权值,从而进一步提高特征提取质量,高质量的特征可提高光伏发电功率预测精度。表1各个模型技术对比注:**为平均绝对百分误差,*为均方根误差。本发明基于python语言和keras框架实现cnnlstm模型,具有建模快速、可移植性高、预测精度高的优点。本发明基于cnnlstm光伏发电功率预测模型及其构建方法和应用,使用光伏电站历史数据训练预测模型,使用验证集评估预测模型在不同季节和不同时间范围的预测精度。本发明基于python语言和keras框架实现了基于卷积层(cnn)、长短期记忆网络(lstm)和注意力机制(attentionmechanism)的cnnlstm模型,该模型使用光伏发电功率时间序列为输入,输出下一时刻光伏发电功率预测值;cnn可以提取数据的多种特征。lstm可以对输入的特征实现到高层特征的信息抽象;注意力机制可以对lstm隐层输出向量进行自动化关注,对其中与当前输出量显著相关的特征量赋予更大的权值;通过展开操作将注意力机制的输出向量处理成一个一维向量输入全连接层,全连接层直接输出下一时刻光伏发电功率预测值。深度学习具有灵活性,可根据实际数据量对隐层进行调整。深度学习具备优秀的预测能力,尤其是对大中型数据集的预测,能够提高发电量预测的准确性。本发明使用keras框架实现cnnlstm模型,将其应用在光伏发电功率的预测上。附图说明图1是本发明实施例提供的图1是本发明实施例提供的cnnlstm模型结构图。图2是本发明实施例提供的cnnlstm模型构建方法流程图。图3是本发明实施例提供的cnnlstm模型训练与预测示意图。图4是本发明实施例提供的cnnlstm模型晴天预测结果对比图。图5是本发明实施例提供的cnnlstm模型雨天预测结果对比图。图6是本发明实施例提供的cnnlstm模型多云预测结果对比图。图7是本发明实施例提供的cnnlstm模型与对比模型mape对比图。图8是本发明实施例提供的cnnlstm模型与对比模型rmse对比图。图9是本发明实施例提供的cnnlstm模型与对比模型mae对比图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。针对传统机器学习算法依赖人工设计样本特征,且在特征提取方面存在短板,导致预测模型精度不高的问题。本发明基于python语言和keras框架实现cnnlstm模型,具有建模快速、可移植性高、预测精度高的优点。下面结合附图对本发明的应用原理作详细的描述。如图1所示,本发明实施例提供的基于cnnlstm光伏发电功率预测模型的结构主要由卷积层、lstm、注意力机制和全连接层构成,展开操作使注意力向量转换为全连接层能处理的数据格式。本发明实施例提供的cnnlstm模型以t时刻的光伏发电功率时间序列p(t-size+1),p(t-size+2),...,p(t-1),p(t)为输入(size为序列长度),预测输出t+1刻的光伏发电功率p(t+1)。如图2所示,本发明实施例提供的基于cnnlstm光伏发电功率预测模型的构建方法,具体包括以下步骤:s101:对光伏发电功率采用归一化方法进行归一化处理;s102:将时间序列数据通过16个卷积核的一维卷积层,得到的结果再通过32个卷积核的一维卷积层,得到的最终结果即为提取得到的特征;s103:将得到的特征,放入每一个含有32个lstm的神经元的lstm层,得到lstm隐层输出向量;s104:lstm提取的特征向量包含成百上千的参数,使用注意力机制对lstm隐层输出向量分别进行自动化关注,对其中与目标值显著相关的参数自动赋予更大的权值,进一步提高特征提取质量;s105:将经注意力机制处理后的特征向量展开成一维向量以符合全连接层输入的要求;s106:将展开操作得到的一维向量输入全连接层,全连接层输出下一时刻光伏发电功率预测值;s107:通过均方误差mse作为损失函数;s108:通过rmsprop优化器优化整个神经网络权值,使损失函数的损失值最小化。在本发明的优选实施例中,步骤s201中,本发明实施例提供的基于cnnlstm光伏发电功率预测模型使用光伏发电功率时间序列为输入,光伏发电功率和组件温度单位不同,每日波动幅度较大,因此需要分别进行归一化处理,采用以下归一化方法:其中xi为原始数据,为归一化后的数据。在本发明的优选实施例中,步骤s205中,本发明实施例提供的通过均方误差mse作为损失函数;其中xmodel为模型输出值,xactual为实测值。本发明实施例提供的卷积层,光伏发电功率时间序列包含不同的信息,因此将时间序列放入16个卷积核的一维卷积层进行特征提取,得到的结果再放入32卷积层中进行特征提取,将最后得到的特征放入lstm,转化为高层特征,lstm隐层输出向量即为提取得到的高层特征。本发明实施例提供的基于cnnlstm光伏发电功率预测模型的应用方法,具体为:基于python语言和keras框架实现cnnlstm网络结构,用来对光伏电站历史数据建立光伏发电功率预测模型,使用光伏电站监测系统采集的当前时刻t至t-size+1时刻的光伏发电功率时间序列作为cnnlstm模型的输入(size为时间序列的长度),来预测下一时刻(t+1时刻)的光伏发电功率。下面结合具体实施例对发明的应用原理进行进一步说明。如图3所示,本发明实施例提供的基于cnnlstm光伏发电功率预测模型的训练过程为:(1)数据归一化处理:光伏发电功率每日波动幅度较大,因此需要分别进行归一化处理,本发明采用以下归一化方法:其中xi为原始数据,为归一化后的数据;t时刻的训练样本可表示为:sample=[(p(t-size+1),p(t-size+2),...,p(t-1),p(t),p(t+1)];其中p为光伏发电功率,size为时间序列长度,p(t+1)为训练样本的训练目标;(2)cnnlstm模型前向传播:训练样本输入cnnlstm模型,经cnn和lstm进行特征提取后,通过注意力机制分配权重,将注意力向量展开成一维向输入一个全连接层,得到前向传播训练输出;(3)损失值计算:根据训练输出和训练样本归一化的实际功率计算mse损失值;其中xmodel为模型输出值,xactual为实测值;(4)网络权重优化:根据损失值,使用rmsprop优化器优化整个cnnlstm模型的网络权重,减小网络的损失值;(5)上述(2)、(3)、(4)步一直循环迭代,直到损失值变化不大为止,这样就完成了cnnlstm模型的训练。本发明实施例提供的基于cnnlstm光伏发电功率预测模型的预测过程为:(1)数据归一化处理:cnnlstm模型使用归一化的样本进行训练,因此预测时需要对输入的预测样本进行归一化处理,采用与训练过程相同的归一化方法。(2)cnnlstm模型前向传播:将归一化后的预测样本输入cnnlstm模型得到模型输出值。(3)反归一化:cnnlstm模型使用归一化的样本进行训练,因此输出值也是一个归一化的值,需要进行反归一化得到真实值;其中为cnnlstm模型前向传播输出值,xactual为反归一化得到的真实值。下面结合对比实验对本发明的应用效果作详细的描述。本发明实施例采用的数据来自某20kw光伏电站2014-2018的实测监控数据。本发明实施例采用的对比模型如下:persistence模型:persistence模型(pm)是短期预测常用的一种对比模型,该模型认为下一时刻的光伏发电功率与当前时刻发电功率相同,可以将persistence模型简单表示为:其中是预测的下一时刻光伏发电功率,p(t)是当前时刻光伏发电功率。arima模型:arima全称自回归积分滑动平均模型,是统计学模型中常用的一种时间序列预测模型。mlp模型:mlp是浅层神经网络,是光伏发电预测中一种常用的机器学习算法,mlp模型以发电功率时间序列和组件温度时间序列为输入,通过两个隐层,输出下一时刻光伏发电功率预测值。lstm模型:lstm模型使用两个lstm层分别对输入的发电功率时间序列和组件温度时间序列进行特征提取,将提取的特征向量展开成一维后进行融合,通过一个全连接层,输出预测结果。本发明实施例的cnnlstm模型(clstm)在春季、夏季、秋季和冬季进行7.5min、15min、30min和60min预测结果对比如图3-6所示。persistence模型(pm)和arima模型在15min及以下时段预测时存在优势,但进行30min和60min预测时,两者的预测曲线明显偏离实测值。mlp模型和lstm模型在30min及以下时段都能做出有效预测,两者与cnnlstm模型相比仍存在一定差距。cnnlstm模型在春夏秋冬都能对光伏发电功率进行有效预测,该模型在7.5min、15min和30min的预测都十分接近实测值,在60min预测时cnnlstm模型仍能抓住光伏发电功率变化的趋势,且预测曲线比四种对比模型更贴近实测曲线。本发明实施例采用平均绝对百分比误差mape、均方根误差rmse和平均绝对误差mae来评价模型的预测性能。其中xmodel为模型预测值,xactual为实测值。本发明实施例的cnnlstm模型(clstm)与四种对比模型进行全年预测的mape对比如表2所示。表2全年mape对比2017.102017.112017.122018.12018.22018.32018.42018.52018.62018.72018.82018.9平均pm23.2228.1117.923.9221.9622.1518.4326.222.7420.7722.0225.8822.78mlp32.2532.0525.8340.535.3931.1328.2235.8835.3931.7130.4532.6232.627.5minlstm31.3933.4127.8845.0231.7131.2819.9229.630.843026.2531.2830.71cnn31.4133.4524.738.932.5530.4320.9333.5731.9226.7324.6829.3629.89本发明28.6333.9421.2932.5829.6828.1118.9132.9928.2725.6827.9829.0328.09pm28.4832.6925.4930.6527.5728.7625.1432.7929.2526.8429.6832.1929.13mlp28.9336.9731.2845.8340.2536.8230.4840.7235.7637.5532.6734.713615minlstm34.3235.5427.2348.9333.734.8325.838.7433.0431.3430.9431.5633.83cnn32.4134.2523.6639.0532.7431.7224.3235.8134.5128.2627.8531.3331.33本发明28.9535.0825.3840.6133.3230.8323.235.131.6428.2227.1632.531pm36.8439.5334.1838.9138.2136.4331.841.0937.0133.1337.3742.737.27mlp41.9440.5733.9948.4144.274536.2441.6541.1739.0342.8441.5841.3930minlstm37.9636.3233.1345.8238.9337.8629.6243.0338.3436.1338.8639.2137.94cnn34.6337.2226.7545.4137.8132.5427.7838.4234.7232.530.2735.7634.48本发明29.2841.2225.9845.3738.8433.6126.9538.6833.4930.7525.7537.2833.93pm50.750.546.9450.1246.6849.9343.1648.6145.3143.4646.934847.53mlp44.8947.0339.756.4751.2347.4641.5150.3647.3243.2345.5544.4846.660lstm44.3346.5928.7653.0440.0836.9938.0349.2239.8740.3444.2739.3241.74cnn35.9243.136.9346.431.3637.737.7937.734.5237.538.5141.7938.27本发明33.6529.5125.3649.8838.1137.6330.3542.4837.832.8626.4130.8534.57本发明实施例的cnnlstm模型(clstm)与四种对比模型进行全年预测的rmse对比如表3所示。表3全年rmse对比本发明实施例的cnnlstm模型(clstm)与四种对比模型进行全年预测的mae对比如表4所示。表4全年mae对比由表3、表4和表实验数据对比分析可知:persistence模型(pm)在7.5min预测的平均mape最低,随着时间范围的扩大,persistence模型在一小时预测的平均mape最大;arima模型除了在7.5min预测时平均mape优于mlp模型和lstm模型外,其他时段预测的平均mape、rmse和mae均高于mlp模型、lstm模型和cnnlstm模型(clstm);mlp模型在进行7.5min预测时,其平均mape与lstm模型很相近,随着预测时间范围的增大mlp模型的劣势逐渐显露,由于不具备时间序列特征提取的能力,在15min、30min和60min预测时mlp模型的三项评价指标平均值始终大于lstm模型;lstm模型具有较强的时间序列特征提取能力,相比于传统的arima时间序列预测模型,lstm模型在较大时间范围进行预测时具有明显优势,相比于mlp模型,lstm模型在三项评价指标上也存在一定优势;cnnlstm模型是在lstm模型基础上加入注意力机制的改进模型,与lstm模型相比,cnnlstm模型的mape有了明显降低,rmse和mae也有了小幅降低,cnnlstm模型在进行7.5min、15min、30min和60min预测时均有较好的效果。本发明实施例的cnnlstm模型(clstm)与四种对比模型在不同时间范围预测的mape、rmse和mae折线如图7-图9所示。如图7所示,本发明实施例提供的cnnlstm模型与对比模型mape对比图。如图8所示,本发明实施例提供的cnnlstm模型与对比模型rmse对比图。如图9所示,本发明实施例提供的cnnlstm模型与对比模型mae对比图。从图7的mape折线对比可知persistence模型(pm)在7.5min预测的mape最低,随着预测时间范围的扩大,persistence模型的mape逐渐增高,在60min预测时persistence模型预测结果几乎没有参考价值,cnnlstm模型(clstm)的mape曲线总体上低于其他四个基准模型。从图8和图9的折线对比可知cnnlstm模型在7.5min、15min、30min和60min进行预测的rmse和mae明显低于四个对比模型。综合来看cnnlstm模型在晴天雨天多云和7.5min、15min、30min、60min四种预测时间范围都获得了较好的预测表现。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12