一种基于随机因子改进CSA的海上短期风速预测方法

文档序号:26265484发布日期:2021-08-13 19:17阅读:84来源:国知局
一种基于随机因子改进CSA的海上短期风速预测方法

本发明属于风速预测技术领域,具体涉及一种基于随机因子改进csa的海上短期风速预测方法。



背景技术:

风速预测对含大规模风电场的电力系统进行经济调度具有重要意义。近年来,海上风电场数量逐步增加并且开始并入电网供电,而风电的波动性和不确定性给电网带来威胁,因此如何准确预测海上风速变得尤为迫切。国内外研究人员在短期风速预测上已多有研究,其中人工神经网络(ann)模型应用较广。虽然相关学者在短期风速预测的研究上取得了一定进展,但ann模型的精度还有待提高,而其精度主要取决于算法性能的高低。

布谷鸟搜索算法(csa)是一种很有前途的群智能算法,相比于遗传算法、人工蜂群算法、粒子群算法等经典群智能算法,csa具有更高的搜索效率,其收敛性和全局搜索能力优于粒子群算法和遗传算法,具有较好参数寻优的性能。

经检索,为了提高ann模型短期风速预测精度,申请人为上海电机学院、申请号为cn202011181059.7的中国发明专利公开了一种基于布谷鸟算法优化的bp神经网络短期风功率预测方法,该技术方案具体包括以下步骤:s1:获取训练数据构建训练集,并构建bp神经网络;s2:初始化bp神经网络的参数;s3:利用布谷鸟算法,对bp神经网络的参数进行优化,得到优化后的参数;s4:利用优化后的参数构建基于cs-bp神经网络的风功率预测模型;s5:利用得到的风功率预测模型进行短期风功率的预测,该技术方案能够在一定程度上提高短期风功率预测准确度,但该预测模型对风功率预测时仍具有较大的预测误差,预测精度仍需要得到进一步提高。



技术实现要素:

本发明的目的在于克服上述现有技术中存在的ann模型短期风速预测精度不高的缺陷,提出一种基于随机因子改进csa的海上短期风速预测方法,通过引入随机因子来改进csa,利用随机布谷鸟搜索算法优化ann模型,从而建立rcsa-ann海上短期风速预测模型,提高ann模型短期风速预测精度。

为达到上述目的,本申请的技术方案为:

一种基于随机因子改进csa的海上短期风速预测方法,包括以下步骤:

(1)获取数据集,对数据集进行预处理,对预处理后的数据集进行划分得到训练集和测试集;

(2)构建ann模型,用预处理后的训练集作为ann模型的输入,用风速作为ann模型的输出;

(3)通过引入随机因子[r]改进csa得到rcsa,采用rcsa对ann模型进行训练,优化ann模型中的权值与偏置参数,建立rcsa-ann短期风速预测模型。

其优选的技术方案为:

如上所述的一种基于随机因子改进csa的海上短期风速预测方法,步骤(1)中,对数据集进行预处理的方法包括:采用如下公式对数据进行归一化处理:

式中,xi为ann模型的输入数据,是处理后的输入数据。

如上所述的一种基于随机因子改进csa的海上短期风速预测方法,步骤(2)中,构建ann模型包括:设置ann模型网络参数:神经网络层数设置为4层,其中,输入层数1个,隐含层数2个,输出层数1个,输出层激活函数采用如下形式:

式中,λ为极大风速。

如上所述的一种基于随机因子改进csa的海上短期风速预测方法,步骤(3)中,所述rcsa的更新公式为:

[nestnew]=[nestold]+[k]×[stepsize]+[r]

式中,[nestnew]和[nestold]分别为更新前后的种群;[k]为选择要更新种群中个体的矩阵,该矩阵构成元素为0和1;[stepsize]为群体中任意两个矩阵之差,[r]为[-α,α]之间的随机数,其中α可根据实际搜索范围的大小来设定。

如上所述的一种基于随机因子改进csa的海上短期风速预测方法,步骤(3)中,采用rcsa对ann模型进行训练,优化ann模型中的权值与偏置参数,构建rcsa-ann短期风速预测模型,其具体步骤为:

