一种经验模态分解和分布式gru神经网络及价格预测方法

文档序号:9074 发布日期:2021-09-17 浏览:29次 英文

一种经验模态分解和分布式GRU神经网络及价格预测方法

技术领域

本发明涉及价格预测

技术领域

,具体为一种经验模态分解和分布式GRU神经 网络及价格预测方法。

背景技术

畜产品价格预测方法主要分为三类,分别为传统预测方法、智能预测方法和 混合预测方法。通过与目近年来主流畜产品价格预测方法(如ARIMA、RBFNN、 ARIMA+SVM、ARIMA-GM-RBF和Hodrick–Prescott)比较,发现当前畜产品价格 预测方法主要存在预测精度不高、预测趋势不准和预测速度不快三个问题:

(1)影响畜产品价格因素过多,预测方法解释能力差;由于影响畜产品价 格的因素的复杂性,有时很难考虑所有的影响因素,这限制了畜产品价格预测方 法的预测精度;目前主流畜产品价格预测方法仅分析少量影响畜产品价格因素, 忽略了各个具体的非时间因素对畜产品价格的影响;因此,利用该方法进行畜产 品价格预测时,只能根据历史数据的变化规律建立预测模型,因此模型的解释能 力较差。

(2)传统预测方法一般只适合处理线性问题:畜产品价格序列一般为非线 性序列;因此,使用人工智能方法处理价格序列中非线性模式的智能预测方法应 运而生;神经网络价格预测方法具有更好的非线性拟合能力,因此可广泛应用于 畜产品价格短期预测领域,但针对长期价格预测,预测精度难以保证。

(3)仅靠单一模型不可能同时处理畜产品价格的线性和非线性规律,因此 需引入混合模型预测畜产品价格。

(4)目前的预测方法难以处理大量高维数据:在混合模型预测领域,一个 关键的问题是如何处理大量多维数据;通常大多研究集中在如何为单个预测模型 选择最佳权重,进而为混合模型选择最佳权重;虽然模型权重选择十分重要,但 对模型执行速度及收敛速度的改善非常有限。

(5)信号分解策略被广泛应用在金融领域,并取得了很好的效果,但并没 有在畜产品价格预测中得到应用。

(6)目前主流畜产品价格预测方法仅以误差作为评价指标,但在畜产品价 格预测领域,能够准确预测价格趋势变化是十分重要的。

发明内容

针对现有技术的不足,本发明提供了一种经验模态分解和分布式GRU神经网 络及价格预测方法,解决了上述背景技术中提出现有的问题。

为实现以上目的,本发明通过以下技术方案予以实现:一种经验模态分解和 分布式GRU神经网络及价格预测方法,包括以下步骤:

S1、采集某省畜产品价格时间序列数据及可能影响某省畜产品价格的47个 相关变量指标数据;

S2、利用主成分分析确定使得累计贡献率大于等于85%的主成分;

S3、再利用经验模态分解将原始某省畜产品价格时间序列分解为若干个本征 模态函数和残差项;

S4、将分解后得到的全部分量分别用基于注意力机制的GRU神经网络进行训 练;

S5、为了加快预测速度及准确性,使用基于经验模态分解和分布式GRU神经 网络方法进行预测;

S6、把各个分量的预测结果进行组合得到某省畜产品价格的预测值。

可选的,所述某省畜产品价格时间序列数据及可能影响某省畜产品价格的47 个相关变量指标数据均为等间隔的数据。

可选的,所述步骤S2中的主成分分析,具体步骤如下:

S201、设某省畜产品价格变化的影响因子的集合为:y(q,e),

e=1,2,3...j,其中i为样本个数,j为影响因子个数;

对原数据进行标准化处理,标准化公式为:

其中,y(q,e)表示第q个样本的第e个数据,y(q,e)表示标准化处 理后的数据,ymax(e)表示第e个标准的最大值;

S202、计算协方差矩阵S,公式如下:

其中,

S203、根据特征方程(ωl-S)U=0求解S的特征值ω和与之对应的 U;

S204、先确定主成分,根据主成分特征值大小初步筛选,一般取特征值大于 1的主成分,并将选出的主成分的贡献率进行累加,确定使得累计贡献率大于等 于85%的主成分。

可选的,所述步骤S3中的经验模态分解,具体步骤如下:

