APP下载

白条猪价格预测模型构建

2024-02-20刘合兵华梦迪席磊尚俊平

河南农业大学学报 2024年1期
关键词:卷积模态神经网络

刘合兵, 华梦迪, 席磊, 尚俊平

(河南农业大学信息与管理科学学院,河南 郑州 450046)

国务院《关于做好2023年全面推进乡村振兴重点工作的意见》明确提出要抓紧抓好粮食和重要农产品稳产保供。农产品价格波动与社会民生息息相关,针对价格序列不平稳、非线性的波动特征,探索更高效的农产品价格预测模型是有必要的。猪肉是国民最重要的肉类消费品[1],尤其是在非洲猪瘟的影响之后,国家层面对猪肉市场高度重视。针对猪肉价格不平稳、非线性的波动特征,探索更高效的猪肉价格预测模型是有必要的。国内外学者围绕农产品的价格预测进行过广泛的研究。目前针对农产品价格序列进行预测的方法主要分为三大类;第一类是传统时间序列模型,主要包括移动平均法[2]、自回归移动平均法[3]、指数平滑法[4]等。第二类是神经网络模型,主要包括卷积神经网络(CNN)[5]、循环神经网络(RNN)[6]、长短期记忆网络(LSTM)[7]以及门控循环单元(GRU)[8]等。第三类是组合预测模型。传统时间序列预测方法仅根据历史数据的变化规律,即可建立预测模型,但要求序列本身具有清晰的自相关性和稳定性,在处理一般线性问题时效果较好。为了解决价格序列中存在的非线性特征,基于神经网络模型的智能预测方法应运而生。相较于传统时间序列方法,神经网络模型具有高度的自适应性、泛化性和自主学习能力,在大多数的时间序列预测任务中均有较好的表现。组合预测模型通过将不同预测模型结合起来的方式,实现单一模型之间的互补,以达到提高预测效果的目的。除此之外,部分研究者利用数字信号处理方法对时间序列进行处理,比如小波分解(WD)[9]、经验模态分解(EMD)[10]等,为时间序列预测模型领域提供了更多思路。

本研究基于序列分解和神经网络方法构建组合模型实现对白条猪价格走势的预测。首先采用自适应白噪声完全集合模态分解方法分解价格序列,得到一组不同时间尺度和频率的本征模态函数(IMF),该方法与经验模态分解方法(EMD)和互补集合经验模态分解方法(CEEMD)相比,解决了白噪声从高频到低频的转移传递问题;再利用主成分分析对筛选得到的价格影响因素和若干IMF序列及残差序列进行降维处理,避免不同特征之间出现信息重叠的问题,降低数据复杂度和计算量;利用卷积神经网络在特征提取上的优势,结合长短期神经网络构建组合模型输出得到预测结果,为农产品价格的有效预测提供参考。

1 研究方法

1.1 自适应白噪声完全集合模态分解

为了解决IMF分量中残留的白噪声问题以及集合平均运算时IMF分量对齐问题,在集合经验模态分解(EEMD)和互补集合经验模态分解(CEEMD)的基础上改进得到自适应白噪声完全集合模态分解(CEEMDAN)算法[11]。

在原始信号中添加标准白噪声后进行一阶EMD分解[12],对新产生的IMF进行集合平均得到第一阶模态分量,再对剩余分量进行相同的计算步骤[13]。当剩余分量为单调函数无法继续分解时终止算法。模态分量和残差的计算公式为:

(1)

(2)

1.2 CEEMDAN-PCA-CNN-LSTM组合预测模型

基于序列分解与深度学习方法提出CEEMDAN-PCA-CNN-LSTM组合预测模型,目的在于解决农产品价格序列中存在的非线性和不稳定性,卷积神经网络(convolutional neural networks,CNN)由输入层、隐藏层和输出层等3部分组成,其核心在于隐藏层中包含的卷积层和池化层[14],主要作用在于采取卷积运算提取深层特征以及压缩数据去除多余信息。一维CNN(1D-CNN)主要用于处理序列数据[15],其优势在于具备少量参数的同时也能充分保留时序数据之间的有效特征[16],但也存在着难以提取长期序列相关性特征的问题[17]。长短期记忆网络(long short-term memory,LSTM)是一种特殊的循环神经网络,其特殊点在于内部引入了细胞状态[18]。