(3.1)随机生成模型参数,结合训练集训练rcsa-ann模型,训练集共n组数据,每组数据包含m种环境参数,以环境参数作为模型输入样本,风速作为模型输出样本;

(3.2)从第一组数据开始,以每组数据训练的预测误差最小为目标,利用rcsa的更新公式对ann模型的权值与偏置进行更新,判断训练单组数据误差error1是否小于训练精度ε或循环次数i2是否大于i2,若是,则跳出循环,训练下一组数据;

(3.3)判断平均训练误差error2是否大于训练精度ε或循环次数i1小于i1,若是,则重复步骤(3.1)和(3.2);若不是,则训练结束;

(3.4)挑出训练误差最小的一组作为rcsa-ann模型的参数,利用测试集进行预测,得到测试结果。

如上所述的一种基于随机因子改进csa的海上短期风速预测方法,步骤(3)中,所述rcsa-ann模型所采用的ann模型输出层神经元矩阵计算公式为:

[y]=z([w][x]+[b])

式中,[y]和[x]分别为当前层、前一层的神经元矩阵,[w]是这两层之间的权值矩阵;[b]是当前层的偏置,λ为极大风速。

与现有技术相比,本申请所要求保护的技术方案至少具有以下技术效果:

本发明的一种基于随机因子改进csa的海上短期风速预测方法,通过引入随机因子[r]改进csa得到了rcsa,其中,csa改进方法简单、可靠且有效,解决了该算法易陷入局部最优的问题;采用z(x)作为ann模型输出层激活函数,并利用rcsa优化ann模型中的权值与偏置参数,从而建立了rcsa-ann短期风速预测模型。rcsa-ann短期风速预测模型与现有技术中的bp-ann、csa-ann预测模型相比,rcsa-ann模型平均误差不仅低于bp-ann模型的,而且远低于csa-ann模型。由于本发明中的rcsa-ann模型预测精度较高,因而能对较为波动的风速序列实现准确预测,具有很好的应用潜力。

附图说明

图1为本发明的一种基于随机因子改进csa的海上短期风速预测方法模型训练流程图;

图2为本发明实施例的通过风电场历史运行数据获取的数据集的风速气象图;

图3为本发明实施例的通过风电场历史运行数据获取的数据集的风向气象图;

图4为本发明实施例的通过风电场历史运行数据获取的数据集的气温气象图;

图5为本发明实施例的通过风电场历史运行数据获取的数据集的气压气象图;

图6为本发明对比例1中的基于bp-ann模型风速预测曲线图;

图7为本发明对比例2中的基于csa-ann模型预测的风速曲线图;

图8位本发明实施例中的基于rcsa-ann模型预测的风速曲线图;

图9为分别基于bp-ann模型、csa-ann模型以及rcsa-ann模型下五次预测风速的平均值与实测值的对比示意图。

具体实施方式

下面结合具体实施方式,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

本发明实施例提供一种基于随机因子改进csa的海上短期风速预测方法,包括以下步骤:

(1)获取数据集,对数据集进行预处理,对预处理后的数据集进行划分得到训练集和测试集;

(2)构建ann模型(人工神经网络(artificialneuralnetwork)),用预处理后的训练集作为ann模型的输入,用风速作为ann模型的输出,建立ann模型;

(3)通过引入随机因子[r]改进csa(布谷鸟搜索算法)得到rcsa(随机布谷鸟搜索算法(randomcuckoosearchalgorithm,rcsa)),采用rcsa对ann模型进行训练,优化ann模型中的权值与偏置参数,建立rcsa-ann短期风速预测模型。

步骤(1)中,由于在训练过程中,需要将采集的数据集作为模型训练的输入样本和输出样本,因此在数据集的选择上,所述数据集包括风速、风向、气温与气压四种环境参数。在具体采集的方式上,本实施例通过上海芦潮港建立的海上测风塔测得了高度为10m、时长为230h的风速、风向、气温与气压四种气象数据,每5分钟记录一次,这里将其处理成每小时的平均数据,共计230组,920个数据点。如图2~5所示,分别为获取的数据集中的风速、风向、气温与气压四种气象数据的气象图。