S301、在原信号s(t)中添加正负成对的辅助白噪声得到新信号为

s(t)+(-1)qa0ni(t),

对其进行N次EMD分解得到N个第一阶分量

其中,ni(t)为第i次添加的白噪声序列,a0为噪声增幅值,q=1或 2保证正负成对加噪,为第一个剩余残量;

S302、通过第N个取均值,得到最终第一阶分量

S303、求取第一残差

S304、将EMD分解到的正负成对白噪声IMF信号加入r1(t)构成信号

r1(t)+(-1)qa1E(nl(t)),

再次对其进行N次分解,可得到第二阶分量

S305、通过对N个取均值,得到最终第二阶分量

S306、反复进行上述步骤,直到获得N个k+1阶分量同理得 到最终第k+1阶分量

S307、再次求得剩余分量:

S308、当剩余分量rk(t)极值点数不足2个时,得到K个IMF分量,整个 CEEMDAN分解过程得到最终剩余残差R(t),即原信号可表示为:

可选的,所述分解后得到的全部分量包括除IMF1分量的其它本征模态函数 和残差项。

可选的,所述步骤S4中,结合注意力机制的GRU神经网络的结构如下:

S401、定义输入的数据

X=(x1,x2,x3...xN)=(x1,x2,x3...xL)T∈RL*N

其中输入数据的特征数量定义为N,时间长度定义为L,则在原始数据中第k 个时间长度为L的原始序列表示为

其中’k=(1,2,3...N);

S402、在输入数据中表示在某一时刻t输入的长度为L的原始序列表示为

其中t=(1,2,3...L);

S403、分别定义目标序列和输入序列的数据为

y=(y1,y2,y3...yL)T

x=(x1,x2,x3...xL)T

则结合注意力机制的GRU神经网络目的是通过得到指定时间长度L,根据输 入序列和目标序列训练得到从输入序列到目标序列的非线性映射;

S404、根据GRU神经网络模型的思想,定义在某一时刻t,输入序列xt到GRU 神经网络模型隐藏层ht的映射为:

ht=f1(xt,ht-1);

S405、通过计算t时刻GRU神经网络隐藏层的值ht与第k个输入的原 始数据

可得到注意力权重用来表示原始输入数据xt的第k个特征值对目标的影响程度,公式如下:

其中,We和Ue均为网络训练得到的参数,值 越大,表示该特征参数对目标影响越大;

S406、通过训练得到注意力权重后,对原始输入序列进行加权计算,得到新 的输入序列

利用新的序列作为输入参数训练GRU神经网络模型,并对目标值进行预测。

可选的,所述步骤S5中,基于经验模态分解和分布式GRU神经网络方法, 具体步骤如下:

S501、通过CEEMDAN算法,将在Maste1节点划分的数据s(t)分割为多个 IMF序列和一个残差序列r(t);

S502、使用结合注意力机制的GRU神经网络模型将分解后得到的各个序列作 为GRU神经网络模型的输入数据进行训练预测,得到各IMF的预测结果,测试集 的预测结果分别表示为和R(t);

S503、根据公式对每个IMF和残差的预测结果进行集成,得到当前数据块的 预测价格序列

其中,L是数据块中数据集的长度, 是每个IMF的预测序列。

本发明提供了一种经验模态分解和分布式GRU神经网络及价格预测方法,具 备以下有益效果:

1、本发明的首要目的在于解决现有技术的不足,提出了一种新的基于信号 分解及注意力机制的分布式神经网络预测组合框架;首次将信号分解策略与畜产 品价格预测领域相结合,在预测精度、趋势预测、模型收敛以及执行速度四方面 均优于当前主流畜产品价格预测方法,能够适用于畜产品价格波动规律的预测。

2、本发明首先经主成分分析选取前5个主成分进行后续实验。其次,对相 关数据进行CEEMDAN算法分解;最后将分解后的数据使用分布式计算方法并利用 结合注意力机制的分布式GRU神经网络进行价格预测;通过均方根误差(RMSE)、 平均绝对误差(MAE)、相关系数(R2)、趋势预测统计量(Dstat)、正确的上升 趋势(CP)、正确的下降趋势(CD)、Diebold–Mariano检验以及模型执行时间多 个维度对模型进行评价,结果显示本发明在预测精度、趋势预测、模型收敛速度 以及执行速度上均由于目前主流畜产品价格预测模型;本发明可用于河北省畜产 品价格预测,在一定程度上帮助相关企业提高应对价格风险的能力,为河北省畜 产品产业的持续健康发展做出一定的贡献。

