一种基于深度极限学习机的风速预测方法及其系统和机组与流程

文档序号:16694677发布日期:2019-01-22 19:23阅读:203来源:国知局
一种基于深度极限学习机的风速预测方法及其系统和机组与流程

本发明涉及风电机组领域,特别是涉及一种基于深度极限学习机的风速预测方法及其系统和机组。



背景技术:

作为国家可持续发展战略的重要组成部分,风力发电是将空气动能转换为电能,风的随机波动性和间歇性决定了风电功率的波动性和间歇性。随着风力发电规模的不断扩大,风电场并网对电网系统的影响就会越来越明显,大风速扰动会使系统的电压和频率产生很大的变化,此时风电场并网及并网后的稳定和安全问题成为急需解决的新课题。因此,对风速进行准确的预测有利于风电场的风电机组的运行受制于系统的运行条件,可以为电力系统调度部门制定调度计划提供支持,减小风速随机变化对电网的不利影响。

风速的变化是在秒、分钟、小时、天、星期、季节和年的范围内。风速预测不仅与预测方法有关,还与预测周期以及预测地点的风速特性有关。一般来说,预测周期越短,预测误差就越小;反之,预测误差越大。而风力发电机组的控制系统需要的预测时间比较短,因此本发明采用了时间序列的短期预测方法。

传统神经网络凭借其对复杂非线性函数的逼近能力以及强大的并行处理能力,成为时间序列预测领域流行的网络体系结构。但传统神经网络在学习过程中常采用需要反复调整网络参数的bp训练方法,容易遇到局部极小问题,而且难以解决较大样本的学习和泛化问题。



技术实现要素:

本发明的目的是提供一种能够提高海量的风速数据预测建模的效率,改善预测性能,提高模型的实时更新能力的基于深度极限学习机的风速预测方法及其系统和机组。可以有效改善传统神经网络存在学习效率不高、容易陷入局部最优且网络层数制约训练效果等缺陷。

为实现上述目的,本发明采用如下技术方案:

一方面,本发明提供一种基于深度极限学习机的风速预测方法,为通过深度极限学习机的时间序列预测方法对某一未来时刻的风速值进行预测的方法,若现在时刻是t,需要预测某一未来时刻t+s的风速值xt+s,包括如下步骤:

1)获取风电机组发电过程中t时刻及其之前的一组历史观测数据序列如式(1);

x0,x1,…,xk,…,xt(1)

其中,式(1)中,x0、x1、xk、xt分别为等距离时间点△t对应的t0、t0+△t、t0+k△t、t时刻下的风速观察值;

2)通过深度极限学习机的时间序列预测方法从历史观测数据序列中提取出若干组风速时间序列;若以预测模型所需历史数据的时间跨度q为提取区间,则风速时间序列q=[xt-q,...,xt-1,xt]为用于预测时刻t+s的风速值xt+s的预测序列,则:

xt+s=g(xt-q,…,xk,…,xt-1,xt)(2)

其中,式(2)中,q为预测所需历史数据的时间跨度,g为预测模型或者预测函数,xt-q、xk、xt-1、xt分别为等距离时间点△t对应的t-q、k、t-1、t时刻下的风速观察值,即,q=[xt-q,...,xt-1,xt]为预测模型的输入;

并通过深度极限学习机的时间序列预测方法提取出时间点t-s时刻及之前的若干组风速时间序列对应的训练样本,作为训练样本数据集;预测模型包括单步预测和多步预测;

预测模型的推导:

s1:取出预测序列q,从训练样本数据集中提取出与预测序列q最相似的k个样本作为重组单步训练样本,即q的最近邻,再根据预测步数提取出k个重组样本对应的多步训练样本,将k个重组样本作为预测模型的输入;训练样本数据集中包括单步预测时、多步预测时的训练样本,提取q的最近邻的方法是根据混合欧氏距离相似性度量方法对各训练样本的风速时间序列与预测预测q进行计算得到,即重组样本中对应单步预测、多步预测有单步特征、多步特征;

