一种基于双层VMD分解和SSA-LSTM的电价预测方法

未命名 08-13 阅读:134 评论:0

一种基于双层vmd分解和ssa-lstm的电价预测方法
技术领域
1.本发明涉及电价预测,特别是涉及一种基于双层vmd分解和ssa-lstm的电价预测方法。


背景技术:

2.在电力市场中,电能可以像其他普通商品一样在市场环境下自由交易,因此能够反映电力供求关系的电价成为电力市场中最重要的要素之一。近年来,许多研究人员已经证明,要实现电价精准预测的难度很大,因为电价在很大程度上取决于多种因素。电能作为一种特殊的商品,其价格因受到市场供需、电力成本、负荷以及季节等多种因素的影响而具有非线性和非平稳性的特点。加上电能不能大规模储存以及必须满足时刻供需平衡,因此电价具有很大的波动性。精准的电价预测不仅可以提升市场在调节能源资源配置上的效率和提高电网的优化调度能力,还能为各方市场参与者制定和调整市场决策从而获得相应的经济效益提供重要依据。因此,准确的电价预测对于整个电力系统和市场参与者来说具有十分重要的参考意义。
3.现有的电价预测方法众多,其中最受关注的方法为混合预测方法。该方法一般由多种算法组合而成,且具有非常复杂的预测框架,通常由数据分解算法以及预测模型组成。使用较为普遍的分解算法有小波变换(wt)、经验模态分解(emd)、改进经验模态分解(iemd)、变分模态分解(vmd)等。预测模型有自回归积分移动平均(arima)、支持向量机(svm)、人工神经网络(ann)、随机森林(rf)、递归神经网络(rnn)等。
4.然而上述数据分解算法及模型在处理时间序列问题时的能力还存在不足之处:wt缺乏自适应性,不能很好地实现电价序列的分解;emd、iemd存在模态混叠的情况,会影响最终的分解效果;vmd虽能自适应地实现电价序列的分解,但是对于分解所得的残差项中所含有的丰富信息不能进一步提取;arima虽能通过差分变化减少电价波动,但是对存在异方差的电价序列的拟合效果较差;svm具有较好泛化能力和非线性拟合能力,但存在处理大规模数据困难的缺点;ann存在易过度学习陷入局部最优的缺点,其泛化能力还有待提升;rf在一些噪音较大的回归问题上表现不如人意,缺少对时序数据时间相关性的考虑;rnn在处理时间序列方面有独特优势,但在机器学习过程中会出现梯度消失和梯度爆炸的问题。上述方法在处理电价序列的非线性和非平稳性特征时的能力都比较有限,难以进一步提取电价序列中所隐含的丰富信息。


技术实现要素:

5.本发明的目的在于克服现有技术的不足,提供一种基于双层vmd分解和ssa-lstm的电价预测方法,能够提取电价序列中所隐含的丰富信息,并通过麻雀搜索算法优化长短期及以神经网络的超参数,提高了电价预测的精度。
6.本发明的目的是通过以下技术方案来实现的:一种基于双层vmd分解和ssa-lstm的电价预测方法,包括以下步骤:
7.s1.将原始电价序列划分为训练集和测试集,并设置第一层vmd分解和第二层vmd分解的参数;
8.s2.对原始电价序列进行第一层vmd分解,得到本征模态函数imf和残差分量imf-res;
9.s3.对残差分量imf-res进行第二层vmd分解;
10.s4.对vmd分解得到的子序列进行归一化处理;
11.s5.搭建lstm神经网络,在对原始电价序列进行vmd分解得到的子序列基础上,基于麻雀搜索算法ssa优化lstm超参数;
12.s6.基于优化得到的lstm超参数,进行电价预测。
13.本发明的有益效果是:本发明能够提取电价序列中所隐含的丰富信息,并通过麻雀搜索算法优化长短期及以神经网络的超参数,提高了电价预测的精度。
附图说明
14.图1为本发明的方法流程图;
15.图2为本发明的具体预测过程示意图;
16.图3为lstm神经网络结构图;
17.图4为ssa优化lstm超参数流程图。
具体实施方式
18.下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
19.本发明针对现有分解方法难以更近一步处理电价序列中的非线性及非平稳性特征这一问题,本专利提出一种双层vmd分解技术。另外,选择更善于发现和利用长序列数据的内在规律的长短时神经网络(lstm)作为预测模型,并使用麻雀搜索算法(ssa)对lstm的超参数进行优化,最终提出一种基于双层vmd分解技术和ssa-lstm的电价预测方法,如图1~2所示,包括以下步骤:
20.s1.将原始电价序列划分为训练集和测试集,并设置第一层vmd分解和第二层vmd分解的参数;
21.所述步骤s1中,将原始电价序列划分为训练集和测试集时,训练集和测试集的长度比例5:1,第一层vmd分解和第二层vmd分解的参数包括分解个数k和惩罚因子α;
22.所述第一层vmd分解的k取8,α取3000;
23.所述第二层vmd分解的k取4,α取2000。
24.s2.对原始电价序列进行第一层vmd分解,得到本征模态函数imf和残差分量imf-res;
25.首先在此假设原始电价序列由多个子序列构成,电价子序列在vmd中被称为模态分量。每个模态分量是具有中心频率ωk的有限带宽,vmd分解可以描述为寻求k个模态函数uk(t),使得每个模态的估计带宽之和最小,其约束条件为各模态之和等于输入信号f,即原始电价序列。vmd分解的具体构造步骤如下:
26.(1)利用hilbert变换获取每个模态函数uk(t)的解析信号,即得到其单边频谱,公
式如下:
[0027][0028]
式中,为uk(t)的hilbert变换,δ
t
为dirac分布函数;1/(πt)为冲击响应,j为虚数单位。
[0029]
(2)将各模态解析信号与对应的修正参数相乘,使得每个模态的频谱调制到相应的基频带,公式如下:
[0030][0031]
(3)根据高斯平滑度和梯度二次方准则对上一步中经过调制的信号进行解调,计算梯度的二次方l2范数,获得各分解模态的带宽描述bw,公式如下:
[0032][0033]
式中,为偏导运算。
[0034]
(4)结合各模态之和等于输入信号f的约束条件后,可得到变分约束模型为:
[0035][0036]
式中,uk={u1,u2,...,uk}为各模态函数,ωk={ω1,ω2,...,ωk}为各模态中心频率。
[0037]
(5)为求解上述模型,引入二次惩罚因子α和拉格朗日乘法算子λ,将约束性变分问题转变为非约束性变分问题,表达式如下:
[0038][0039]
(6)初始化通过傅里叶变换获取各参量的频域值;分别表示第k个模态分量和中心频率,λ1为拉格朗日算子,n为迭代次数,左上角数字1表示第一次迭代;
[0040]
(7)利用交替方向乘子法来处理上述非约束性变分问题,对每一子序列,通过交替更新来求解式(4)中的变分模型最优解。新的uk、中心频率ωk和λ的更新公式为:
[0041][0042][0043]
[0044]
式中:为分f(t)、ui(t)、λ(t)的傅里叶变换。τ表示噪声容忍度,k表示总的模态个数,k表示第k个模态。
[0045]
(8)判断是否满足迭代终止条件,公式如下:
[0046][0047]
ε为给定分解精度参数,若满足则停止迭代。
[0048]
此时可以得到原始电价序列经vmd分解后的8个分量对应的模态函数uk(t),也称本征模态函数(imf),以及一个残差分量imf-res,其中imf-res由原始电价序列减去k个imf之和得到。
[0049]
若不满足迭代终止条件,返回步骤(7)迭代。
[0050]
s3.对残差分量imf-res进行第二层vmd分解;
[0051]
由于imf-res中含有丰富的特征信息,能够被进一步提取利用。因此,对imf-res使用第二次vmd分解。具体分解过程与第一次分解一致,进一步可以得到imf-res经vmd分解后的4个分量对应的imf’以及一个imf-res’分量。
[0052]
将第一次vmd分解和第二层vmd分解得到12个本征模态函数和残余分量imf-res’作为原始电价序列的子序列,每一个子序列的长度均与原始序列相同,并且每一个子序列中,训练集中子序列长度和测试集子序列长度的比值依然为5:1。
[0053]
s4.对vmd分解得到的子序列进行归一化处理;
[0054]
将vmd分解技术得到的各个子序列需使用最大最小归一化的线性化方法转换到[0,1]的区间内:
[0055][0056]
其中,yk表示子序列的第k个点的归一化结果,ak表示子序列中第k个点的电价,a
max
和a
min
分别为子序列中电价值的最大值和最小值;
[0057]
s5.搭建lstm神经网络,在对原始电价序列进行vmd分解得到的子序列基础上,基于麻雀搜索算法ssa优化lstm超参数;
[0058]
s501.构建lstm神经网络:
[0059]
lstm神经网络引入记忆单元来控制信息传递,有效地解决了数据间的长期时序依赖问题,即所谓的梯度爆炸和梯度消失的问题,适用于长时间序列形式的电价预测问题,能够准确预测电力现货价格。基于lstm的神经网络结构分为五层,依次为输入层、lstm层、lstm层、全连接层和输出层,如图3所示。
[0060]
s502.如图4所示,采用ssa优化lstm的超参数如学习率lr、迭代次数epoches、第一、第二层隐含层神经元个数h1、h2、数据批量大小batch_size,优化的具体步骤如下:
[0061]
(1)确定迭代寻优次数t、寻优维度以及寻优参数阈值,该阈值区间即为神经网络待优化参数值的区间;
[0062]
(2)确定麻雀种群个数n并初始化ssa,在待优化参数数值区间范围内,随机生成一个麻雀个体:
[0063]
x1=[x1,x2,...,xm]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0064]
s503.引入chebyshev混沌映射来改进麻雀搜索算法ssa,当麻雀第一个个体的位
置随机生成之后,其余个体的位置根据chebyshev混沌映射公式生成,其公式如下:
[0065]
x
i+1
=cos(icos-1
(xi))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0066]
式中,xi表示第i个麻雀个体位置;
[0067]
其余个体位置由chebyshev混沌映射根据第一个个体位置生成,形成麻雀种群:
[0068]
x=[x1,x2,...,xn]
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0069]
将麻雀种群中每一个麻雀的个体位置作为神经网络的参数值,每一个麻雀个体位置均为m维向量,m为待优化神经网络参数的个数;
[0070]
s504.将每个个体的位置参数输入到s501搭建的神经网络中作为神经网络的参数,并使用经过vmd分解以及归一化后的任一个电价子序列的训练集进行训练:
[0071]
在训练过程中,经归一化后的电价子序列数据将被转化成三步预测一步的监督学习形式输入到lstm模型中进行预测;
[0072]
所述三步预测一步的监督学习形式是指,将电价子序列中的每一电价值作为一个样本,利用连续三个样本,预测后一个样本,训练过程如下:
[0073]
(1)设将麻雀种群中第i个麻雀的个体位置作为神经网络的参数值时,将第t个样本y
ture
(t)的前三个样本送入神经网络中得到的预测结果记为预测值其中h为样本个数,即电价子序列的长度;
[0074]
根据神经网络的输出计算第i个麻雀个体的适应度,公式如下:
[0075][0076]
式中,i表示第i个麻雀个体,h为样本个数;
[0077]
(2)不同位置的麻雀个体对应着不同的适应度,对于每一个麻雀的个体位置,重复步骤(1),在得到麻雀种群的适应度为:
[0078]
fit=[fit1fit2ꢀꢀ
fit3...fitn]
t