附图说明

图1为本发明的河北省猪肉、牛肉和羊肉价格示意图;

图2为本发明河北省羊肉价格和猪肉价格CEEMDAN分解的结果示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全 部的实施例。

请参阅图1至图2,本发明提供一种技术方案:一种经验模态分解和分布式 GRU神经网络及价格预测方法,包括以下步骤:

S1、采集河北省畜产品价格时间序列数据及可能影响河北省畜产品价格的47 个相关变量指标数据;

S2、利用主成分分析确定使得累计贡献率大于等于85%的主成分;

S3、再利用经验模态分解将原始河北省畜产品价格时间序列分解为若干个本 征模态函数和残差项;

S4、将分解后得到的全部分量分别用基于注意力机制的GRU神经网络进行训 练;

S5、为了加快预测速度及准确性,使用基于经验模态分解和分布式GRU神经 网络方法进行预测;

S6、把各个分量的预测结果进行组合得到河北省畜产品价格的预测值。

本发明中,河北省畜产品价格时间序列数据及可能影响河北省畜产品价格的 47个相关变量指标数据均为等间隔的数据。

本发明中,步骤S2中的主成分分析,具体步骤如下:

S201、设河北省畜产品价格变化的影响因子的集合为:y(q,e),

e=1,2,3...j,其中i为样本个数,j为影响因子个数;

对原数据进行标准化处理,标准化公式为:

其中,y(q,e)表示第q个样本的第e个数据,y(q,e)表示标准化处 理后的数据,ymax(e)表示第e个标准的最大值;

S202、计算协方差矩阵S,公式如下:

其中,

S203、根据特征方程(ωl-S)U=0求解S的特征值ω和与之对应的U;

S204、先确定主成分,根据主成分特征值大小初步筛选,一般取特征值大于 1的主成分,并将选出的主成分的贡献率进行累加,确定使得累计贡献率大于等 于85%的主成分。

本发明中,步骤S3中的经验模态分解,具体步骤如下:

S301、在原信号s(t)中添加正负成对的辅助白噪声得到新信号为

s(t)+(-1)qa0ni(t),

对其进行N次EMD分解得到N个第一阶分量

其中,ni(t)为第i次添加的白噪声序列,a0为噪声增幅值,q=1或 2保证正负成对加噪,为第一个剩余残量;

S302、通过第N个取均值,得到最终第一阶分量

S303、求取第一残差

S304、将EMD分解到的正负成对白噪声IMF信号加入r1(t)构成信号

r1(t)+(-1)qa1E(ni(t)),

再次对其进行N次分解,可得到第二阶分量

S305、通过对N个取均值,得到最终第二阶分量

S306、反复进行上述步骤,直到获得N个k+1阶分量同理得 到最终第k+1阶分量

S307、再次求得剩余分量:

S308、当剩余分量rk(t)极值点数不足2个时,得到K个IMF分量,整个 CEEMDAN分解过程得到最终剩余残差R(t),即原信号可表示为:

本发明中,分解后得到的全部分量包括除IMF1分量的其它本征模态函数和 残差项。

本发明中,步骤S4中,结合注意力机制的GRU神经网络的结构如下:

S401、定义输入的数据

X=(x1,x2,x3...xN)=(x1,x2,x3...xL)T∈RL*N

其中输入数据的特征数量定义为N,时间长度定义为L,则在原始数据中第k 个时间长度为L的原始序列表示为

其中,k=(1,2,3...N);

S402、在输入数据中表示在某一时刻t输入的长度为L的原始序列表示为

其中t=(1,2,3...L);

S403、分别定义目标序列和输入序列的数据为

y=(y1,y2,y3...yL)T

x=(x1,x2,x3...xL)T

则结合注意力机制的GRU神经网络目的是通过得到指定时间长度L,根据输 入序列和目标序列训练得到从输入序列到目标序列的非线性映射;

S404、根据GRU神经网络模型的思想,定义在某一时刻t,输入序列xt到GRU 神经网络模型隐藏层ht的映射为:

ht=f1(xt,ht-1);

S405、通过计算t时刻GRU神经网络隐藏层的值ht与第k个输入的原 始数据