在对数据集进行预处理的方法上,由于使用传统归一化方法处理的训练数据难以对模型进行训练,因此本实施例采用如下公式对数据进行归一化处理:

式中,xi为ann模型的输入数据,是处理后的输入数据。

在数据集的划分上,由于将气象环境参数用于风速预测效果较好,因此,本发明rcsa-ann模型选择气温和气压作为rcsa-ann模型的输入,风速作为输出,数据集划分情况可见表1。

表1数据集划分

步骤(2)中,构建ann模型包括:设置ann模型网络参数,其中,神经网络结构包括输入层、隐含层和输出层,其中,输入层数1个,隐含层数2个,输出层数1个。

对各层的激活函数而言,本发明实施例模型选择sigmoid函数作为隐含层和输入层的激活函数,表达式如下:

则层神经元计算公式为:

[y]=sigmoid([w][x]+[b])

式中,[y]和[x]分别为当前层、前一层的神经元矩阵,[w]是这两层之间的权值矩阵;[b]是当前层的偏置。

而对于输出层激活函数而言,为了直观显示ann模型输出风速,本实施例的模型输出层激活函数采用如下形式:

式中,λ为极大风速。

基于上述输出层激活函数的关系,本发明rcsa-ann模型所采用的ann模型输出层神经元矩阵计算公式可写为:

[y]=z([w][x]+[b])

需指出的是,这里使用z(x)作为ann输出层激活函数后,则仅需处理输入数据,省去了训练前后对训练样本数据的处理过程,可使模型训练更加快速。

对于csa算法而言,常规的csa的更新公式可写为:

[nestnew]=[nestold]+[k]×[stepsize]

式中,[nestnew]和[nestold]分别为更新前后的种群;[k]为选择要更新种群中个体的矩阵,该矩阵构成元素为0和1;[stepsize]为群体中任意两个矩阵之差。

本实施例通过在上述的csa的更新公式引入随机因子[r],得到改进的csa,则步骤(3)中rcsa更新公式为:

[nestnew]=[nestold]+[k]×[stepsize]+[r]

式中,[r]为[-α,α]之间的随机数,其中α可根据实际搜索范围的大小来设定。

采用上述的rcsa对ann模型进行训练,优化ann模型中的权值与偏置参数,进而去构建rcsa-ann短期风速预测模型,在具体实施方式上,如图1所示,其具体步骤为:

(3.1)随机生成模型参数,结合训练集训练rcsa-ann模型,训练集共n组数据,每组数据包含m种环境参数,以环境参数作为模型输入样本,风速作为模型输出样本;

(3.2)从第一组数据开始,以每组数据训练的预测误差最小为目标,利用rcsa的更新公式对ann模型的权值与偏置进行更新,判断训练单组数据误差error1是否小于训练精度ε或循环次数i2是否大于i2,若是,则跳出循环,训练下一组数据;

(3.3)判断平均训练误差error2是否大于训练精度ε或循环次数i1小于i1,若是,则重复步骤(3.1)和(3.2);若不是,则训练结束;

(3.4)挑出训练误差最小的一组作为rcsa-ann模型的参数,利用测试集进行预测,得到测试结果。

上述训练过程中,rcsa随机因子[r]中,α=1,算法种群数为3,每个种群均为随机生成的ann参数矩阵;

rcsa-ann模型的训练参数的选择为:i1=3,i2=25000,ε=2.0×10-3,训练参数m=3,训练样本组数n=190,测试集组数n=40,即前n组数据用作训练,后n组数据用作实例。极大风速取λ=10。