本研究利用LSTM可以有效传递长时间序列信息的优势,改善一维CNN难以提取长期序列相关性特征的不足,达到更好的预测精度。该预测模型主要分为4个部分:(1)利用CEEMDAN分解初始农产品价格序列,得到若干IMF序列及一条残差序列;(2)利用皮尔逊相关性分析法对农产品影响因素进行判断,选取相关系数大于0.3的影响因素;(3)利用主成分分析法(PAC)对影响因素和分解得到的序列进行降维处理,目的在于消除序列之间的冗余性;(4)将累计贡献率大于80%的序列作为农产品价格序列的特征值,并行输入到基于编码器-解码器结构的CNN-LSTM组合预测模型中,得到预测结果。模型结构图如图1所示。

图1 CEEMDAN-PCA-CNN-LSTM预测模型结构图Fig.1 CEEMDAN-PCA-CNN-LSTM prediction model structure diagram

2 实证分析

2.1 数据来源

选取2011年1月—2022年12月河南省白条猪每周平均批发价格为研究对象。白条猪是剔除内脏、头、四肢等部位且未经过加工处理的猪肉。数据来源于全国重点农产品市场信息平台(http://ncpscxx.moa.gov.cn/)。由于白条猪价格波动会受到多种因素的影响,为了提高预测效果,引入养殖过程中的消耗品价格及猪肉竞品价格作为主要影响因素[19],分别是生猪价格、饲料价格、养殖成本、牛肉价格、羊肉价格,饲料价格包括玉米、小麦麸、豆粕、菜粕、棉粕、酒糟蛋白饲料(DDGS)、配合料的价格。11种影响因素中,牛肉和羊肉价格来源于全国重点农产品市场信息平台,其余数据来源于布瑞克农业数据平台(https://www.agdata.cn/)。针对数据中存在的完全随机缺失情况,使用随机森林方法遍历所有特征并填补缺失值。白条猪价格序列如图2所示,2019年11月之后价格序列呈“W”型波动趋势,由于非洲猪瘟的影响[20],2019年11月之后价格序列呈飞速上涨趋势,整体来看河南省白条猪的周平均价格存在明显的不规则性和不平稳性。

图2 河南省白条猪价格序列图

2.2 白条猪价格序列分解

利用CEEMDAN方法分解白条猪价格序列。为了抑制信号混叠的情况,采用从0开始逐步增加白噪声幅值的方法[21]进行试验,当信噪比为0.2时效果最优。设置噪声添加次数为100,此时分解出的子序列个数最多,得到5条IMF分量及1条残差序列。如图3所示,以高频到低频的顺序依次排列为IMF1、IMF2、IMF3、IMF4、IMF5和残差,其中残差序列为明显的单调趋势,表明原始序列被完全分解。

(a)第1条本征模态函数; (b)第2条本征模态函数; (c)第3条本征模态函数; (d)第4条本征模态函数;

2.3 白条猪价格影响因素相关性分析

采用皮尔逊相关系数衡量11种影响因素与白条猪价格之间的相关性[22],公式如下:

(3)

皮尔逊相关系数的取值范围为[-1,1],正值代表具有正相关性,负值代表具有负相关性。绝对值为0表示线性无关;绝对值在0.3以下且不为0表示弱相关性;绝对值在0.3至0.7之间表示中度相关性;绝对值大于0.7表示强相关性。

针对白条猪价格序列与11种影响因素之间的皮尔逊相关系数结果热力图如图4所示,p值为2个变量之间相关性的显著性水平,通常以5%为阈值。当p值远大于0.05时,即使相关系数很大,也不能确定两变量之间存在明显相关性。选取相关系数的绝对值大于或等于0.3且p值小于0.01的影响因素,结合图4可知,生猪价格、养殖成本、牛肉价格、羊肉价格4种影响因素与白条猪价格序列之间有较强的相关性,因此采用这四种序列作为白条猪价格特征值参与到后续实证工作中。

p≤0.05标记为*;p≤0.01标记为**。

2.4 利用主成分分析对特征值降维处理

主成分分析(principal component analysis, PCA)是一种实现数据降维的方法,其原理是将1组高维度数据通过正交变换浓缩为1组序列之间互不相关的低维度数据[23],浓缩后的数据为主成分。将筛选得到的4条白条猪价格影响因素、白条猪价格序列分解得到的5条IMF序列及1条残差序列经过标准化处理后计算协方差,每条成分的特征值和累计贡献率如表1所示。前5条成分的累计贡献率达到87.529%且大于80%,说明前5条成分作为主成分已经涵盖了10条成分中的绝大多数信息,输入到预测模型中的特征值从10维降到5维,达到减少数据复杂度的目的。

表1 各成分的特征值和累计贡献率Table 1 Eigenvalues and cumulative contribution rate of each component

2.5 构建CNN-LSTM预测模型

模型基于编码器-解码器结构设置,包含一维卷积神经网络和长短期神经网络两大部分。编码器部分引入一维CNN,其目的在于接收变量并提取特征向后传递,解码器部分利用LSTM接收CNN部分输出并解决CNN难以提取长期序列自身相关性特征的问题。

将白条猪价格序列及主成分序列并行输入到6条CNN通道中进行处理。CNN-LSTM组合预测模型设置9层网络结构,第1层和第2层均为一维卷积层,目的分别为读取输入序列及放大序列中的显著特征。每个卷积层使用20个卷积核,并以3个时间步长的内核大小处理输入序列,设置激活函数为Relu。第3层的最大池化层对卷积层的输出进行采样,设置参数pool_size为默认值,提取不同区域内的局部依赖关系,保留具有显著特征的信息。第4层是Flatten层,目的是把多维输入重新构建为一维。第5层为特征融合层,采用Concatenate模块汇总10条输入通道。第6层为RepeatVector层,实现对输入序列多次重复,重塑适合解码器读取的数据形状。第7层为解码器中的LSTM层,设置隐藏层200个神经单元,激活函数为Relu。第8层和第9层均为全连接层,用于综合前层网络提取的特征信息并输出最终预测结果,神经元数目分别为200和1。模型架构如图5所示。

图5 CNN-LSTM模型架构图

设置数据集的前90%作为训练集,后10%作为测试集,其中测试集不参与模型训练。为了提高神经网络收敛速度,对输入数据进行预处理,构建输入时间步长为10,输出时间步长为5的“多对多”监督学习型数据,循环遍历每个输入序列存入编码器并输出一个包含序列学习特征信息的平面向量。时间步长为10的输入序列通过卷积操作一次读取3个时间步长以达到提取特征的作用,池化层把这些特征映射缩小1/2之后压缩为一个二维的长向量。使用Concatenate将多个一维CNN提取并输出的特征进行融合,再经过RepeatVector层重新将序列转换为具有时间步长的三维形状。经过多次试验得出,当训练批次batch_size参数设置为2、训练周期epochs参数设置为100时,模型的预测结果最优。为了有效防止过拟合现象,将隐藏节点dropout参数设置为0.5[24]。采用Adam优化算法基于训练数据迭代地更新神经网络权重,损失函数使用均方误差函数。白条猪价格序列测试集的预测结果如图6所示,根据图像可以看出,模型预测结果和真实值之间的相似程度较高,两者的波动规律基本一致。

图6 猪肉价格预测图

2.6 模型预测性能对比

为了定量评估模型预测性能,采取平均绝对误差(MAE)、均方根误差(RMSE)及决定系数(R2)作为白条猪价格预测效果的评价指标。平均绝对误差是预测误差绝对值的均值,可以避免误差相互抵消的问题。均方根误差衡量的是预测值与真实值之间的偏差[25],MAE和RMSE的数值越小就说明该预测模型所产生的预测效果越好。计算公式如下:

(4)

(5)

式中:n为样本的个数;xi为真实值;yi为预测值。

决定系数主要用来衡量模型的拟合程度,有助于检验模型的质量。R2的数值越接近于1就表示该预测模型拟合效果越好。计算公式如下:

(6)

(7)

以河南省白条猪价格序列及价格影响因素作为研究对象,以平均绝对误差、均方根误差和决定系数作为评价指标,使用相同的训练集和测试集,设置相同的输出步长。为了证明对价格序列进行CEEMDAN分解并引入影响因素的方法能够提高预测精度,将该方法与LSTM模型、GRU模型、CNN模型、ConvLSTM模型结合,分别得到CEEMDAN-PCA-LSTM模型、CEEMDAN-PCA-GRU模型、CEEMDAN-PCA-CNN模型、CEEMDAN-PCA-ConvLSTM模型,同时与本研究构建的CNN-LSTM模型进行对比。其中GRU模型与LSTM模型相似,为传统循环神经网络(RNN)的变形,解决了RNN模型中存在的梯度爆炸问题,常用来处理序列数据,但从结构上来看,GRU模型比LSTM模型缺少一个门控单元,在处理时序数据间的依赖关系方面不如LSTM模型。ConvLSTM模型与LSTM模型相比的不同之处在于将神经网络单元中每个门的矩阵乘法运算替换为卷积运算,除此之外,ConvLSTM模型的输入为3D张量[26]。预测结果如表2所示。

表2 白条猪价格预测精度对比

由表2可见,CEEMDAN-PCA-CNN-LSTM组合模型预测方法与其他预测模型对比中效果最优,表明使用序列分解与深度学习完成农产品价格序列预测的方法可以达到较好的预测效果。同时可以得到,除ConvLSTM模型之外,加入序列分解与主成分分析之后模型的预测性能均有提升,CEEMDAN-PCA-LSTM模型的MAE、RMSE比LSTM模型分别降低了32.9%、22.6%;CEEMDAN-PCA-GRU模型的MAE与GRU模型相比虽然增加了5%,但RMSE值降低了9.1%且决定系数增加了19.1%,说明拟合效果更优;CEEMDAN-PCA-CNN模型的MAE、RMSE比CNN模型分别降低了36.0%、33.3%;CEEMDAN-PCA-CNN-LSTM模型的MAE、RMSE比CNN-LSTM模型分别降低了45.1%、47.7%。以上数据证明基于序列分解与主成分分析的思路有助于改善预测精度。

3 结论与讨论

为避免农产品价格波动对农产品相关行业的发展产生负面影响,帮助有关部门做出科学合理的决策[27],针对白条猪价格序列波动中存在的非线性和不稳定性,采取可靠的价格预测模型实现更高的预测精度非常必要。本研究基于序列分解与神经网络方法构建CEEMDAN-PCA-CNN-LSTM组合模型,在河南省白条猪价格数据集上达到了更好的预测效果。

方雪清等[28]使用EEMD-LSTM组合模型实现对苹果价格数据的分解与预测,但EEMD方法在分解过程中会残存大量白噪声序列,影响预测结果。张大斌等[29]在对农产品期货价格进行分解时使用最小模糊熵解决了变分模态分解方法难以选取参数的问题,但大大增加了计算量。CEEMDAN方法既解决了白噪声残留的问题,又节省了繁杂的选参过程,在对非平稳序列的分解中具有更大的优势。在前人的研究中,主要针对单一农产品价格序列,利用神经网络模型进行预测[30-31],没有考虑外部因素对农产品价格序列产生的影响。本研究通过对河南省白条猪价格的实证研究发现,生猪价格、养殖成本、牛肉价格和羊肉价格4种影响因素与白条猪价格序列之间有较强的相关性,试验证实LSTM模型、GRU模型、CNN模型在引入影响因素之后预测精度均有提升,且CEEMDAN-PCA-CNN-LSTM组合模型的预测效果最优。

根据实证中不同预测模型的精度对比结果可知,添加序列分解与主成分分析的方法有助于提高模型的预测能力,本研究设计的神经网络组合模型通过结合卷积神经网络和长短期记忆网络之间的优势,达到了增强模型预测精度的效果。因此在对农产品价格进行预测的基础上多加考虑外部影响因素将会产生积极的效果,但是由于难以量化自然因素、病害因素等的突发情况,深入探究组合预测模型仍然是重点研究任务。

猜你喜欢

卷积模态神经网络
基于3D-Winograd的快速卷积算法设计及FPGA实现
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于神经网络的拉矫机控制模型建立
国内多模态教学研究回顾与展望
复数神经网络在基于WiFi的室内LBS应用
基于HHT和Prony算法的电力系统低频振荡模态识别
基于支持向量机回归和RBF神经网络的PID整定
由单个模态构造对称简支梁的抗弯刚度