[0079]
经归一化后的电价子序列,输入到lstm中后进行训练,根据下面的公式计算实际值y
t
(t)和预测值之间的适应度值,并不断调整麻雀个体位置以达到最低的适应度值,此时也就得到了最优的麻雀个体位置,也即最优超参数;
[0080]
(3)在具体更新过程中设置麻雀种群中发现者和加入者比例为1:4,将适应度最小的麻雀p个体定义为发现者,其余n-p个为加入者,同时选取15%的麻雀个体作为侦察者,然后通过发现者、加入者以及预警条件公式更新麻雀位置,同时计算麻雀种群的适应度值:
[0081]
其中发现者的位置更新公式为:
[0082][0083]
式中,t为迭代次数,t
max
为最大迭代次数,α为(0,1]之间均匀分布的随机数,q为服从正太分布的随机数,l为1
×
m的矩阵,其内部每个元素都为1;
[0084]
加入者的位置更新公式为:
[0085][0086]
式中分别为种群中在第t次迭代与t+1次迭代中麻雀个体所处的当前全局最差位置与最优发现者的位置;a是一个元素为1或-1的多维矩阵;
[0087]
侦察者的位置更新公式为:
[0088][0089]
式中,为当前全局最优位置,β为步长控制参数,服从均值为0、方差为1的正态分布;fi、f
ω
、fg分别为当前个体的适应度值、全局最差和最优适应度值;k∈[-1,1]用来控制麻雀运动的方向;ε是不为0的极小值,用于防止分母出现0,在本技术的实施例中,一般取值在10-5
~10-8
之间;
[0090]
(4)重复步骤(1)到(3),通过不断循环更新位置,减少适应度值,并对种群中的个体位置和最优位置进行保存,同时判断每次迭代中麻雀最佳适应度是否优于全局最佳适应度,如果是,则退出循环并返回最优个体解,即确定lstm最优超参数,否则继续循环迭代寻优,直到更新迭代次数达到最大值,最终当前子序列得到ssa-lstm模型,并通过当前子序列中的验证集对ssa-lstm模型进行验证;
[0091]
其中麻雀最佳适应度即麻雀种群中的适应度最小值,麻雀最佳适应度是优于全局最佳适应度,是指麻雀的最佳适应度小于全局最佳适应度;
[0092]
(5)对于vmd分解得到的每一个子序列,重复执行步骤(1)~(4)得到每一个子序列对应的ssa-lstm模型。
[0093]
s6.基于优化得到的lstm超参数,进行电价预测。
[0094]
所述步骤s6包括:
[0095]
s601.将ssa迭代寻优得到的输出结果作为lstm神经网络的最优参数;
[0096]
s602.将第一层vmd分解得到的8个imf分量经归一化后输入到各自对应的的ssa-lstm模型中进行预测得到各个分量的预测结果y1={y1,y2,...,y8},其中y为一长时间序列;
[0097]
s603.然后将预测结果反归一化后得到第一层分解时各分量的预测值y1={y1,y2,...,y8},随后,将第二次分解产生的4个imf’分量以及1个imf-res’分量同样经归一化后输入到各自对应的ssa-lstm模型中进行预测得到各个分量的预测结果y2={y1,y2,...,y5},最后经反归一化后得到第二层分解时各分量的预测值y2={y1,y2,...,y5};
[0098]
s604.将第一层分解时各分量的预测值与第二层分解时各分量的预测值进行简单相加重构得到最终的电价预测结果y
final
,公式如下:
[0099]yfinal
=y1+y2=[x1,x2,...,x
t
]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(18)
[0100]
式中,xi为预测时间跨度内每个时间刻度的电价预测值。
[0101]
本发明中,vmd分解使用了非递归理论来分解信号,是一种完全非递归的自适应变分模式分解方式。该方法假设一个序列信号的所有分量是集中在各自中心频率附近的窄带
信号,在获取分解分量的过程中根据分量窄带条件建立约束优化问题,并通过迭代搜寻变分模型最优解来确定每个分量的频率中心和带宽,从而能够自适应地实现序列信号的频域剖分及各分量的有效分离。不仅具有更好的鲁棒性,还可以改善模态混叠的问题。经vmd分解后,原始电价序列的变化起伏趋势及内部复杂的波动特征被分配到不同的分量之中。如此一来,经ssa优化后的lstm模型能够更为容易地辨别和提取到所有分量的特征,从而提高预测效果。麻雀搜索算法是一种群体智能优化算法,该算法依据麻雀的觅食行为建立数学模型,并加入了侦查的机制,随机选取种群中的部分麻雀作为意识到危险的麻雀建立反捕食机制。具有全局寻优速度快、可调节参数少、结构清晰等优点。lstm在传统rnn结构的基础上引入了门控单元来控制信息的遗忘与记忆,解决了rnn在处理长时间序列时出现的梯度爆炸问题。该记忆单元能够根据当前的输入和前一个隐藏状态来决定允许通过的信息概率并以此来实现整个网络对数据的记忆和遗忘功能,这使得lstm在处理电价序列等长时间序列的时候具有巨大优势。因此,经ssa优化超参数后的lstm模型具有十分优秀的预测效果。本专利所使用的双层vmd分解技术相较于单一的数据分解方法具有更好的分解效果。不仅能够自适应地实电价数据分解,还不会出现像emd分解时产生的模态混叠的情况。此外,双层vmd分解技术还能更进一步提取imf-res中所含有的关于电价序列的丰富信息,使预测精度大大提高。
[0102]
上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