s2:预测模型训练:分别对单步特征和多步特征的多隐含层的delm模型进行深度极限学习机训练,分别得到特征表达,并分别计算相应的权值,计算每层对应的单步特征和多步特征的权值加和,选取出权值最大的若干隐含层节点,对其提取出对应包含单步特征和多步特征的相关数据,包括隐含层输出、权重、偏置,并计算相应的权值,从而以delm算法推导出预测模型;

s3:在预测阶段,根据推导得到的预测模型计算预测风速值xt+s。

进一步地,训练样本数据集提取:以时间跨度q为区间将式(1)的历史数据按时间序列提取出若干组风速时间序列,q=n△t(q>3,n为整数),作为训练样本数据集。

进一步地,预测模型训练:以某风速时间序列的最后一个风速值对应的时间点作为某风速时间序列时间点k,时间点k+s时刻的风速观察值xk+s,则以某时间点k的风速时间序列作为输入,以xk+s作为输出,作为预测模型的一个训练样本,则时间点t-s时刻及之前的训练样本组成预测模型训练集。

进一步地,所述预测模型的推导为:

step1:提取出预测序列q,从训练样本数据集中取出单步预测时的近邻子集s_in;

step2:通过式(3)计算q和s_in的混合欧式距离;

其中,式(3)中,a1为时间点t’的风速时间序列,a2为预测序列q,f1和f2分别为两组时间序列a1和a2的差分序列;ne(a1,a2)为a1和a2间的标准化欧氏距离,ne(f1,f2)为f1和f2间的标准化欧氏距离;

step3:从s_in中选取k个与q的混合欧式距离最短的最近邻;并将取出的k个最近邻作为有标签单步特征y_in,其余样本看作无标签单步特征m_in;对应的,提取出多步预测时的k个最近邻作为为有标签多步特征multi_y_in,其余样本看作无标签多步特征multi_m_in;

step4:分别训练单步预测和多步预测的多个隐含层的one_step_delm和multi_step_delm模型对y_in,m_in和multi_y_in,multi_m_in进行无监督自编码学习,得到特征表达fea_h1,fea_m1和fea_h2,fea_m2;

step5:将fea_h1和fea_h2通过随机生成的输入权重w和偏置b计算出隐含层输出h1和h2,进行监督学习,再通过y_out计算出相应的β1,β2;

step6:根据算式(4)计算wi,通过wi对每一个隐含层节点排序,并选取出wi最大的个节点;

wi=β1(i)+β2(i)(4)

其中,式(4),i为隐含层节点数;

step7:将最大的个节点前的相关数据删除,并提取出删减后的

step8:根据admm算法计算

step9:计算输出delm预测模型

则将预测序列q输入到预测模型中可计算出预测风速值xt+s。

进一步地,所述隐含层数可以为3层。

进一步地,无标签单步特征m_in和无标签多步特征multi_m_in分别用于one_step_delm和multi_step_delm模型的校正学习。

进一步地,将one_step_delm和multi_step_delm网络中的每一层都解耦出来,作为一个独立的极限学习机,并使每一个elm的目标输出t等于该elm的输入,得到输入数据的低维表达,即elm的隐层输出,并将该输出作为下一个elm的输入,并得到该elm的输出权重该输出权重的转置即作为该elm的输入权值,完成模型的训练。

进一步地,所述深度极限学习机的算法流程包括如下步骤:

输入:训练样本{xi,ti}(xi∈rn,ti∈rm,i=1,...,n),激活函数g(·),隐含层节点个数nh;

输出:输出权值矩阵

step1:根据任意连续概率分布函数随机生成的输入权值wi和偏置bi;

step2:根据下式计算隐含层输出矩阵h;

step3:计算输出权值矩阵计算方法为:

(1)当训练样本的个数大于隐层节点个数时,输出权值矩阵可由下式计算得到:

(2)当训练样本的个数小于隐层节点个数时,输出权值矩阵的计算公式为:

进一步地,预测模型的训练样本的输入输出关系为;

样本1:输入:s1=[x0,x1,...,xq-1,xq];输出:xq+s

样本2:输入:s2=[x1,x2,...,xq,xq+1];输出:xq+s+1;

样本3…样本z-2的输入输出关系依次类推;

样本z-1:输入:sz-1=[xt-s-q-1,xt-s-q,...,xt-s-2,xt-s-1];输出:xt-1;

