基于改进麻雀搜索算法和CEEMDAN的模糊时间序列方法

未命名 08-02 阅读:154 评论:0

基于改进麻雀搜索算法和ceemdan的模糊时间序列方法
技术领域
1.本发明属于计算机领域,涉及基于改进麻雀搜索算法和ceemdan的模糊时间序列方法。


背景技术:

2.时间序列模型作为预测模型之一,其研究变得越来越有意义,同时对其性能的要求也逐步提高。但随着我们每天产生的数据来源和类型越来越多样化,采用传统的时间序列预测往往会遇到一些问题:
3.首先,数据本身就是可能就是模糊的。由于数据的偏差和变量之间的相互作用等原因,我们所拥有的样本数据往往是不完整和模糊的。
4.其次,对于由语义值组成的时间序列,传统时间序列模型甚至无法进行预测。
5.最后,部分时间序列的样本数据量十分有限。传统时间序列模型通常要求样本数据满足特定的概率分布和假设校验。
6.而非传统的时间序列方法,例如神经网络模型,它们需要大量的数据进行训练,以便学习数据的特征和模式。因此,在处理小样本数据时,神经网络模型很难得到准确的预测结果。
7.基于模糊理论的模糊时间序列可以有效解决以上问题。模糊时间序列建模一共分为四步:按照历史数据确定论域,实施模糊划分确定模糊区间;确定模糊集,将历史数据进行模糊化,并建立模糊逻辑关系;根据模糊关系建立关系矩阵,确定模糊规则;去模糊化,根据得到的模糊规则求得预测值。除以上四步之外,将时间序列预处理成更适合模糊时间序列预测的序列也是影响模糊时间序列预测精度的重要因素。
8.论域划分一般采用非等间隔划分法,该方法提高了区间的可解释性,提高了预测精度。随着计算机技术飞速发展,基于优化算法论域划分也成了一个新的研究热点。该方法以模型预测误差为优化目标函数,采用不同的优化算法寻找最优模糊区间。kumar和chen采用粒子群算法对论域进行划分,而xian采用了狼群算法和人工鱼群算法,zeng采用了人工蜂群算法。此外,cheng采用萤火虫算法划分论域,而gao采用了遗传算法。以及大量学者采用了一系列优化算法来获得最佳论域划分或其他问题最优解。优化算法在寻找最优解方面具有令人满意的性能。然而,具有较快收敛速度和较高收敛精度的优化算法却是非常稀有的。xue提出的麻雀搜索算法具有较好的收敛速度和较高的收敛精度,但由于麻雀算法其种群更新公式的局限性,麻雀搜索算法容易陷入局部最优解。
9.模糊时间序列的预处理和传统时间序列具有相同的意义,即将时间序列处理成适合模型预测的序列。在时间序列预处理中,捕捉趋势和减少时间序列中的扰动的能力是影响模糊时间序列模型预测准确性的另一个重要因素。ferrei ra采用经验模态分解去除时间序列中随机和非确定性的影响。但经验模态分解本身就存在模态混叠等缺点,因此,该方法还有待提升。yang提出了使用冗余小波变换来预处理时间序列,以此处理大规模非平稳时间序列并得到了很好的结果。此方法虽考虑了时间序列的趋势,但并没有特别关注趋势
项。如何有效地处理趋势项,减少时间序列中的干扰仍值得进一步研究。
10.因此,采用合适的时间序列预处理方法和改进麻雀搜索算法用以划分论域来提高模糊时间序列的预测精度十分重要。


技术实现要素:

11.有鉴于此,本发明的目的在于提供一种基于改进麻雀搜索算法和ceemdan的模糊时间序列方法。首先,引入了混沌映射对麻雀种群的初始化进行了改进。混沌映射不仅能够保证麻雀种群的随机性,也可以保证麻雀种群的遍历性。其次,为了保证麻雀算法迭代前期的麻雀的探索空间和后期麻雀的收敛速度和精度,本文采用了自适应von mi ses分布和贪心策略来更新麻雀种群中生产者的位置。最后,为了提高ssa跳出局部最优解的能力,采用无序飞行的方式来更新意识到危险的麻雀的位置,也使ssa位置更新更加符合实际情况。
12.为了使时间序列更适合模糊时间序列处理,采用ceemdan对时间序列进行分解后,采用ljung-box检测、观察分解后得到每个本征模态函数(imf)的瞬时变化或者imf的数值是否小到可以忽略判断是否存在干扰项。
13.为达到上述目的,本发明提供如下技术方案:
14.基于改进麻雀搜索算法和ceemdan的模糊时间序列方法,该方法包括以下步骤:
15.改进麻雀搜索算法的寻优能力并将其用在模糊时间序列论域的划分和使用合适的时间序列预测预处理方法;
16.所述改进麻雀搜索算法的寻优能力并将其用在模糊时间序列论域的划分具体为:
17.采用piecewise混沌映射初始化麻雀种群的位置;采用piecewise混沌映射更新初始位置的公式如下:
[0018][0019]
式(1)中p通常为0.5,x
t
为麻雀的原始位置,x
t+1
为混沌映射后麻雀的初始位置;
[0020]
采用自适应von mises扰动生产者的位置;具体位置更新公式如下;
[0021][0022][0023]
式(2)中,γ是随迭代次数递减的自适应权重;rand(0,1)是从0到1的随机数;vonmises(k)表示强度为k的von mises分布;随着迭代次数的增加,k自适应地变化;p∈(0,
1)是一个常数;当rand(0,1)大于p时,生产者受到自适应权重von mises分布的干扰;关于k和γ的迭代公式如下;
[0024][0025][0026]
式(4)和(5)中t是迭代次数,iter
max
是最大迭代次数;ω
min
为最小权重,ω
max
是最大权重;θ是一个大于0的常数,称为分布调整因子;
[0027]
采用无序飞行更新意识到危险的麻雀的位置更新公式;在ssa中,具体位置更新公式如下;
[0028][0029]
式(6)中rand(-1,1)是从-1到1的随机数;ξ∈(0,1)表示随机飞行的强度,ub表示解空间的上界;lb表示解空间的下界;
[0030]
使用合适的时间序列预测预处理方法包括:
[0031]
采用hamed改进的mann-kendall方法检测时间序列的趋势性,根据趋势性决定是否分解该时间序列;
[0032]
采用完全自适应噪声集合经验模态分解ceemdan方法对检测出有趋势的时间序列进行分解;
[0033]
对于无趋势的时间序列,采用基于issa的扩展的chen的模糊时间序列模型icp直接进行预测;对于具有趋势的时间序列,使用ceemdan将其分解为干扰时间序列、趋势时间序列和非趋势时间序列三类时间序列;
[0034]
去除干扰时间序列,采用最小二乘法对趋势时间序列进行预测,并用icp对非趋势时间序列进行预测;
[0035]
预测结果直接由icp获得或者由多个时间序列预测结果重构获得;
[0036]
nftsm的执行步骤具体为:
[0037]
第1步,检验时间序列的趋势;用hamed改进的mann-kendall方法检验时间序列是否具有趋势性;
[0038]
第2步,判断时间序列是否需要分解;利用icp对无趋势的时间序列进行预测,获得最终的预测结果;利用ceemdan将具有趋势的时间序列分解为imfi(i=1,

,m)和res;
[0039]
第3步,减少时间序列中的干扰;判断imfi(i=1,

,m)/res是否满足以下三个假设;其变化率高;它的值小到忽略;或者是白噪声;ljung-box测试用于检查imfi(i=1,

,m)/res是否为白噪声;如果imfi(i=1,

,m)/res满足这些假设之一,则将其作为干扰项移除;
[0040]
第4步,对imfi(i=1,

,m)/res进行分类;使用imann-kendall方法将时间序列分为具有明显趋势和不具有明显趋势两类;
[0041]
第5步,预测imfi(i=1,

,m)/res;对于imfi(i=1,

,m)/res,采用最小二乘法进行拟合;根据拟合系数预测后续趋势;对于另一类,使用icp进行预测;
[0042]
第6步,获取最终预测;最终结果要么直接从第2步获得,要么通过重构第5步的对imfi(i=1,

,m)/res的预测数据获得。
[0043]
本发明的有益效果在于:
[0044]
1.首先,改进了麻雀搜索算法,提高其收敛速度和收敛精度。
[0045]
2.采用ceemdan对时间序列进行了预处理,使处理后时间序列更适合预测。
[0046]
提出了基于issa和ceemdan的模糊时间序列模型(nftsm)对有趋势和无趋势的时间序列都是兼容的,nftsm能够有效降低时间序列中的干扰项,有效提高了模糊时间时间序列的预测精度。
[0047]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0048]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0049]
图1为改进的麻雀算法划分模糊时间序列的论域;
[0050]
图2为nftsm执行流程图;
[0051]
图3为入学时间序列分解的结果;(a)为imfs和res;(b)为瞬时频率;
[0052]
图4为nftsm的预测过程和最终预测结果;(a)为imf1的预测结果;(b)为imf2的预测结果;(c)为imf3的预测结果;(d)为入学人数的预测结果。
具体实施方式
[0053]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0054]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0055]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述
位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0056]
请参阅图1~图4。
[0057][0058][0059][0060]
第一个目的是改进麻雀搜索算法的寻优能力并将其用在模糊时间序列论域的划分。实现本发明第一个目的的技术方案是:
[0061]
1.采用piecewise混沌映射初始化麻雀种群的位置。由于混沌映射具有遍历性和随机性,因此在群体智能优化算法初始化种群初始位置的方法中,其具有独特的优势。采用piecewise混沌映射更新初始位置的公式如下:
[0062][0063]
式(1)中p通常为0.5,x
t
为麻雀的原始位置,x
t+1
为混沌映射后麻雀的初始位置。
[0064]
2.采用自适应vonmises扰动生产者的位置。如果生产者没有意识到危险,在数学公式上,他们会慢慢接近[0]d。[0]d指的是以d为维度的0的数组,例如,[0]3指的维度为3的数组[0,0,0]。在现实生活中,这是不切实际的。因为生产者在走向[0]d时可能受到的其他因素(如寻找食物、遇到天敌等)的影响。麻雀可能会加速向[0]d飞去,也有可能飞向与[0]d相反的方向。因此,采用自适应权重von mises分布来干扰生产者的位置,以此模拟了生产者在走向原产地时可能受到的其他因素的影响的行为。具体位置更新公式如下。
[0065][0066][0067]
式(2)中,γ是随迭代次数递减的自适应权重。rand(0,1)是从0到1的随机数。vonmises(k)表示强度为k的vonmises分布。随着迭代次数的增加,k自适应地变化。p∈(0,1)是一个常数。当rand(0,1)大于p时,生产者受到自适应权重von mises分布的干扰。关于k和γ的迭代公式如下。
[0068]
[0069][0070]
式(4)和(5)中t是迭代次数,iter
mac
是最大迭代次数。ω
min
为最小权重,ω
max
是最大权重。θ是一个大于0的常数,称为分布调整因子。
[0071]
3.采用无序飞行更新意识到危险的麻雀的位置更新公式。在ssa中,意识到危险的麻雀,会飞到麻雀种群中已知的适应度最好的位置,这与现实生活中的现象并不一致。这种位置更新策略虽然加快了算法的收敛速度,但可能导致麻雀陷入局部最优位置。在现实生活中,意识到危险的麻雀在现实生活中会以无序的方式飞行,这正是本节改进ssa的地方。基于无序飞行的不仅符合生活中的实际现象,也可以有效地防止麻雀种群陷入最优的局部位置。具体位置更新公式如下。
[0072][0073]
式(6)中rand(-1,1)是从-1到1的随机数;ξ∈(0,1)表示随机飞行的强度,ub表示解空间的上界;lb表示解空间的下界。
[0074]
改进后的麻雀搜索算法在模糊时间序列中的应用如图1所示。
[0075]
第二个目的是使用合适的时间序列预测预处理方法。实现本发明第二个目的的技术方案是:
[0076]
1.采用hamed改进的mann-kendall方法(imann-kendall)检测时间序列的趋势性,根据趋势性决定是否分解该时间序列。
[0077]
2.采用完全自适应噪声集合经验模态分解(ceemdan)方法对检测出有趋势的时间序列进行分解。
[0078]
3.对于无趋势的时间序列,采用基于issa的扩展的chen的模糊时间序列模型(icp)直接进行预测。对于具有趋势的时间序列,使用ceemdan将其分解为干扰时间序列、趋势时间序列和非趋势时间序列三类时间序列。
[0079]
4.去除干扰时间序列,采用最小二乘法对趋势时间序列进行预测,并用icp对非趋势时间序列进行预测。
[0080]
预测结果直接由icp获得或者由多个时间序列预测结果重构获得。
[0081]
nftsm的执行步骤如图1所示。图中s1和s2是两个提前设定的常数,它们的值越小,检测到的趋势时间序列的趋势越明显。
[0082]
第1步,检验时间序列的趋势。数据中的正自相关影响了mann-kendall方法,因此用hamed改进的mann-kendall方法(imann-kendall方法)检验时间序列是否具有趋势性。
[0083]
第2步,判断时间序列是否需要分解。利用icp对无趋势的时间序列进行预测,获得最终的预测结果。利用ceemdan将具有趋势的时间序列分解为imfi(i=1,

,m)和res。
[0084]
第3步,减少时间序列中的干扰。通常,res作为干扰项被丢弃。判断imfi(i=1,

,m)/res是否满足以下三个假设。其变化率高;它的值小到可以忽略;或者是白噪声。ljung-box测试用于检查imfi(i=1,

,m)/res是否为白噪声。如果imfi(i=1,

,m)/res满足这些
假设之一,则将其作为干扰项移除。
[0085]
第4步,对imfi(i=1,

,m)/res进行分类。使用imann-kendall方法将时间序列分为具有明显趋势和不具有明显趋势两类。
[0086]
第5步,预测imfi(i=1,

,m)/res。对于趋势明显的imfi(i=1,

,m)/res,采用最小二乘法进行拟合。根据拟合系数预测后续趋势。对于剩下的另一类,我们使用icp进行预测。
[0087]
第6步,获取最终预测。最终结果要么直接从第2步获得,要么通过重构第5步的对imfi(i=1,

,m)/res的预测数据获得。
[0088]
实施例:
[0089]
升学与入学与每个人都息息相关。以阿拉巴马州的每年的入学人数为数据集进行相关预测。
[0090]
第1步。设置s1=0.05和s2=0.01,并用imann-kendall方法检测阿拉巴马州入学人数的趋势。结果表明,阿拉巴马大学的入学率有上升趋势。
[0091]
第2步。用ceedmdan分解阿拉巴马州的入学人数时间序列。结果显示在图3。
[0092]
第3步。减少时间序列中的干扰。ljung-box测试表明res是白噪声,并且其值小到可以忽略。因此,将res作为扰动被丢弃。
[0093]
第4步。对imfs/res进行分类。观察图3以及使用imann-kendall方法进行检测,imf3被分为趋势明显的一类。imf1和imf2被分为另一个类别。
[0094]
第5步。预测imfi(i=1,2,3)。用icp预测imf1和imf2,用最小二乘法预测imf3。预测结果在图4中有详细展示。
[0095]
第6步。把imf1、imf2和imf3的所有预测加起来。图4(d)显示了重建后的最终预测。nftsm预测的详细值如表1所示。
[0096]
表1 nftsm和以及其他模糊时间序列模型的预测结果
[0097][0098]
将cheng提出的趋势权重模型、i smai l提出的改进权重模型、sadaei提出的指数加权模型和si lva提出的区间预测模型与nftsm进行了比较。所有模型的模糊区间数为10个,隶属函数采用三角隶属函数,所有模型的阶数均为一阶。通过预测结果可知,在chen的模型的基础上,nftsm的预测精度得到了巨大提升,这为我们做决策提供了依据。
[0099]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