技术特征:
1.一种基于双层vmd分解和ssa-lstm的电价预测方法,其特征在于:包括以下步骤:s1.将原始电价序列划分为训练集和测试集,并设置第一层vmd分解和第二层vmd分解的参数;s2.对原始电价序列进行第一层vmd分解,得到本征模态函数imf和残差分量imf-res;s3.对残差分量imf-res进行第二层vmd分解;s4.对vmd分解得到的子序列进行归一化处理;s5.搭建lstm神经网络,在对原始电价序列进行vmd分解得到的子序列基础上,基于麻雀搜索算法ssa优化lstm超参数;s6.基于优化得到的lstm超参数,进行电价预测。2.根据权利要求1所述的一种基于双层vmd分解和ssa-lstm的电价预测方法,其特征在于:所述步骤s1中,将原始电价序列划分为训练集和测试集时,训练集和测试集的长度比例5:1,第一层vmd分解和第二层vmd分解的参数包括分解个数k和惩罚因子α;所述第一层vmd分解的k取8,α取3000;所述第二层vmd分解的k取4,α取2000。3.根据权利要求2所述的一种基于双层vmd分解和ssa-lstm的电价预测方法,其特征在于:所述步骤s2中,假设原始电价序列由多个子序列构成,vmd分解时,将原始电价序列的每个子序列称为模态分量,每个模态分量具有不同的中心频率;设第k个模态分量具有中心频率ω
k
的有限带宽,vmd分解描述为寻求k个模态函数u
k
(t),使得每个模态的估计带宽之和最小,其约束条件为各模态之和等于输入信号f,即原始电价序列;进行第一层vmd分解的过程如下:(1)利用hilbert变换获取每个模态函数u
k
(t)的解析信号,即得到其单边频谱公式如下:式中,为u
k
(t)的hilbert变换,δ
t
为dirac分布函数;1/(πt)为冲击响应,j为虚数单位;(2)将各模态解析信号与对应的修正参数相乘,使得每个模态的频谱调制到相应的基频带,公式如下:(3)根据高斯平滑度和梯度二次方准则对经过调制的信号进行解调,计算梯度的二次方l2范数,获得各分解模态的带宽描述bw,公式如下:式中,为偏导运算;(4)结合各模态之和等于输入信号f的约束条件后,得到变分约束模型为:
式中,u
k
={u1,u2,...,u
k
}为各模态函数,ω
k
={ω1,ω2,...,ω
k
}为各模态中心频率;(5)为求解上述模型,引入二次惩罚因子α和拉格朗日乘法算子λ,将约束性变分问题转变为非约束性变分问题,表达式如下:(6)初始化λ1n=0,通过傅里叶变换获取各参量的频域值;分别表示第k个模态分量和中心频率,λ1为拉格朗日算子,n为迭代次数,左上角数字1表示第一次迭代;(7)利用交替方向乘子法来处理上述非约束性变分问题,对每一子序列,通过交替更新来求解变分约束模型最优解,新的u
k
、中心频率ω
k
和λ的更新公式为:和λ的更新公式为:和λ的更新公式为:式中:为分f(t)、u
i
(t)、λ(t)的傅里叶变换,τ表示噪声容忍度,k表示总的模态个数,k表示第k个模态;(8)判断是否满足迭代终止条件:其中ε为给定的分解精度参数,若满足则停止迭代,此时得到原始电价序列经vmd分解后的8个分量对应的模态函数u
k
(t),也称本征模态函数,即imf,以及一个残差分量imf-res,其中imf-res由原始电价序列减去k个imf之和得到;若不满足迭代终止条件,返回步骤(7)迭代。4.根据权利要求3所述的一种基于双层vmd分解和ssa-lstm的电价预测方法,其特征在于:所述步骤s3中,第二层vmd分解与第一层vmd分解的过程相同,进一步得到imf-res经vmd
分解后的4个分量对应的本征模态函数imf’以及一个残余分量imf-res’;将第一次vmd分解和第二层vmd分解得到12个本征模态函数和残余分量imf-res’作为原始电价序列的子序列,每一个子序列的长度均与原始序列相同,并且每一个子序列中,训练集和测试集的比值依然为5:1。5.根据权利要求1所述的一种基于双层vmd分解和ssa-lstm的电价预测方法,其特征在于:所述步骤s4包括:将vmd分解技术得到的各个子序列需使用最大最小归一化的线性化方法转换到[0,1]的区间内,对于任一子序列,归一化方法如下:其中,y
k
表示子序列的第k个点的归一化结果,a
k
表示子序列中第k个点的电价,a
max
和a
min
分别为子序列中电价值的最大值和最小值,。6.根据权利要求1所述的一种基于双层vmd分解和ssa-lstm的电价预测方法,其特征在于:所述步骤s5包括以下子步骤:s501.构建lstm神经网络:lstm的神经网络结构分为五层,依次为输入层、lstm层、lstm层、全连接层和输出层;s502.采用ssa优化lstm的超参数如学习率lr、迭代次数epoches、第一、第二层隐含层神经元个数h1、h2、数据批量大小batch_size,优化的具体步骤如下:(1)确定迭代寻优次数t、寻优维度以及寻优参数阈值,该阈值区间即为神经网络待优化参数值的区间;(2)确定麻雀种群个数n并初始化ssa,在待优化参数数值区间范围内,随机生成一个麻雀个体位置:x1=[x1,x2,...,x
m
]s503.引入chebyshev混沌映射来改进麻雀搜索算法ssa,当麻雀第一个个体的位置随机生成之后,其余个体的位置根据chebyshev混沌映射公式生成,其公式如下:x
i+1
=cos(icos-1
(x
i
))式中,x
i
表示第i个麻雀个体位置;其余个体位置由chebyshev混沌映射根据第一个个体位置生成,形成麻雀种群:x=[x1,x2,...,x
n
]
t
将麻雀种群中每一个麻雀的个体位置作为神经网络的参数值,每一个麻雀个体位置均为m维向量,m为待优化神经网络参数的个数;s504.将每个个体的位置参数输入到s501搭建的神经网络中作为神经网络的参数,并使用经过vmd分解以及归一化后的任一个电价子序列的训练集进行训练:在训练过程中,经归一化后的电价子序列数据将被转化成三步预测一步的监督学习形式输入到lstm模型中进行预测;所述三步预测一步的监督学习形式是指,将电价子序列中的每一电价值作为一个样本,利用连续三个样本,预测后一个样本,训练过程如下:(1)设将麻雀种群中第i个麻雀的个体位置作为神经网络的参数值时,将第t个样本y
ture
(t)的前三个样本送入神经网络中得到的预测结果记为预测值t=4,5,