样本z:输入:sz=[xt-s-q,xt-s-q+1,...,xt-s-1,xt-s];输出:xt;

通过相似性度量方法提取出与预测序列q最相似的一部分样品作为重组样本,通过提取出的重组样本训练局部预测模型。

另一方面,提供一种基于深度极限学习机的风速预测系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的基于深度极限学习机的风速预测方法的步骤。

由于采用上述技术方案,本发明至少具有以下优点:

(1)本发明以最近邻域理论为核心,根据相似性度量方法从历史数据中提取出与待预测序列最相似的一部分样本作为重组样本,通过对采用delm对重组样本时间序列进行局部建模,建模过程中同时考虑单步预测和多步预测,并最后整合为一个预测模型,使模型的准确性和泛化性能都有所提高,通过局部建模也可以大大提高海量的风速数据预测建模的效率,改善预测性能,提高模型的实时更新能力。

(2)本发明的方法采用混合欧式距离计算方法选取最近邻,由于混合欧式距离不光考虑到两组时间序列的距离,还将时间序列的变化趋势考虑在内,得到的预测模型更加准确。

(3)本发明的预测方法具有较高的准确性和泛化性能,通过局部建模也可以大大提高海量的风速数据预测建模的效率,改善预测性能,提高模型的实时更新能力。

附图说明

上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。

图1是本发明的基于delm的时间序列预测流程示意图;

图2是本发明的局部预测模型的构建示意图;

图3是本发明的基于delm的局部预测模型的流程示意图;

图4是本发明的极限学习机网络模型图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。

本发明提供一种基于深度极限学习机的风速预测方法的实施例,如图1到图3所示,为通过深度极限学习机的时间序列预测方法对某一未来时刻的风速值进行预测的方法,若现在时刻是t,需要预测某一未来时刻t+s的风速值xt+s,包括如下步骤:

1)获取风电机组发电过程中t时刻及其之前的一组历史观测数据序列如式(1);

x0,x1,…,xk,…,xt(1)

其中,式(1)中,x0、x1、xk、xt分别为等距离时间点△t对应的t0、t0+△t、t0+k△t、t时刻下的风速观察值,k为中间的任一时刻;

2)通过深度极限学习机的时间序列预测方法从历史观测数据序列中提取出若干组风速时间序列;若以预测模型所需历史数据的时间跨度q为提取区间,则风速时间序列q=[xt-q,...,xt-1,xt]为用于预测时刻t+s的风速值xt+s的预测序列,则:

xt+s=g(xt-q,…,xk,…,xt-1,xt)(2)

其中,式(2)中,q为预测所需历史数据的时间跨度,g为预测模型或者预测函数,xt-q、xk、xt-1、xt分别为等距离时间点△t对应的t-q、k、t-1、t时刻下的风速观察值,k为中间的任意时刻,即,q=[xt-q,...,xt-1,xt]为预测模型的输入;

并通过深度极限学习机的时间序列预测方法提取出时间点t-s时刻及之前的若干组风速时间序列对应的训练样本,作为训练样本数据集;预测模型包括单步预测和多步预测;

预测模型的推导:

s1:取出预测序列q,从训练样本数据集中提取出与预测序列q最相似的k个样本作为重组单步训练样本,即q的最近邻,再根据预测步数提取出k个重组样本对应的多步训练样本,将k个重组样本作为预测模型的输入;训练样本数据集中包括单步预测时、多步预测时的训练样本,提取q的最近邻的方法是根据混合欧氏距离法对各训练样本的风速时间序列与预测预测q进行计算得到,即重组样本中对应单步预测、多步预测有单步特征、多步特征;

s2:预测模型训练:分别对单步特征和多步特征的多隐含层的delm模型进行深度极限学习机训练,分别得到特征表达,并分别计算相应的权值,计算每层对应的单步特征和多步特征的权值加和,选取出权值最大的若干隐含层节点,对其提取出对应包含单步特征和多步特征的相关数据,包括隐含层输出、权重、偏置,并计算相应的权值,从而以delm算法推导出预测模型;

s3:在预测阶段,根据推导得到的预测模型计算预测风速值xt+s。