可得到注意力权重用来表示原始输入数据xt的第k个特征值对目标的影响程度,公式如下:

其中,We和Ue均为网络训练得到的参数,直 越大,表示该特征参数对目标影响越大;

S406、通过训练得到注意力权重后,对原始输入序列进行加权计算,得到新 的输入序列

利用新的序列作为输入参数训练GRU神经网络模型,并对目标值进行预测。

本发明中,步骤S5中,基于经验模态分解和分布式GRU神经网络方法,具 体步骤如下:

S501、通过CEEMDAN算法,将在Maste1节点划分的数据s(t)分割为多个 IMF序列和一个残差序列r(t);

S502、使用结合注意力机制的GRU神经网络模型将分解后得到的各个序列作 为GRU神经网络模型的输入数据进行训练预测,得到各IMF的预测结果,测试集 的预测结果分别表示为和R(t);

S503、根据公式对每个IMF和残差的预测结果进行集成,得到当前数据块的 预测价格序列

其中,L是数据块中数据集的长度, 是每个IMF的预测序列。

本实施例中,所述注意力机制已成为神经网络领域的一个重要概念,并在自 然语言处理、统计学习、语音等领域有着大量的应用;注意力机制可以使得神经 网络具备专注于其输入子集的能力,及选择特定的输入;在计算能力有限情况下, 注意力机制是解决信息超载问题的主要手段,其目的是可以将计算资源分配给更 重要的任务。

本实施例中,所述GRU神经网络是目前LSTM神经网络最成功的变体之一; 相较于传统的机器学习方法,GRU神经网络具有更高效的学习能力以及非线性拟 合能力;在LSTM基础上GRU神经网络做了两方面改动:第一,将遗忘门和输入 门合并为一个门,即为更新门zr,此外另一门称为重置门rt;第二,将 LSTM的单元状态ct与输出合并为一个状态ht,不引入额外的内部状态, 直接在当前状态ht和历史状态ht-1之间引入线性依赖关系。

本实施例实验数据及可能影响河北省畜产品价格的47个相关变量指标数据 来自河北12316综合信息网和生意社,即可为大宗商品数据商;考虑样本的可获 得性和连续性,最终选取2011年至2020年河北省猪肉、牛肉和羊肉价格作为实 验数据,该数据为等间隔的价格时间序列数据;从图1中可以看出该序列随时间 呈现出不稳定、不规则波动。

本实施例中所述主成分分析结果如表1,前5个主成分累计方差贡献率达到 了95.4745%,可以概括原始数据的大部分信息,能够反映较大部分的方差变化情 况,因子分析结果较为理想,因此可以用前5个主成分进行后续分析;将处理后 的数据按顺序分成训练集和测试集,实验研究中利用前80%的数据作为训练数据 集,剩余20%的数据作为测试数据集进行预测模型的应用验证;

表1主成分分析结果

评价标准:为了评估组合预测模型的预测效果,通过均方根误差(RMSE)、 平均绝对误差(MAE)、相关系数(R2)、趋势预测统计量(Dstat)、正确的上升趋 势(CP)、正确的下降趋势(CD)、Diebold–Mariano检验以及模型执行时间多个 维度对模型进行评价,各预测指标的计算公式如下:

其中,代表第i个预测值,m表示原始序列的长度,m1是处于上 升趋势数据点的数量,m2是处于下降趋势数据点的数量。

羊肉和猪肉的价格走势图中可以看出其序列具有不稳定、非线性的特征,因 此可利用经验模态分解方法对价格序列进行分解,利用MatlabR2019b分别对河 北省猪肉和羊肉价格进行分解,获取6个本征模态函数分量和1个线性趋势余量, 分解结果如图2所示,IMF1的频率变化与原始序列的局部频率近似相似,从IMF2 中捕捉到畜产品价格的季节性变化趋势,残差围绕长期平均值缓慢变化,反映了 原始序列的总体趋势;各个IMF分量反映了畜产品市场不同频率的波动特征,其 中高频IMF分量波动性较大,代表着短期内畜产品价格的波动特征;中频IMF分 量则表征中长期市场畜产品价格的波动特征,主要受供给、市场因素的影响;低 频(包含残差序列ECG)分量波动性较小,表征市场畜产品价格的长期波动特征, 也表现出未来畜产品价格的发展趋势。

