一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于优化算法的提高短期风速预测精度的方法与流程

2022-04-16 16:15:20 来源:中国专利 TAG:


1.本发明属于气象研究技术领域,尤其是一种基于优化算法的提高短期风速预测精度的方法。


背景技术:

2.随着风电装机容量的不断增加,风力发电所具有的间隙性和不确定性给电力系统的稳定运行和电网调度带来新的挑战。准确预测风速不仅是风电功率预测的基础,更能在极端天气来临前做好风机保护措施,减少损失,对降低风电系统总成本也有重要意义。但是基于气象特征提取预测短期风速时,各气象特征均为非线性,在气象特征较多时难以通过pca法计算各主成分贡献率以提取特征,因此,本文提出一种基于简易气象特征提取的短期风速预测方法。首先,通过极限学习机(extreme learning machine,elm)构建以历史气象特征为输入,风速为输出的风速预测模型。采用k-折交叉验证法选择训练集和测试集,计算预测风速与实际风速的均方根误差(root mean square error,rmse),并以交叉验证误差e
rmse
为目标函数,通过改进珊瑚礁算法(modified coral reefs optimization,mcro)对e
rmse
进行寻优,提取最优气象特征,通过最优气象特征预测短期风速。算例分析表明,该方法能够有效提取相关气象特征,减少无关气象特征干扰,增强预测模型泛化能力,提高风速预测精度。
3.现有基于历史数据的短期风速预测方法主要集中于对风速时间序列的研究,通过历史风速预测将来风速,外推能力较差。影响风速预测的因素除风速外,还有风向、温度、湿度、压强和辐照值等气象特征。将以上气象历史数据组成原始气象特征x,由于包含较多的无关项,其维数较多,在缺乏先验知识的情况下,难以排除这些无关影响因素,提取最优气象特征。理论上来说,若x包含m维气象特征,则有2m种组合方式,为典型np-hard问题,实际过程中难以计算。


技术实现要素:

4.本发明的目的在于克服现有技术的不足之处,提供一种基于优化算法的提高短期风速预测精度的方法。
5.本发明解决其技术问题是采取以下技术方案实现的:
6.一种基于优化算法的提高短期风速预测精度的方法,其特征在于:基于简易气象特征提取,步骤如下:
7.(1)获得原始气象特征x;
8.(2)气象特征提取f;
9.(3)气象特征矩阵j;
10.(4)采用气象特征训练预测模型,选择elm预测模型,采用改进珊瑚礁智能优化算法;
11.(5)对一下段风速进行预测并计算交叉验证误差,采用基于k-折交叉验证的气象
特征提取;
12.(6)输出智能优化算法结果,其中不满足输出要求的结果返回步骤(2)。
13.而且,所述步骤(4)中的elm预测模型,基于elm的短期风速预测模型为设n个风速预测训练样本其中气象特征xi∈rm,风速目标值为ti,含有k个隐含层节点、激励函数为g(
·
)的网络模型为:
[0014][0015]
式中,ωi为输入层节点和隐含层节点间的权值,bi为隐含层偏置,βi为隐含层节点和输出层节点间的权值,具有k个隐含层节点网络激活函数g(
·
)能零误差逼近任意n个样本,即:
[0016][0017]
即:
[0018][0019]
上述n个方程简写为:
[0020]
hβ=t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0021]
其中:
[0022][0023][0024]
式中,h为elm的隐含层输出矩阵,t为期望输出风速向量;
[0025]
elm的训练过程等价于求解线性方程组(6)的最小二乘解:
[0026][0027]
最小二乘解为:
[0028]
β=h
*
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0029]
式中,h
*
为隐含层输出矩阵h的moore-penrose广义逆,elm训练过程中,随机生成ωi及bi,且在训练过程中保持不变,仅需确定βi以逼近训练样本,得到惟一最优解;训练结束后,通过式(3),输入气象特征,对短期风速进行预测。
[0030]
而且,所述改进珊瑚礁智能优化算法,描述如下:
[0031]

初始化,设珊瑚礁大小为u
×
v的矩形,上面有u
×
v个节点可供珊瑚虫附着,此时已被附着的珊瑚礁占所有珊瑚的比例为ρ,设珊瑚虫有雌雄异体比例为ξ,分裂繁殖比例为γ,子代珊瑚虫尝试附着极限次数为μ,每次循环淘汰的概率为ε,淘汰数量比例为δ,最大迭代次数为ψ;
[0032]