因通过风速时间序列选择最近邻,因此单步预测、多步预测对应的风速时间序列相同(即输入序列相同),只是因单步预测、多步预测的特点对应的单步特征、多步特征有区别,通过分别训练再整合训练的方法,使预测模型不仅对单步特征有学习、对多步特征也有学习,使预测模型可以深度学习,从而使得到的预测模型的准确性和泛化性能都有极大提高。

本发明以最近邻域理论为核心,采用混合欧式距离计算方法选取最近邻,从历史数据中提取出与待预测序列最相似的一部分样本作为重组样本,由于混合欧式距离不光考虑到两组时间序列的距离,还将时间序列的变化趋势考虑在内,得到的预测模型更加准确;通过对采用delm对重组样本时间序列进行局部建模,建模过程中同时考虑单步预测和多步预测,并最后整合为一个预测模型,使模型的准确性和泛化性能都有所提高,通过局部建模也可以大大提高海量的风速数据预测建模的效率,改善预测性能,提高模型的实时更新能力。

进一步地,训练样本数据集提取:以时间跨度q为区间将式(1)的历史数据按时间序列提取出若干组风速时间序列,q=n△t(q≥3,n为整数),作为训练样本数据集。

预测模型训练:以某风速时间序列的最后一个风速值对应的时间点作为某风速时间序列时间点k,时间点k+s时刻的风速观察值xk+s,则以某时间点k的风速时间序列作为输入,以xk+s作为输出,作为预测模型的训练样本,则时间点t-s时刻及之前的训练样本组成预测模型训练集。

预测模型的训练集的的输入输出关系如表1所示:

表1预测模型的输入输出关系

通过混合欧式距离相似性度量方法提取出与预测序列q最相似的k个样品作为重组样本,通过提取出的重组样本训练局部预测模型,如图1所示,根据每个样本中的输入子列使模型输出与实际观察值相同,从而建立样本1的子模型,通过对k个子模型的自编码学习从而得到最终的预测模型。

综上所述,通过历史风速数据x0,x1,...,xt可以预测t+s时刻的风速值xt+s。为了方便起见,序列q=[xt-q,...,xt-1,xt]称为xt+s的预测序列,集合s={s1,s2,...,sz}称为q的近邻集。在全局建模法中,s中的每一个元素都是一个训练样本;而局部建模法需要从近邻集s的z个元素中选取k个q的最近邻,以该k个元素作为局部模型的训练样本。

为了推导出变量xt+s的预测模型,本发明将局部建模法作为时间序列预测建模方法,该局部模型的预测流程见图2。该方法包含两个阶段:训练和预测。在训练阶段,预测模型通过两个关键步骤导出:训练样本提取和模型推导。首先,根据相似性度量方法从历史数据中提取出与待预测序列最相似的一部分样本作为重组样本;然后,根据提取出的重组样本训练出时间序列的局部预测模型。在预测阶段,根据推导得到的预测模型计算xt+s,算法流程如表2所示。

表2时间序列局部建模预测算法

深度极限学习机在算法上融合了自编码的思想,通过最小化重构误差来编码输出,使输出能够无限的逼近原始输入。这种结构可以得到对输入抽象的表达,因此可以捕捉到原始输入中的深层特征。

具体的,训练样本提取的预测模型的推导为,如图3所示:

step1:提取出预测序列q,从训练样本数据集中取出单步预测时的近邻子集s_in;

step2:通过式(3)计算q和s_in的混合欧式距离;

其中,式(3)中,a1为时间点t’的风速时间序列,a2为预测序列q,f1和f2分别为两组时间序列a1和a2的差分序列;ne(a1,a2)为a1和a2间的标准化欧氏距离,ne(f1,f2)为f1和f2间的标准化欧氏距离;

其中,具体计算为,假设a1和a2为两组时间序列,a1为时间点t’的风速时间序列,a2为预测序列q:

a1=[xa,xa+1,...,xa+q-1,xa+q],

a2=[xb,xb+1,...,xb+q-1,xb+q],

f1和f2分别为两组时间序列a1和a2的差分序列:

f1=[xa+1-xa,...,xa+q-xa+q-1],