,h,其中h
为样本个数,即电价子序列的长度;根据神经网络的输出计算第i个麻雀个体的适应度,公式如下:式中,i表示第i个麻雀个体,h为样本个数;(2)不同位置的麻雀个体对应着不同的适应度,对于每一个麻雀的个体位置,重复步骤(1),在得到麻雀种群的适应度为:fit=[fit
1 fit2ꢀꢀ
fit3...fit
n
]
t
;(3)设置麻雀种群中发现者和加入者比例为1:4,将适应度最小的麻雀p个体定义为发现者,其余n-p个为加入者,同时选取15%的麻雀个体作为侦察者,然后通过发现者、加入者以及预警条件公式更新麻雀位置,同时计算麻雀种群的适应度值:其中发现者的位置更新公式为:式中,t为迭代次数,t
max
为最大迭代次数,α为(0,1]之间均匀分布的随机数,q为服从正太分布的随机数,l为1
×
m的矩阵,其内部每个元素都为1;加入者的位置更新公式为:式中分别为种群中在第t次迭代与t+1次迭代中麻雀个体所处的当前全局最差位置与最优发现者的位置;a是一个元素为1或-1的多维矩阵;侦察者的位置更新公式为:式中,为当前全局最优位置,β为步长控制参数,服从均值为0、方差为1的正态分布;f
i
、f
ω
、f
g
分别为当前个体的适应度值、全局最差和最优适应度值;k∈[-1,1]用来控制麻雀运动的方向;ε是不为0的极小值;(4)重复步骤(1)到(3),通过不断循环更新位置,减少适应度值,并对种群中的个体位置和最优位置进行保存,同时判断每次迭代中麻雀最佳适应度是否优于全局最佳适应度,如果是,则退出循环并返回最优个体解,即确定lstm最优超参数,否则继续循环迭代寻优,直到更新迭代次数达到最大值,最终当前子序列得到ssa-lstm模型,并通过当前子序列中的验证集对ssa-lstm模型进行验证;(5)对于vmd分解得到的每一个子序列,重复执行步骤(1)~(4)得到每一个子序列对应
的ssa-lstm模型。7.根据权利要求1所述的一种基于双层vmd分解和ssa-lstm的电价预测方法,其特征在于:所述步骤s6包括:s601.将ssa迭代寻优得到的输出结果作为lstm神经网络的最优参数;s602.将第一层vmd分解得到的8个imf分量经归一化后输入到各自对应的的ssa-lstm模型中进行预测得到各个分量的预测结果y1={y1,y2,...,y8},其中y为一长时间序列;s603.然后将预测结果反归一化后得到第一层分解时各分量的预测值y1={y1,y2,...,y8},随后,将第二次分解产生的4个imf’分量以及1个imf-res’分量同样经归一化后输入到各自对应的ssa-lstm模型中进行预测得到各个分量的预测结果y2={y1,y2,...,y5},最后经反归一化后得到第二层分解时各分量的预测值y2={y1,y2,...,y5};s604.将第一层分解时各分量的预测值与第二层分解时各分量的预测值进行简单相加重构得到最终的电价预测结果y
final
,公式如下:y
final
=y1+y2=[x1,x2,...,x
t
]式中,x
i
为预测时间跨度内每个时间刻度的电价预测值。

技术总结
本发明公开了一种基于双层VMD分解和SSA-LSTM的电价预测方法,包括以下步骤:S1.将原始电价序列划分为训练集和测试集,并设置第一层VMD分解和第二层VMD分解的参数;S2.对原始电价序列进行第一层VMD分解,得到本征模态函数IMF和残差分量IMF-res;S3.对残差分量IMF-res进行第二层VMD分解;S4.对VMD分解得到的子序列进行归一化处理;S5.搭建LSTM神经网络,在对原始电价序列进行VMD分解得到的子序列基础上,基于麻雀搜索算法SSA优化LSTM超参数;S6.基于优化得到的LSTM超参数,进行电价预测。本发明能够提取电价序列中所隐含的丰富信息,并通过麻雀搜索算法优化长短期及以神经网络的超参数,提高了电价预测的精度。提高了电价预测的精度。提高了电价预测的精度。


技术研发人员:郭芳 邓尚云 黄广山 王瑞阳 严海贤 林梅金 陈佳源 黎浣仪
受保护的技术使用者:佛山科学技术学院
技术研发日:2023.05.05
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