技术特征:
1.基于改进麻雀搜索算法和ceemdan的模糊时间序列方法,其特征在于:该方法包括以下步骤:改进麻雀搜索算法的寻优能力并将其用在模糊时间序列论域的划分和使用合适的时间序列预测预处理方法;所述改进麻雀搜索算法的寻优能力并将其用在模糊时间序列论域的划分具体为:采用piecewise混沌映射初始化麻雀种群的位置;采用piecewise混沌映射更新初始位置的公式如下:式(1)中p通常为0.5,x
t
为麻雀的原始位置,x
t+1
为混沌映射后麻雀的初始位置;采用自适应von mises扰动生产者的位置;具体位置更新公式如下;具体位置更新公式如下;式(2)中,γ是随迭代次数递减的自适应权重;rand(0,1)是从0到1的随机数;vonmises(k)表示强度为k的von mises分布;随着迭代次数的增加,k自适应地变化;p∈(0,1)是一个常数;当rand(0,1)大于p时,生产者受到自适应权重von mises分布的干扰;关于k和γ的迭代公式如下;代公式如下;式(4)和(5)中t是迭代次数,iter
max
是最大迭代次数;ω
min
为最小权重,ω
max
是最大权重;θ是一个大于0的常数,称为分布调整因子;采用无序飞行更新意识到危险的麻雀的位置更新公式;在ssa中,具体位置更新公式如下;
式(6)中rand(-1,1)是从-1到1的随机数;ξ∈(0,1)表示随机飞行的强度,ub表示解空间的上界;lb表示解空间的下界;使用合适的时间序列预测预处理方法包括:采用hamed改进的mann-kendall方法检测时间序列的趋势性,根据趋势性决定是否分解该时间序列;采用完全自适应噪声集合经验模态分解ceemdan方法对检测出有趋势的时间序列进行分解;对于无趋势的时间序列,采用基于issa的扩展的chen的模糊时间序列模型icp直接进行预测;对于具有趋势的时间序列,使用ceemdan将其分解为干扰时间序列、趋势时间序列和非趋势时间序列三类时间序列;去除干扰时间序列,采用最小二乘法对趋势时间序列进行预测,并用icp对非趋势时间序列进行预测;预测结果直接由icp获得或者由多个时间序列预测结果重构获得;nftsm的执行步骤具体为:第1步,检验时间序列的趋势;用hamed改进的mann-kendall方法检验时间序列是否具有趋势性;第2步,判断时间序列是否需要分解;利用icp对无趋势的时间序列进行预测,获得最终的预测结果;利用ceemdan将具有趋势的时间序列分解为imf
i
(i=1,

,m)和res;第3步,减少时间序列中的干扰;判断imf
i
(i=1,

,m)/res是否满足以下三个假设;其变化率高;它的值小到忽略;或者是白噪声;ljung-box测试用于检查imf
i
(i=1,

,m)/res是否为白噪声;如果imf
i
(i=1,

,m)/res满足这些假设之一,则将其作为干扰项移除;第4步,对imf
i
(i=1,

,m)/res进行分类;使用imann-kendall方法将时间序列分为具有明显趋势和不具有明显趋势两类;第5步,预测imf
i
(i=1,

,m)/res;对于imf
i
(i=1,

,m)/res,采用最小二乘法进行拟合;根据拟合系数预测后续趋势;对于另一类,使用icp进行预测;第6步,获取最终预测;最终结果要么直接从第2步获得,要么通过重构第5步的对imf
i
(i=1,

,m)/res的预测数据获得。

技术总结
本发明涉及一种基于改进麻雀搜索算法和CEEMDAN的模糊时间序列方法,属于计算机领域。首先,引入了混沌映射对麻雀种群的初始化进行了改进。混沌映射不仅能够保证麻雀种群的随机性,也可以保证麻雀种群的遍历性。其次,为了保证麻雀算法迭代前期的麻雀的探索空间和后期麻雀的收敛速度和精度,本文采用了自适应vonMises分布和贪心策略来更新麻雀种群中生产者的位置。最后,为了提高SSA跳出局部最优解的能力,采用无序飞行的方式来更新意识到危险的麻雀的位置,也使SSA位置更新更加符合实际情况。情况。情况。


技术研发人员:雷华良 鲜思东 李廷秋
受保护的技术使用者:重庆邮电大学
技术研发日:2023.03.22
技术公布日:2023/7/31
版权声明

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

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

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

相关推荐