袁世一
(中国农业科学院农业信息研究所,北京 100081)
粮食安全是一个重要的社会问题,它不仅关系到人民的营养和健康,而且关系到国家的经济发展和社会稳定。粮食安全的重要性在于它能够确保人民获得足够的营养,从而保障人民的健康,促进社会发展,维护国家的经济安全[1]。新中国成立初期,国家就出台了一系列政策并制定相应措施来鼓励粮食生产。只有保证粮食资源,人民生活才能得到保证,社会才能实现更好的进步。粮食产量估计对国民经济发展有着至关重要的作用,因此依靠粮食产量的历史信息规律,采用适当的模型和方法进行预测对粮食安全有着非常重要的意义,也为国家实行政策调控提供理论支持。随着信息技术的发展,数据量不断增大,处理效率和精度成为了研究的重点[2]。粮食产量预测作为一种时间序列问题,其本质是对粮食数据随时间变化的非线性和随机性进行预测[3-4]。传统的精确数学模型难以有效预测粮食产量。目前国内外学者主要采用统计预测法、时间序列预测法和神经网络预测等方法来解决这一问题[5-7]。统计预测法是指通过建立相关模型来分析粮食产量与各种因素之间的关系,从而进行预测。时间序列模型属于统计预测方法,是基于历史数据对未来数据进行预测,对于线性趋势序列,具有较高的精度[8-9]。RBF 神经网络拥有较强的非线性映射能力,对于小样本数据有着较好的泛化能力,因此在某些场景下具有较高的适用性[10-11]。但是,由于粮食产量数据序列波动性较大,预测问题复杂多变,单一的时间序列模型往往无法降低序列信号的非平稳性,需要引入其他预测模型或者采取数据预处理技术来提高预测精度[12-14]。因此,学者们通常采用组合预测模型,将多种预测模型结合起来,提高预测精度。在建立预测模型之前,首先采取平稳化、差分等方法对数据进行预处理,降低数据序列的非平稳性,提高预测精度[15-17]。
经验模态分解(Empirical Mode Decomposition,EMD)和极限学习机(Extreme Learning Machine,ELM)作为新型的数据处理方法,在信号处理、时间序列预测、特征提取等领域得到了广泛应用。经验模态分解是一种基于数据本身的自适应信号处理方法,它将原始信号分解为多个固有模式函数(IMF),每个IMF 都代表了不同频率的振动模式。EMD 方法具有良好的局部特性和非线性逼近能力,在信号处理、图像处理等具有较强的优势。Hai 等[18]通过改进EMD提高分解效率,Lakshmipriya等[19]对EMD进行了改进和拓展,引入小波变换提高IMF的精度。极限学习机作为一种快速有效的机器学习方法,具有学习速度快、泛化能力强等优点。因此在分类识别、回归分析、时间序列预测等领域得到了广泛应用。Roul[20]引入深度学习的思想来提高内部表示的表达能力,开发多层ELM 来处理复杂的数据结构,Reji 等[21]应用ELM方法进行网络安全等方面的研究。也有学者将2 种方法结合起来,Wang等[22]将EMD 通过分解原始信号来提取特征,然后采用ELM 方法进行预测;Punam等[23]先采用EMD 分离图像的纹理和几何特征,然后运用ELM方法进行分类和识别。
为了提高粮食产量时间序列的预测精度,本文采用经验模态分解方法对原始数据进行分解,并挖掘其内在特征,随后使用鲸鱼算法优化极限学习机的组合预测模型,对各个分量进行预测,并将它们的预测结果进行组合叠加。通过与其他预测模型进行比较,本文发现建立组合预测模型不仅降低了运算规模,还显著提高了模型的预测精度和泛化能力。这说明本文的方法可以有效地解决非线性强、时间序列复杂的粮食产量预测问题,有望在实际应用中发挥重要作用。
经验模态分解法(EMD)是一种新兴的信号分析技术,它不需要事先设置任何基函数,而是依据信号本身的时间尺度特性来实现信号分解[24-25]。与传统的傅里叶分解和小波分解方法不同,EMD 算法可以处理不同形式的信息,在解决非平滑和非线性信息时具有很大的优越性[26-27]。在信号分解阶段,EMD 将原始信号通过对其极值点进行插值拟合得到一系列本地振动模态函数(Intrinsic Mode Functions,IMF),并将剩余的残差也视为其中一个IMF,直至满足某些停止准则。在Hilbert 谱分析阶段,EMD 将每一个IMF 通过Hilbert 变换转化为带有幅度和频率调制信息的复数信号,然后计算其瞬时频率和瞬时振幅。由于IMF 的局部特征和自我相似性,EMD 算法能够有效地提取数据的内在特征,适用于分析非线性、非平滑信息序列,具有很高的信噪比。分解模型步骤如下:
1)根据给出的原始信号x(t),求得所有的极大值和极小值点。
2)根据极大值和极小值点描绘出上下包络线μ1(t)和μ2(t),随后根据上下包络线求得平均值h(t):
3)将原始信号x(t)减去均值h(t)得到中间信号f(t),即:
4)通过中间信号f(t)来判定是否符合IMF函数定义的约束条件:
式中,SD为标准差,当标准差α达到初始设定条件时,EMD算法即可分解出第一个IMF分量,记作Ci(t)=fi(t)。否则当不满足给定条件时,将中间信号当作原始信号继续重复上述步骤1~步骤4流程重新判断。
5)新信号可由原始信号x(t)与上一个所得分量IMF1的差值获得,同时重复上述流程,直至不能再分解为止,此时最后一个分量可以记为rn(t)。则原始信号可以重构为:
式中,x(t)为原始信号,Ci(t)表示经分解后的第i个IMF分量,rn(t)表示为残余分量。
传统神经网络由于其运算较为复杂和认知能力的限制,可能导致其学习所得到的结果与实际数据之间存在较大的差异。ELM 是一种全新的快速学习算法,它可以随意地初始化输入层到隐层的权重和偏置,从而更容易获得对应的输出权重,简化了神经网络的训练过程,缩短了学习时间。ELM 还具有较高的运行效率和泛化特性。相对于传统神经网络,ELM采用随机生成权重矩阵的方法,不需要进行迭代调整,从而加快了运行速度[28]。此外,由于ELM 不需要进行反向传播算法的迭代计算,因此可以快速处理大量数据,不会陷入局部最优解。通过其高效的运行速度、强大的泛化能力以及适用于大规模数据处理等优势,ELM 已经成为了一种重要的机器学习方法,对于解决实际问题具有重要的意义。ELM 的拓扑形式如图1所示。
图1 ELM模型拓扑结构
模型的训练过程如下:
假设给定一组输入数据X,则根据网络训练和映射后可表示为:
式中,ωi=(ωi,1,ωi,2,…,ωi,n)T表示输入层到隐藏层的连接权值,βi为输出权重,bi表示为隐藏层阈值。ELM网络可以以零误差逼近训练样本,可表示为那么原式可写为:
根据式(6)转化作矩阵形式表示为:
式中,H为输出矩阵,具体可表示为:
最终通过最小二乘法求解极限学习机的输出权重,记作β*,求解方程可表示为:
鲸鱼优化方法(Whale Optimization Algorithm,WOA)是一种灵活、高效的全局优化算法,模拟了座头鲸鱼的社会活动方式,并采用了气泡网捕猎策略[29]。WOA算法通过对所有候选解的位置和速度进行更新,逐步寻找最优解。在WOA算法中,每个解都被视为一个鲸鱼,而整个搜索空间则是鲸群的海洋环境。各个解之间的距离和相对位置决定了它们的“健康程度”,这又与其适应度函数值相关联。同时,WOA 算法中引入了气泡网捕猎策略,即在搜索过程中,鲸鱼会产生气泡网来困住猎物,从而增加抓捕猎物的概率。与其他优化算法相比,WOA 算法具有运行速度快、收敛性好、全局搜索能力强等优点,已广泛应用于函数优化、特征选择、机器学习等领域。
结合粮食产量预测问题的研究,可以看出,由于粮食生产历史数据的复杂性和时间序列的非平稳性,单一的预测模型不足以准确地预测粮食产量。此时,可以采用经验模态分解方法和极限学习机方法进行数据特征提取和建模,然后使用WOA 算法来组合各个模型的预测结果,提高预测精度。WOA 算法中的气泡网捕猎策略可以增加搜索过程中最优解的抓捕概率,从而更好地适应非线性、非平稳的时间序列。
因此,本文认为在进行粮食产量预测问题的研究中,采用EMD-ELM-WOA 等组合预测模型能够更好地解决时间序列复杂性和非线性强的问题,进一步提高预测结果的准确性和稳定性。预测流程如图2所示。
图2 鲸鱼算法优化的神经网络预测模型工作流程图
WOA算法优化ELM网络模型原理具体如下:
1)输入粮食样本数据,并进行预处理。
2)初始化算法参数,包括种群数目、上下边界,同时选择RMSE值作为适应度函数;
式中,M为时间序列的长度,y(k)表示时间序列的实际值(观测值),ŷ(k)表示时间序列的预测值。
3)当迭代数目小于总迭代次数时,更新鲸鱼算法参数。
4)当随机概率p<0.5,同时模值A<1 时,鲸鱼群按下式进行位置更新;
式中,(t)为鲸鱼当前位置矢量,(t)为最优位置。
5)若A>1时,会随机进行更新:
若P>0.5时,根据式子更新鲸鱼位置:
6)计算当前群体中最优个体,并保存个体位置。判断是否达到迭代次数,是则进入下一步;否则令t=t+1,重复执行步骤2~步骤6。
7)算法找到最优ELM 的权值和阈值之后,重新代入到ELM神经网络进行训练和预测。
本文从数据库中调取了全国1949—2021 年的粮食产量数据,样本维度为72×1,在MATLAB 环境下,分别用ELM、ELM-WOA、EMD-ELM-WOA 模型进行预测实验。将1949—2007年的粮食产量作为训练集,2008—2021年的数据作为测试集,并进行相关分析。
引入1949—2021 年粮食产量时间序列X={x1,x2,…,xn},同时采用EMD 分解模型将原始序列X分解成m个若干分量IMF1,IMF2,…,IMFm和一个RS余量,将分解后的这些分量作为ELM 的输入进行训练,同时与鲸鱼优化算法进行结合,最后将各个分量预测的结果值进行叠加得到组合模型的预测结果[30]。原始的粮食产量时间序列为一维数据,因此采用滚动预测的方式对粮食产量进行预测[31]。假定原始一维时序数据长度设定为T,输入的长度为t,那么实际就会有T-t个样本,输入输出就会依次滚动进行,具体形式参考表1。
表1 输入输出数据
随后对原始序列的数据样本做训练集和测试集的划分,由于粮食产量变化差异明显,因此在进行模型训练之前要对数据进行归一化操作,以此来提高最终组合模型的精确程度,具体公式如下:
式中,x为原始数据,xmax、xmin分别为原始数据的最大值和最小值。
选取全国1949—2021年共计72年全国粮食产量的数据进行分析。图3 为原始的粮食产量时间序列图,从原始的时间序列可以看到,粮食产量中存在波动性和非线性,变化趋势总体呈上升趋势。
图3 1949—2021年粮食产量时间序列
在粮食产量预测中,原始的粮食产量序列具有很强的非线性和不稳定性,因此需要通过一定的数据处理和分解方法来提取其内在特征趋势。采用EMD 方法对原始粮食产量序列进行分解,降低数据的非线性,提高预测模型的精度。分解得到的3 个IMF 分量和1 个RS 余量可以反映出粮食产量数据中的内在特征趋势。在每个分量上都建立了ELM-WOA 预测模型,并通过多次实验找到了最佳的ELM 隐含层节点数目为15。在训练集测试集的比例设置为0.8/0.2 的情况下,采用鲸鱼种群数目为50,最大迭代次数为100,历史时刻的输入num 值为5 的参数组合,同时在各自分量上进行预测,如图4所示。
图4 EMD分解粮食产量序列
因此,通过EMD 分解和ELM-WOA 模型的建立,本文模型可以更好地分析粮食产量数据的内在趋势,并建立相应的预测模型。在实验中,本文通过调整参数和不断尝试来得到最佳的预测效果和精度,为预测模型的优化和改进提供了有力的支持。
表2 列出了部分样本分量预测结果值,其中包括14个样本的IMF1、IMF2、IMF3、RS以及对应的预测值。可通过进一步计算每个样本的预测误差,并绘制误差分布图或者误差箱线图,以便更好地了解预测模型的精度和误差分布情况。
表2 部分样本分量预测结果值
本文针对粮食产量预测问题,构建单一的ELM神经网络、BP神经网络、SVM模型、EMD-ELM模型以及EMD-ELM-WOA组合预测模型,对各个模型的预测结果进行比较,如图5所示。在单一的ELM预测模型中,模型预测值与实际值之间存在较大的偏差。在加入鲸鱼算法优化后,预测结果与实际值更接近,但仍然无法完全解决序列的非线性问题。因此,在预测之前使用经验模态分解方法将原始数据分解成多个平稳分量,并应用ELM方法对每个分量进行预测,以提高预测准确度。引入WOA算法来优化各个分量的权重和偏置,得到EMD-ELM-WOA组合预测模型。实验对比结果表明,3种组合预测模型相较于其他单一模型具有更好的预测效果和更高的预测精度。因此,在处理粮食产量预测问题时,采用经验模态分解方法结合极限学习机和鲸鱼优化方法等组合预测模型能够更好地适应序列的非线性特性,提高预测准确度和稳定性。
图5 各种模型对比预测图
为了进一步全面地验证模型对比的精准度,引入7 个模型的评价指标和计算公式来检验本文所提出组合模型的优越性,公式具体如下[32]:
1)均方根误差(Root Mean Square Error,RMSE):
2)平均绝对误差(Mean Absolute Error,MAE):
3)平均绝对百分比误差(Mean Absolute Percentage Error,MAPE):
4)回归系数R2(Regression Coefficient,R2):
式中,M为样本数量,y(k)表示真实值,ŷ(k)表示模型的预测值,norm 为范数函数,R2越高,拟合度越好,评价指标数越低,说明对于模型的预测精准度越高。
5)皮尔逊检验。
皮尔逊检验是一种常用的统计方法,用于探究数据真实模型与预测模型之间的相关程度[33]。皮尔逊检验的结果通常用一个取值范围在-1 到1 之间的数值来表示,被称为相关系数。当相关系数越接近1时,说明真实值与预测值之间存在很强的正相关性,也就是说预测模型能够很好地反映数据的真实模型。而当相关系数越接近0 时,说明真实值与预测值之间的相关性越小,预测模型对数据的真实模型的拟合程度也相应地降低。
6)泰勒图。
泰勒图是一种用于可视化模型之间相互关系的图表,通常用于比较和评估多个模型的预测性能[34]。泰勒图通过将真实值和不同模型的预测值绘制到同一个图中,可以直观地展示不同模型之间的差异和相似性。在泰勒图中,每个点代表一组真实值和对应的预测值,其中x轴表示标准差,y轴表示相关系数R值。对于一个优秀的预测模型,其预测点应该更加靠近实际值点,即与半径为1 的圆弧距离越小越好。不同模型预测的点之间距离越近,说明它们之间的预测结果越接近,相互之间的相关性也就越高。
7)箱线图。
箱线图是一种用于可视化数据分布情况的图表,可以有效地反映出数据的离散程度和异常点的存在情况[35]。箱线图不仅能够反映数据的整体分布情况,还能够显示数据的异常情况。如果在箱线图中存在异常点,说明该数据集中存在极端值或异常数据。对于预测模型的误差分析来说,箱线图可以直观地展示预测结果与真实结果之间的误差大小和分布情况。箱线图具体结构如图6所示。各模型评价指标结果如表3所示。
表3 模型评价指标表
图6 箱线图结构图
不同模型的预测误差分布如图7 所示,X 轴代表实测值与预测值之间的误差值,Y 轴表示样本数量。以分布误差为0 的分界线,向X 轴右侧进行延伸,靠近0 端数目越多说明预测精度越高,从图7 中可以明显地看到本文所提出模型的准确度最高。
图7 各个模型误差对比图
从表4 中可以看到,随着模型的复杂度和优化方法的引入,皮尔逊相关系数也逐渐提高。BP 神经网络的皮尔逊相关系数为0.91413,虽然与真实值之间存在一定的正相关性,但仍然存在着较大的误差。SVM 模型的皮尔逊相关系数为0.95232,相较于BP 神经网络有了一定的提高,说明SVM 模型能够更好地反映数据的真实分布情况。ELM 神经网络的皮尔逊相关系数进一步提高到0.9640,这是由于ELM 神经网络处理非线性问题而得以改善。加入优化算法的ELM-WOA 模型的皮尔逊相关系数进一步提高到0.9773,这说明鲸鱼优化算法的引入能够进一步提高模型的预测精度。将EMD方法引入ELM模型中得到的EMD-ELM 模型皮尔逊相关系数进一步提高到0.9897,这是由于EMD 能够更好地处理非线性问题和时序数据。最后,结合鲸鱼优化算法的EMDELM-WOA 模型的皮尔逊相关系数进一步提高到0.9962,说明该模型能够更加准确地预测真实值,并且具有更强的线性关系。因此,通过对比表4 中不同预测模型的皮尔逊相关系数,可以发现随着模型复杂度的提高和优化方法的引入,预测精度也相应提高。
表4 各模型皮尔逊检验相关系数
各模型泰勒图如图8(A:真实值;B:本文方法;C:EMD-ELM;D:ELM-WOA E:ELM;F:SVM;G:BP)所示,A 为真实值点,越靠近A 点说明模型的泛化效果越好,从图8 可以看到,本文提出的EMD-ELM-WOA 模型效果最佳。
图8 泰勒图
从图9 可以看到,通过对比箱线图中不同预测模型的误差分布情况,可以发现本文所提出的模型的预测误差最小,相较于其他模型具有更好的预测效果和更高的精度。
图9 不同预测模型误差分布箱线图
为了能够准确预测粮食产量,采用鲸鱼优化算法并对其网络内部参数进行优化,组成预测模型。经过多次重复对比实验,验证了本文所提方法在粮食预测方面具有较高的准确性,并得出以下结论:
1)利用经验模型分解模型将原始不平稳的粮食产量序列进行分解,降低了原始序列的非线性情况同时提取了内部特征,为后续预测模型的建立提供了基础。
2)采用极限学习机模型对粮食数据进行滚动分析研究,考虑到单一的ELM 模型的权值和阈值是初始化随机产生的,可能会导致参数不是最优的情况,因此,在此之前使用鲸鱼优化方法对数据权值和阈值进行寻优,算法找寻最优位置之后重新建立模型进行粮食产量的预测分析。
3)将EMD 分解后的各个子序列同时建立ELMWOA组合预测模型,并将各自序列分量的预测结果进行叠加组合,在最后的结果可以看到3个组合预测模型的粮食产量预测精度最高,R2值拟合达到了0.96以上。
4)在预测模型之前对一维的时间序列进行分解处理可以有效地降低数据本身的非线性情况。未来研究将更加注重与典型的或者较新的模型进行对比分析,同时还应该考虑影响粮食的多种因素,而不仅仅是针对粮食序列的历史趋势。在参考历史趋势的基础上,引入更加具体的影响因素从而提高粮食产量的预测精度。
在粮食产量预测方面,新兴技术也可以为预测模型的精度和适用范围提供更多的可能性和改进空间。本文预测模型在粮食产量预测方面具有较高的准确性,并为未来相关领域提供了启示和指导。未来随着计算机应用技术的不断发展,预测模型的准确性和适用范围将会得到进一步提升,同时还可以结合其他相关领域的知识和创新思路,以拓展预测模型的应用场景和精度,促进农业生产和经济的可持续发展。