f2=[xb+1-xb,...,xb+q-xb+q-1],

nh(a1,a2)即为a1和a2两组时间序列的混合欧式距离。通过计算集合s中的每一个元素和q的混合欧式距离,最终得到z个混合欧式距离,并从中选取k个距离最短的元素将其作为提取出的训练样本。

由于混合欧式距离不光考虑到两组时间序列的距离,还涉及到了时间序列的变化趋势。ne(f1,f2)的加入使混合欧式距离度量了两组序列上升或下降的趋势的相似性。

step3:从s_in中选取k个与q的混合欧式距离最短的最近邻;并将取出的k个最近邻作为有标签单步特征y_in,其余样本看作无标签单步特征m_in;对应的,提取出多步预测时的k个最近邻作为为有标签多步特征multi_y_in,其余样本看作无标签多步特征multi_m_in;

step4:分别训练单步预测和多步预测的多个隐含层(隐含层数可以为3层。)的one_step_delm和multi_step_delm模型对y_in,m_in和multi_y_in,multi_m_in进行无监督自编码学习,得到特征表达fea_h1,fea_m1和fea_h2,fea_m2;无标签单步特征m_in和无标签多步特征multi_m_in分别用于one_step_delm和multi_step_delm模型的校正学习。

step5:将fea_h1和fea_h2通过随机生成的输入权重w和偏置b计算出隐含层输出h1和h2,进行监督学习,再通过y_out计算出相应的β1,β2;

step6:根据算式(4)计算wi,通过wi对每一个隐含层节点排序,并选取出wi最大的个节点;

wi=β1(i)+β2(i)(4)

其中,式(4),i为隐含层节点数;

step7:将最大的个节点前的相关数据删除,并提取出删减后的

step8:根据admm算法计算

step9:计算输出delm预测模型

上式中,t代表的是目标输出,u代表输入,则将预测序列q输入到预测模型中可计算出预测风速值xt+s。

本发明的极限学习机的局部建模方法,通过同时考虑单步预测和多步预测,通过分别训练计算得到隐含层输出后,再根据每个隐含层节点的权值(单步预测和多步预测的权值加和)选取出权值最大的一定数量的隐含层节点数,再进行整合推导计算最后得到一个预测模型,使模型的准确性和泛化性能都有所提高,通过局部建模也可以大大提高海量的风速数据预测建模的效率,改善预测性能,提高模型的实时更新能力。

进一步地,one_step_delm和multi_step_delm网络中的每一层都可以解耦出来,作为一个独立的极限学习机(extremelearningmachine,elm),如图4所示,并使每一个elm的目标输出t等于该elm的输入,这样,就可以得到输入数据的低维表达,即elm的隐层输出,并将该输出作为下一个elm的输入,可以通过以下算法流程计算得到该elm的输出权重该输出权重的转置即作为该elm的输入权值,完成模型的训练。

进一步地,深度极限学习机的算法流程包括如下步骤,主要包括输出权重的算法流程:

输入:训练样本{xi,ti}(xi∈rn,ti∈rm,i=1,...,n),激活函数g(·),隐含层节点个数nh;

输出:输出权值矩阵

step1:根据任意连续概率分布函数随机生成的输入权值wi和偏置bi;

step2:根据下式计算隐含层输出矩阵h;

step3:计算输出权值矩阵计算方法为:

(1)当训练样本的个数大于隐层节点个数时,输出权值矩阵可由下式计算得到:

(2)当训练样本的个数小于隐层节点个数时,输出权值矩阵的计算公式为:

进一步地,预测模型的训练样本的输入输出关系为;

样本1:输入:s1=[x0,x1,...,xq-1,xq];输出:xq+s

样本2:输入:s2=[x1,x2,...,xq,xq+1];输出:xq+s+1;

样本3…样本z-2的输入输出关系依次类推;

样本z-1:输入:sz-1=[xt-s-q-1,xt-s-q,...,xt-s-2,xt-s-1];输出:xt-1;

样本z:输入:sz=[xt-s-q,xt-s-q+1,...,xt-s-1,xt-s];输出:xt;

另一方面,提供一种基于深度极限学习机的风速预测系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的基于深度极限学习机的风速预测方法的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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