为了考察本发明实施例中rcsa的寻优能力并验证rcsa-ann模型精度,本发明分别将基于bp-ann模型风速预测作为对比文件1,基于csa-ann模型风速预测作为对比文件2,对三者预测精度进行对比分析。由于改进算法采用随机搜索开展训练,则每次训练后模型预测精度可能有所不同,这里将每种模型分别进行五次训练并预测,以全面的考察模型性能、避免模型出现较大的偶然偏差。每一种模型可得到五条风速预测曲线并与实测风速对比,其中bp-ann、csa-ann和rcsa-ann模型预测的风速曲线分别如图6、图7和图8所示。

由图6可看出:bp-ann模型在200-220h内预测精度较差,预测风速随时间变化趋势与实际风速偏离较大,预测值总体偏高,甚至出现与实际风速走势相反的情况,如由该模型第四次训练得到的预测结果(见图6中的bp4);在191-196h与225-227h时间段,实际风速变化幅度较大,模型预测风速的变化相对平缓。总体来看,bp-ann模型预测误差较大,这是由于bp-ann模型采用误差返向传播算法,在更新靠近输入层的参数时,会出现误差梯度为0的情况以致bp算法失效。

通过观察图7可以发现:在整个时间范围内,csa-ann模型预测的风速随时间的变化规律基本相似,预测的风速大小分布在8.18-9.61m/s之间,而实测风速最小值、最大值分别为3.00、4.94m/s,预测的风速均明显高于实际风速值,预测误差较大,这是因为csa-ann模型尽管使用了与本实施例中的rcsa-ann模型相同的训练方案,csa还是陷入了局部最优,导致ann模型无法实现风速的准确预测,也证明了csa在求解复杂的多峰优化问题时存在易陷入局部最优的不足。

分析图8后不难得知:与bp-ann、csa-ann模型预测结果相比,rcsa-ann模型的风速预测曲线总体上与实际风速较为接近;在191-197h时间段内,第一次训练预测的风速(见图8中的rcsa1)走势与实际风速吻合度较好,但在204h后预测值总体上低于实测值;rcsa2与rcsa3多数时间点的预测值高于实际风速,尤其是在194-203h时间段偏高,但在204-219h时间段内rcsa2预测精度较高;五个风速预测曲线中,rcsa5预测的风速随时间变化的幅度相对较小,rcsa4预测值与实际风速最为贴近。

对比图7和图8后可以得出:在面对多峰特性问题时,rcsa可以避免陷入局部最优,具有更强的搜索能力,克服了csa的不足;rcsa-ann模型更能精确地预测芦潮港风速的变化。

为了更加清晰地看出由不同算法训练的三种模型所预测风速曲线的变化,结合图6-图8中预测的风速变化数据,将每一种模型五次预测风速的平均值绘于图9。不难看出:bp-ann模型预测风速较为接近于实测风速,但在206-221h时间段内预测偏高于实际值;csa算法完全失效,导致csa-ann模型预测的平均风速与实测风速大小相差甚远;rcsa-ann模型预测风速的均值与实测风速的变化趋势基本一致,两者的偏差总体上较小;bp-ann模型预测效果优于csa-ann模型,而rcsa-ann模型预测精度最高。

为了进一步观察bp-ann、csa-ann和rcsa-ann模型的预测精度,考虑到平均绝对百分误差(meanabsolutepercentageerror,mape)越小,模型的预测效果越好。这里采用mape来判别rcsa-ann模型预测精度的高低,误差公式可描述为:

式中,n为测试集组数;是由模型的预测风速;是实际风速值。

这里结合实测、预测数据并利用上式计算了三种模型的mape,计算结果如表2所示。

表2三种模型的平均绝对百分比误差

根据表2可知:csa-ann模型每次预测的平均绝对百分误差均超过100%,最高为136.93%,说明训练该模型的算法已失效;rcsa-ann模型最大mape仅为8.12%,而bp-ann模型最小mape却达到9.23%,意味着bp-ann模型的预测精度相对较低;csa-ann、bp-ann、rcsa-ann模型的平均mape分别为122.21%、11.58%、7.20%,表明本发明实施例中的rcsa-ann模型预测海上风速的效果良好、精度较高,可为海上风速实时预测系统提供参考。

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