有数量为u
×v×
ρ的珊瑚虫已附着在珊瑚礁上,ξ比例的雌雄异体珊瑚虫u
×v×
ρ
×
ξ作为亲代c1和c2,并通过模拟二进制交叉的方式结合,根据式(9)产生2个子代c1和c2[0033][0034]
式中,α为迭代次数,φ为按式(10)生成的随机变量;
[0035][0036]
式中,τ为区间(0,1)上的随机数,κ为交叉常数,剩余u
×v×
ρ
×
(1-ξ)数量的雌雄同体珊瑚虫c根据式(11)产生一个子代c;
[0037][0038]

子代珊瑚虫需要寻找珊瑚礁进行附着,此时有数量为u
×v×
(1-ρ)的珊瑚礁未被附着,子代珊瑚虫随机寻找珊瑚礁,若该珊瑚礁为空,子代珊瑚虫便可以成功附着;若该珊瑚礁已经被其他珊瑚虫附着,则需计算出各自的健康度值,较优的将抢占该珊瑚礁,未成功附着的珊瑚虫按上述步骤重复寻找,若子代珊瑚虫在极限次数μ内仍未能成功附着,该珊瑚虫死亡;
[0039]

比例为γ优势珊瑚虫通过分裂的方式产生子代,并按

的过程尝试附着;每轮循环有ε的概率会进行淘汰,淘汰比例为δ的健康度较差的珊瑚虫;被淘汰的珊瑚虫会自动死亡,空出珊瑚礁以便其他珊瑚虫进行竞争;
[0040]

多次重复
②‑④
达到最大迭代次数ψ时,珊瑚礁上健康度最优珊瑚虫c为最优解;cro 算法每轮循环都采用轮盘赌算法产生随机数与ε比较,来判断本轮是否进行淘汰;在算法初期,能够有效地加速收敛,朝最优解靠近;在算法的中后期,由于轮盘赌算法的盲目性,珊瑚虫多样性缺失,使算法停滞,陷入局部最优解;为解决轮盘赌盲目性,提出改进淘汰机制为:
[0041][0042][0043]
式中,α与α

为迭代次数且α≠α

,θ为适应度值的标准差;当||c
α-c
α

||≤s,即2个体间欧式距离小于预设值s时,|fit(c
α
)-fit(c
α

)|≤θ为此时算法陷入停滞;δ

和ε

为改进后每次循环淘汰的概率和淘汰数量比例;
[0044]
在算法进化前期不断提高淘汰概率,而在算法中后期,强制进行淘汰并不断提高淘汰比例,始终能够保持珊瑚虫的多样性,避免陷入局部最优。
[0045]
而且,所述基于k-折交叉验证的气象特征提取,k-折交叉验证的基本原理为将样本集均匀划分为k个独立子集,轮流选择其中的k-1份作为训练样本进行训练,剩余1份作为验证样本,得到每个子集作为测试集时的均方根误差rmse,将其算术平均值作为交叉验证误差 e
rmse
,在样本固定的前提下得到比较稳定的误差指标,尽量避免因随机选择训练集和测试集导致测试误差的随机变化,交叉验证误差e
rmse
能够直接反映预测模型推广能力的优劣,因此,通过elm算法对e
rmse
进行寻优,考虑气象特征提取的短期风速预测方法步骤如下:
[0046]

初始化mcro-elm模型,设置mcro算法各参数与elm隐含层节点数;
[0047]

亲代珊瑚虫按式(8)(10)产生子代(气象特征提取矩阵)f={f
ζ
}m×1,1≤ζ≤m,m为x的维数,f
ζ
为布尔变量;
[0048]

计算气象特征矩阵j=x
·
f,为随机提取出的特征矩阵;
[0049]

将样本分成k份,轮流选择k-1份作为训练集,剩余1份作为测试集,测试集包含数量为a的风速,气象特征j作为预测模型的输入项,风速ti作为输出项,对预测模型进行训练,训练完毕后,并依次预测出下一时刻的风速t
i 1
,直至预测出数量为a的所有风速值 {t
i 1
,t
i 2
,

,t
i a
},根据式(12)计算第k

次均方根误差rmse(k

),依次计算出所有rmse(k

)后,根据式(13)计算交叉验证误差e
rmse

[0050][0051][0052]

子代珊瑚虫通过比较e
rmse
判断能否成功附着,优势珊瑚虫分裂产生子代,并重复
②‑ꢀ④
计算e
rmse
,再次判断能否成功附着;
[0053]

通过式(12)设置当前迭代淘汰概率和淘汰比例,并进行淘汰部分e
rmse
较差的珊瑚虫;
[0054]

判断是否达到最大迭代次数或满足输出要求,若不满足,则返回

