法律状态公告日
法律状态信息
法律状态
2019-04-02
授权
授权
2016-10-19
实质审查的生效 IPC(主分类):G06F17/50 申请日:20160427
实质审查的生效
2016-09-21
公开
公开
技术领域
本发明涉及一种超短期风速的多尺度预测建模方法。
背景技术
风电作为一种清洁、无污染的新型能源受到世界各国的普遍重视,发展迅速,近年来风电并网容量日益增加。但是风电出力的不确定性和波动性也因此成为影响电力系统安全稳定和经济高效运行的重要因素。准确的风电场功率预测是解决该问题的重要基础,可以帮助电网制定合理的调度计划,确定旋转备用,安全经济地保证电网的运行。而准确的风速预测则是准确预测风电功率的基础和前提。
近年来,针对风速超短期预测(4小时内的预测),神经网络法、支持向量回归方法等被应用在风速超短期预测领域,虽然实现了针对具有不确定特性的风速进行预测,但是预报精度仍有待于提高。
针对风速时间序列不确定性强的特点,小波变换的数据多尺度处理方式在风速预报中已有应用,该方法将风速时间序列分解为趋势项和干扰项,其中趋势项平稳性强,在预测过程中,能够得到更准确的趋势预测;干扰项的随机性较强,加以处理后,再与趋势项合成可以有效提高预测精度。但是对于风速预测要求精度较高的风力发电等领域来说,传统的机器学习方法不能很好地处理小波分解所得的高频分量,导致预报精度受限。
发明内容
本发明为了提高超短期风速多步预测的精度,提出了一种基于生成型深信度网络的短期风速多尺度预报建模方法。
基于生成型深信度网络的短期风速多尺度预报建模方法,包括以下步骤:
步骤1、记风速时间序列(X1,X2,...,Xk,Xk+1,...,Xk+l)为样本点集,长度为k+l;其中(X1,X2,...,Xk)作为训练样本点,长度为k,(Xk+1,Xk+2...,Xk+l)作为测试样本点,长度为l;利用t层小波分解处理风速数据,得到t+1段不同频率ct,d1,d2,...dt下长度均为k+l的风速序列;ct表示低频分量,d1,d2,...dt表示高频分量;
步骤2、构建训练集及测试集:
构建低频分量ct下的训练集及测试集:低频分量ct序列表示为(x1,x2,...,xk,xk+1,...,xk+l),将(x1,x2,...,xk)作为训练样本点,通过训练集构建规则构建训练集,其中训练集的输入数据维度为m,训练集的输出数据维度为n;将(xk+1,...,xk+l)作为 测试样本点,通过测试集构建规则构建测试集,其中测试集的输入数据维度为m,测试集的输出数据维度为n;
高频分量与低频分量ct下的训练集及测试集构建规则一致,按照低频分量ct下的训练集及测试集构建规则,分别在d1,d2,...,dt高频分量层上建立训练集及测试集;
步骤3、针对不同频率下的各组训练集,基于DBN网络回归算法,通过其强大的非线性映射能力,学习得到输入序列和输出序列之间的映射关系,分别训练多输入多输出DBN回归预测模型,并利用相应测试集测试训练效果;重复上述内容,分别得到不同频率ct,d1,d2,...dt下的预测模型;
步骤4、将不同频率ct,d1,d2,...dt下的预测模型的预报值进行小波重构,得到风速的实际预测值,实现对风电场实际风速的预测。
本发明具有以下效果:
本发明首次提出融合小波分解的DBN网络的超短期风速多尺度预报建模方法,并且本方法将深度学习中的DBN网络算法与小波变换进行了有效结合,充分利用DBN网络对高频分量的敏感特性,利用本发明进行短期风速预测,提高了短期风速多步预测精度。相比现有的风速预测方法本发明的MSE降低29%以上、MAE降低22%以上。
本发明能够实现风速的多步预测,并且实现风速的多步预测的模型和过程很容易调节,使得本发明更容易实现风速的多步预测。
附图说明
图1为本发明进行风速预测的流程示意图;
图2为风速时间序列小波分解流程示意图;
图3(a)为实施例中原始风速数据图;图3(b1)为实施例中三层小波分解后高频分量d1下对应的数据图;图3(b2)为实施例中三层小波分解后高频分量d2下对应的数据图;图3(b3)为实施例中三层小波分解后高频分量d3下对应的数据图;图3(b4)为实施例中三层小波分解后低频分量c3下对应的数据图;
图4(a)为3层小波分解下DBN网络对某组样本低频层预测图;图4(b)3层小波分解下DBN网络对某组样本d1高频层预测图;
图5(a)为BP神经网络对某组样本风速数据预测效果图,图5(b)为DBN网络对某组样本风速数据预测效果图,图5(c)为3层小波分解-DBN网络对某组样本风速数据预测效果图。
具体实施方式
具体实施方式一:
基于生成型深信度网络的超短期风速多尺度预报建模方法,包括以下步骤:
步骤1、记风速时间序列(X1,X2,...,Xk,Xk+1,...,Xk+l)为样本点集,长度为k+l;其中(X1,X2,...,Xk)作为训练样本点,长度为k,(Xk+1,Xk+2...,Xk+l)作为测试样本点,长度为l;利用t层小波分解处理风速数据,得到t+1段不同频率ct,d1,d2,...dt下长度均为k+l的风速序列;ct表示低频分量,d1,d2,...dt表示高频分量;
步骤2、构建训练集及测试集:
构建低频分量ct下的训练集及测试集:低频分量ct序列表示为(x1,x2,...,xk,xk+1,...,xk+l),将(x1,x2,...,xk)作为训练样本点,通过训练集构建规则构建训练集,其中训练集的输入数据维度为m,训练集的输出数据维度为n;将(xk+1,...,xk+l)作为测试样本点,通过测试集构建规则构建测试集,其中测试集的输入数据维度为m,测试集的输出数据维度为n;
高频分量与低频分量ct下的训练集及测试集构建规则一致,按照低频分量ct下的训练集及测试集构建规则,分别在d1,d2,...,dt高频分量层上建立训练集及测试集;
步骤3、针对不同频率下的各组训练集,基于DBN网络回归算法,通过其强大的非线性映射能力,学习得到输入序列与输出序列之间的映射关系,分别训练多输入多输出DBN回归预测模型,并利用相应测试集测试训练效果;得到不同频率ct,d1,d2,...dt下的预测模型;
步骤4、将不同频率ct,d1,d2,...dt下的预测模型的预报值进行小波重构,得到实际风速的预报值,实现对风电场的实际风速的预测。
具体实施方式二:
本实施方式步骤1所述的小波分解是利用Mallat算法实现的。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:
本实施方式步骤1所述的利用t层小波分解处理风速数据的具体过程如下:
如图2所示,先将时间序列(X1,X2,...,Xk,Xk+1,...,Xk+l)分解为低频分量c1和高频分量d1;当对序列做进一步分解时,只将低频分量c1分解为c2和d2,而对高频分量不进行分解,依次对分解后的低频分量再次进行分解,最终得到低频分量ct和高频分量d1,d2,...,dt, 从而将趋势项、波动项加以分离。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:
本实施方式步骤2所述的构建低频分量ct下的训练集及测试集的具体过程如下:
步骤2.1、低频分量ct序列可表示为(x1,x2,...,xk,xk+1,...,xk+l),将(x1,x2,...,xk)作为训练样本点,将(xk+1,...,xk+l)作为测试样本点;
步骤2.2、从训练样本点(x1,x2,...,xk)中的第1个数据x1开始,将连续的m个数据作为第1组样本的输入数据(x1,x2,...,xm);将训练样本点中xm之后连续的n个数据作为第1组样本的输出数据(xm+1,xm+2,...,xm+n);
然后,从训练样本点(x1,x2,...,xk)中的第2个数据x2开始,将连续的m个数据作为第2组样本的输入数据(x2,x3...,xm+1);将训练样本点中xm+1之后连续的n个数据作为第2组样本的输出数据(xm+2,xm+3,...,xm+n+1);
依次进行到第k-n-m+1组,得到第k-n-m+1组样本的输入数据(xk-n-m+1,xk-n-m+2,...,xk-n)和输出数据(xk-n+1,xk-n+2,...,xk);
最终构造成k-n-m+1个m维的训练集的输入数据和k-n-m+1个n维的训练集的输出数据;
步骤2.3、从测试样本点(xk+1,...,xk+l)中的第1个数据xk+1开始,将连续的m个数据作为第1组样本的输入数据(xk+1,xk+2,...,xk+m);将测试样本点中xk+m之后连续的n个数据作为第1组样本的输出数据(xk+m+1,xk+m+2,...,xk+m+n);
然后,从测试样本点(xk+1,...,xk+l)中的xk+m+1开始,将连续的m个数据作为第2组样本的输入数据(xk+m+1,xk+m+2,...,xk+2×m);将测试样本点中xk+2×m之后连续的n个数据作为第2组样本的输出数据(xk+2×m+1,xk+2×m+2,...,xk+2×m+n);
依次进行到第p组,得到第p组样本的输入数据(xk+(p-1)×m+1,xk+(p-1)×m+2,...,xk+p×m)和输出数据(xk+p×m+1,xk+p×m+2,...,xk+p×m+n);
最终构造成p个m维的测试集的输入数据和p个n维的测试集的输出数据。
训练样本点及测试样本点构建规则如下:
表1训练样本点:
表2测试样本点(p为向下取整):
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:
本实施方式步骤3的具体过程如下:
针对不同频率下的各组训练集,基于DBN网络回归算法,通过其强大的非线性映射能力,学习得到输入序列和输出序列之间的映射关系,分别建立具有多输入多输出DBN回归预测模型;
输入为归一化的训练集中维度为m的输入数据,输出为归一化的训练集中维度为n的输出数据,隐层传递函数选用‘sigmoid’函数,隐层与输出层之间的传递函数选用线性函数,训练多输入多输出DBN回归预测模型;
当训练得到符合精度要求的网络模型后,使用归一化的测试集中维度为m输入数据做预测,对预测值进行反归一化,并计算与相应实际输出数据的误差,即计算预测值反归一化后数据与步骤2.3中测试集所建立的相应输出数据的误差;以验证模型通用性,通过调节DBN网络层数和各层节点数以调试出泛化性能满足要求的多输入多输出DBN回归预测网络模型;
针对不同频率ct,d1,d2,...dt,得到不同频率ct,d1,d2,...dt下的预测模型。
其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:
本实施方式步骤4所述的对风电场的实际风速进行多步预测的具体过程如下:
当进行短期风速多步预测时,将长度为m的风速时间序列进行t层小波分解处理,得到不同频率ct,d1,d2,...dt下的风速序列数据,并分别对应输入不同频率ct,d1,d2,...dt下的预测模型进行预测,并将不同频率下各层的预报值进行小波重构,对风电场的实际风速进行多步预测,总体流程图如下图1所示。
其它步骤及参数与具体实施方式一至五之一相同。
具体实施方式七:
本实施方式步骤1所述的t层小波分解中的t=3,即进行3层小波分解。
其它步骤及参数与具体实施方式一至六之一相同。
实施例
本发明以某风电场2013年7月上旬中10分钟的风速数据进行仿真实验,
将10分钟的风速数据中的2000个点为训练集,后将风速数据进行小波分解,以3层为例进行小波分解,如图3(a)和图3(b1)-图3(b4)所示,
步骤三中,在综合考虑预测精度和模型运行速度的准则下调试分层预测模型,本发明通过多种预测模型进行多组实验,在多组实验过程中,并不是多种预测模型都具有良好的表现,说明在对应多种预测模型的多组实验中并不是所有的预测模型都适于进行小波变换。在多组实验中选取其中效果明显的单层神经网络、多层神经网络和深信度网络进行比较,本发明提出的融合小波分解的DBN网络预报方法均有较为理想的效果。文中展示在3层小波分解下,以50风速点为输入序列,24点风速序列为输出(即预报6h内的风速数据),隐层节点为50-30-25-25的DBN网络预报结果图。并统计50组不同测试样本在该模式下的MSE、MAE值,从数据中可以看出深信度网络在对于高频分量的预报上确有优势。50组测试样本低频层、高频层MSE、MAE统计表见表3;
表3 50组测试样本低频层、高频层MSE、MAE统计表
步骤四中,重构各层预测结果,得到实际风速预测值。实验中,对步骤三中每种方法得到的50组测试样本结果分别进行小波重构,统计重构结果与实际风速值之间的MSE、MAE值,见表4。
表4不同方法的重构结果与实际风速值之间的MSE、MAE值
通过表4可以看出,仅仅针对于实验条件下50组测试样本结果,本发明就完全能够得到优异的效果,证明本发明所建的预测模型对风速进行预测具有十分突出的效果,本发明的预测精度有较大提高。
图5(a)-图5(c)为步骤三中展示3层小波分解-DBN的预报结果与相同架构的BP神经网络、深信度网络预报结果的对比图。图5(a)中实际风速曲线在下,BP神经网络预测风速曲线在上,二曲线之间有一定间距;图5(b)中实际风速曲线基本一直在下,DBN网络(深信度网络)预测风速曲线基本一直在上,在横轴20处有交叉,二曲线之间有一定间距;图5(c)中实际风速曲线和小波分解-DBN网络预测风速曲线相互交织在一起,二曲线之间的间距很小。通过实验证明其他层数的小波分解的结果也优于DBN及NN的预报结果。可见,本发明能够很大程度上提高超短期风速多步预测精度。
机译: 基于雷达的降水预测和相同尺度的增强的短期旅行时间预测建模
机译: 风洞网络的风向风速预报系统及其预报方法
机译: 基于网络建模,在自动机网络中自动生成嵌入式分布式控制应用程序,使用功能的UML建模和数据通信来驱动自动代码生成器