用基于注意力机制的分布式GRU神经网络对分量进行预测,为了实现较高的 预测精度,在预测过程中首先对价格数据进行归一化处理;实验研究中利用前80% 的数据作为训练数据集,剩余20%的数据作为测试数据集进行预测模型的应用验 证;实验使用的PC机器配置为:lntelCorei5-6500CPU3.20GHz、内存16GB、操 作系统为Ubuntu16.04;分布式实验平台由1个控制节点和4个计算节点组成, 各节点之间以千兆以太网互联,Hadoop采用2.6版本,Spark采用1.3版本;使 用Pytorch1.4.0框架搭建预测模型并完成计算过程;在预测模型参数设置方面, 通过进行多次实验最终确定实验模型的神经元个数为128,批处理大小为128, 迭代次数为400,损失函数设置为平均绝对误差,优化器采用自适应矩阵估计算 法,时间步长T设置为5。

为了定量检验所提出的方法,分别采用ARIMA、RBFNN、ARIMA+SVM、 ARIMA-GM-RBF和Hodrick–Prescott方法对河北省猪肉、牛肉和羊肉的价格进行 建模预测;表2给出了六种预测模型的统计分析,可以看出,混合模型的预测性 能一般优于单一预测模型;其次,使用混合模型在短期预测性能要略高于深度学 习的神经网络模型,但从长期预测效果来看,神经网络模型的预测性能要高于混 合模型的预测性能;本发明提出的预测模型对牛肉、羊肉和猪肉的均方根误差分 别为0.726、0.535和0.738,平均绝对误差分别为0.607、0.412和0.621,预 测性能均高于目前主流预测算法;R2拟合度分别达到了0.954、0.995和0.991,表明本发明文提出的预测模型效果更好,收敛速度更快,能够更好地反映出河北 省畜产品价格的变化规律;从预测价格变化趋势的性能来看,本发明提出的方法 对牛肉、羊肉和猪肉的Dstat值分别为87.097、90.909和90.566,CP值分别为 68.805、41.818和42.875,CD值分别为63.326、59.091和47.619。均高于目 前主流预测算法;表明本发明文提出的预测模型对牛肉、羊肉和猪肉价格趋势预 测方面具有较好的效果。

表2预测结果的统计学分析

表3为本发明提出的预测模型和其他预测模型的Diebold–Mariano检验结 果,可以看出,在混合模型与单一模型的比较方面,在5%显著性水平下拒绝原假 设,即存在显著性差异,混合模型的预测精度优于对比的单一模型;与其他5种 模型相比,由于本发明提出的模型采用CEEMDAN分解方法降低了原始畜产品价格 序列预测的难度,因此具有更好的性能。

表3Diebold–Mariano检验结果

为了对比各模型的仿真预测时间,分别使用六种模型对河北省牛肉、羊肉和 猪肉价格进行6次预测,并计算平均值得到最终模型执行时间;结果如表4所示。 其中,常用时间序列分析方法ARIMA-GM-RBF模型在预测耗时最长,在羊肉价格 预测中耗时17.52s。ARIMA+SVM和RBFNN平均耗时在12至13秒之间。ARIMA和 Hodrick–Prescott平均耗时在10至11秒之间,本发明提出的预测模型,由于 使用分布式计算方法,将大量数据分散到不同节点处理,极大提高了计算效率, 平均耗时在6至7秒之间;综上可知,本发明提出的预测模型相较于其它模型运 行速度更快并且预测精度更高。

表4 不同预测方法的执行时间

综上,本发明提出了一个模型预测模型,用于河北省畜产品价格预测,采用 主成分分析选取主成分进行后续实验,并对相关数据进行CEEMDAN算法分解。最 后将分解后的数据使用分布式计算方法并利用结合注意力机制的GRU神经网络进 行价格预测;本发明在统计分析(RMSE、MAE、R2、Dstat、CP和CD)、Diebold– Marianotest以及模型执行时间三个维度对模型进行评价;实验结果显示本发明 提出的预测模型在预测精度、趋势预测、模型收敛速度以及执行速度上均由于目 前主流畜产品价格预测模型;模型可以在一定程度上帮助相关企业提高应对价格 风险的能力,为河北省畜产品产业的持续健康发展做出一定的贡献。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例 的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般 技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处, 综上所述,本说明书内容不应理解为对本发明的限制。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种文章阅读数优化方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!