,若满足,则此时对应的f为最优气象特征提取矩阵,j对应的气象特征为最优气象特征。
[0055]
本发明的优点和积极效果是:
[0056]
本方法为提高短期风速预测精度,研究了考虑气象特征提取的短期风速预测方法,针对输入气象特征较多且难以提取,提出一种简易气象特征提取方法,通过极限学习机和改进珊瑚礁算法,从较多气象特征中提取最优气象特征。以最优气象特征为预测模型输入,能够有效增强模型泛化能力,能够有效提取气象特征,提高预测精度,具有一定的实用价值。
附图说明
[0057]
图1为简易气象数据特征提取方法;
[0058]
图2为基于k-折交叉验证的气象特征提取方法。
具体实施方式
[0059]
下面结合附图并通过具体实施例对本发明作进一步详述,以下实施例只是描述性的,不是限定性的,不能以此限定本发明的保护范围。
[0060]
一种基于优化算法的提高短期风速预测精度的方法,采用基于优化算法的简易气象特征提取方法,
[0061]
(1)获取原始气象特征
[0062]
(2)气象特征提取,采用基于k-折交叉验证的气象特征提取;
[0063]
(3)气象特征矩阵;
[0064]
(4)采用气象特征训练预测模型,选择elm为预测模型;
[0065]
(5)对一下段风速进行预测并计算交叉验证误差,
[0066]
(6)智能优化算法,采用改进珊瑚礁智能优化算法,结果返回步骤(2);
[0067]
elm预测模型,改进珊瑚礁智能优化算法
[0068]
elm相对于传统的神经网络,尤其是单隐层前馈神经网络(single-hidden layer feedforward neural networks,slfns),能够在保证学习精度的前提下具有训练时间短,泛化性能好等特点,已在预测领域得到广泛应用。基于elm的短期风速预测模型为设n个风速预测训练样本其中气象特征xi∈rm,风速目标值为ti,含有k个隐含层节点、激励函数为g(
·
)的网络模型为:
[0069][0070]
式中,ωi为输入层节点和隐含层节点间的权值,bi为隐含层偏置,βi为隐含层节点和输出层节点间的权值,具有k个隐含层节点网络激活函数g(
·
)能零误差逼近任意n个样本,即:
[0071][0072]
即:
[0073][0074]
上述n个方程可以简写为:
[0075]
hβ=t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0076]
其中:
[0077][0078][0079]
式中,h为elm的隐含层输出矩阵,t为期望输出风速向量。
[0080]
elm的训练过程等价于求解线性方程组(6)的最小二乘解:
[0081][0082]
最小二乘解为:
[0083]
β=h
*
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0084]
式中,h
*
为隐含层输出矩阵h的moore-penrose广义逆,elm训练过程中,随机生成ωi及bi,且在训练过程中保持不变,仅需确定βi以逼近训练样本,便可得到惟一最优解。训练结束后,仅需通过式(3),输入气象特征,即可对短期风速进行预测。
[0085]
珊瑚礁算法是一种模拟珊瑚虫群行为和珊瑚礁筑成的智能优化算法,其珊瑚虫群的行为分成繁殖、竞争、淘汰等环节。
[0086]
cro算法在处理一些标准测试函数时,相对于粒子群算法(particle swarm optimiza-tion, pso)、遗传算法(genetic algorithm,ga)和和声搜索算法(harmony search,hs)有更好的寻优精度和收敛速度,cro算法描述如下:
[0087]

初始化,设珊瑚礁大小为u
×
v的矩形,上面有u
×
v个节点可供珊瑚虫附着,此时已被附着的珊瑚礁占所有珊瑚的比例为ρ。设珊瑚虫有雌雄异体比例为ξ,分裂繁殖比例为γ,子代珊瑚虫尝试附着极限次数为μ,每次循环淘汰的概率为ε,淘汰数量比例为δ,最大迭代次数为ψ。
[0088]

有数量为u
×v×
ρ的珊瑚虫已附着在珊瑚礁上,ξ比例的雌雄异体珊瑚虫u
×v×
ρ
×
ξ作为亲代c1和c2,并通过模拟二进制交叉(simulated binary crossover,sbx)的方式结合,根据式(9)产生2个子代c1和c2。
[0089][0090]
式中,α为迭代次数,φ为按式(10)生成的随机变量。
[0091][0092]
式中,τ为区间(0,1)上的随机数,κ为交叉常数,剩余u
×v×
ρ
×
(1-ξ)数量的雌雄同体珊瑚虫c根据式(11)产生一个子代c。
[0093][0094]

子代珊瑚虫需要寻找珊瑚礁进行附着,此时有数量为u
×v×
(1-ρ)的珊瑚礁未被附着。子代珊瑚虫随机寻找珊瑚礁,若该珊瑚礁为空,子代珊瑚虫便可以成功附着;若该珊瑚礁已经被其他珊瑚虫附着,则需计算出各自的健康度值(适应度值fit(c
α
)),较优的将抢占该珊瑚礁。未成功附着的珊瑚虫按上述步骤重复寻找,若子代珊瑚虫在极限次数μ内仍未能成功附着,该珊瑚虫死亡。
[0095]

比例为γ优势珊瑚虫通过分裂的方式产生子代,并按step3的过程尝试附着。每轮循环有ε的概率会进行淘汰,淘汰比例为δ的健康度较差的珊瑚虫。被淘汰的珊瑚虫会自动死亡,空出珊瑚礁以便其他珊瑚虫进行竞争。
[0096]

多次重复step2-4达到最大迭代次数ψ时,珊瑚礁上健康度最优珊瑚虫c即为最优解。虽然cro算法在处理一些标准测试函数时,相对于ga等算法有更好的寻优性能,但在处理一些复杂函数时,也存在不易跳出局部最优的困境。cro算法每轮循环都采用轮盘赌算法产生随机数与ε比较,来判断本轮是否进行淘汰。在算法初期,能够有效地加速收敛,朝最优解靠近。在算法的中后期,由于轮盘赌算法的盲目性,珊瑚虫多样性缺失,使算法停滞,陷入局部最优解。
[0097]
为解决轮盘赌盲目性,提出改进淘汰机制为:
[0098][0099]
[0100]
式中,α与α

为迭代次数且α≠α

,θ为适应度值的标准差;当||c
α-c
α

||≤s,即2个体间欧式距离小于预设值s时,|fit(c
α
)-fit(c
α

)|≤θ为此时算法陷入停滞;δ

和ε

为改进后每次循环淘汰的概率和淘汰数量比例。
[0101]
在算法进化前期不断提高淘汰概率,而在算法中后期,强制进行淘汰并不断提高淘汰比例,始终能够保持珊瑚虫的多样性,避免陷入局部最优。
[0102]
基于k-折交叉验证的气象特征提取
[0103]
k-折交叉验证的基本原理为将样本集均匀划分为k个独立子集,轮流选择其中的k-1份作为训练样本进行训练,剩余1份作为验证样本。得到每个子集作为测试集时的均方根误差 rmse,将其算术平均值作为交叉验证误差e
rmse
,可以在样本固定的前提下得到比较稳定的误差指标,尽量避免因随机选择训练集和测试集导致测试误差的随机变化。交叉验证误差 e
rmse
能够直接反映预测模型推广能力的优劣,因此,通过elm算法对e
rmse
进行寻优。考虑气象特征提取的短期风速预测方法步骤:
[0104]

初始化mcro-elm模型,设置mcro算法各参数与elm隐含层节点数。
[0105]

亲代珊瑚虫按式(8)(10)产生子代(气象特征提取矩阵)f={f
ζ
}m×1,1≤ζ≤m,m为x的维数,f
ζ
为布尔变量。
[0106]

计算气象特征矩阵j=x
·
f,即为随机提取出的特征矩阵。
[0107]

将样本分成k份,轮流选择k-1份作为训练集,剩余1份作为测试集,测试集包含数量为a的风速。气象特征j作为预测模型的输入项,风速ti作为输出项,对预测模型进行训练,训练完毕后,并依次预测出下一时刻的风速t
i 1
,直至预测出数量为a的所有风速值{t
i 1
,t
i 2
,

,t
i a
}。根据式(12)计算第k

次均方根误差rmse(k

),依次计算出所有rmse(k

)后,根据式(13)计算交叉验证误差e
rmse

[0108][0109][0110]

子代珊瑚虫通过比较e
rmse
判断能否成功附着。优势珊瑚虫分裂产生子代,并重复 step2-4计算e
rmse
,再次判断能否成功附着。
[0111]

通过式(12)设置当前迭代淘汰概率和淘汰比例,并进行淘汰部分e
rmse
较差的珊瑚虫。
[0112]

判断是否达到最大迭代次数或满足输出要求,若不满足,则返回step2。若满足,则此时对应的f为最优气象特征提取矩阵,j对应的气象特征为最优气象特征。
[0113]
基于k-折交叉验证的气象特征提取方法,如图2所示。
[0114]
尽管为说明目的公开了本发明的实施例和附图,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换、变化和修改都是可能的,因此,本发明的范围不局限于实施例和附图所公开的内容。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献