张晓果,蔡玉杰,李亚杰
(河南城建学院 数理学院,河南 平顶山 467036)
粮食安全是国家政治、经济、社会安全的重要组成部分,对粮食产量进行准确的预测对于保证粮食安全具有重要意义[1]。作为产粮大省,河南的粮食产量一直位于全国前列,还是全国五大粮食净调出省份之一,研究河南省粮食产量的预测问题具有很强的现实意义。
粮食产量的预测方法多种多样,如BP神经网络[2,3]、时间序列模型[4]、回归模型[5]和灰色系统模型[6-8]等,其中灰色模型因具有小样本、贫信息、预测精度高等特点而备受关注。但灰色模型在预测随机性较大的数据时模型精度不够理想。Markov模型适合于随机性和波动性较大的预测问题,将GM(1,1)模型和Markov模型相结合,建立GM(1,1)-Markov模型可以实现二者优势互补,有望获得更加精准的预测。近年来,GM(1,1)-Markov模型的应用十分广泛。刘辉等[9]应用灰色马尔可夫模型预测江西农业受灾面积。曾冬玲等[10]组合使用灰色模型和Markov模型预测云南省旅游需求,结果表明,GM(1,1)-Markov预测比单纯的灰色预测效果好,预测精度高。王利莎等[11]应用GM(1,1)-Markov模型对陕西的铁路客运量进行了预测,预测效果明显.尹邦华等[12]运用改进灰色马尔可夫模型对湖南的粮食产量进行预测。
由于粮食产量系统受自然条件、管理、政策等多种因素影响,具有随机性、波动性、动态性等特点。本文以河南省2006-2019年粮食产量为样本数据,充分利用GM(1,1)模型的数据少、精度较高的特点和Markov模型处理随机波动性较大的动态过程的优势,建立GM(1,1)-Markov模型预测河南省粮食产量,以期为政府和相关企业制定政策和计划提供参考。
GM(1,1)模型[13]的建模步骤如下:
(1)级比检验:灰色预测之前,要对原始数据序列X(0)=(x(0),x(0)(2),…,x(0)(n))进行级比检验.级比公式为:
如果所有的级比都落在可容覆盖区间(e-2/(n+1),e2/(n+1))内,则该原始数据序列可作GM(1,1)建模并得到合理的预测结果,否则需要对数据进行处理,使其满足可容覆盖条件,常用的数据变换有平移变换、对数变换和方根变换等[14]。
(2)构造生成数据序列:将X(0)进行一次累加,记为:
(3)对X(1)作紧邻均值生成序列Z(1):
其中z(1)(k)=[x(1)(k)+x(1)(k-1)]/2,k=2,3,…,n
(4)建立灰色模型:用一阶微分方程对生成数据序列X(1)进行拟合,得到相应的白化微分方程+αx(1)=b,其中a为发展参数,b为灰色作用量。记参数向量u为u=(a,b)T,用最小二乘估计得到u^=(a^,b^)T=(BTB)-1BTY,其中
(5)求解与还原:求出白化方程的解,即时间响应序列为:
累减生成还原值序列,就得到灰色模型最终预测结果
应用马尔科夫模型[15]处理GM(1,1)模型的预测数据,以提高预测精度:
(2)状态划分:根据灰色预测的相对误差划分为3-5个小区间,状态区间为:Ei=(Qi,Hi),其中Qi,Hi分别为状态区间的下限和上限。
(3)计算状态转移概率矩阵:状态转移概率矩阵统计了系统中所有可能发生的状态转移的规律,可以利用状态转移矩阵对系统下一阶段所处的状态进行预测。状态Mi经过k步转移到状态Mj的转移概率为pij(k)=Mij(k)/Mi其中,Mij(m)为样本状态Ei经过k步转移到状态Ej的转移次数,Mi为状态Ei在样本中出现的频数。任意的随机事件经由k步状态转移形成的状态转移概率矩阵为:
(4)修正预测值:如果预测对象下一步转移到状态Ej,取区间中点对灰色预测值进行修正,得到GM(1,1)-Markov预测值:
1.3.1 残差检验
1.3.2 后验差检验
后验差检验步骤如下:
(2)计算原始数据标准差
(4)计算残差标准差
然后根据表1检验精度的等级。
表1 精度检验等级对照表
以《河南统计年鉴2020》中2006-2019年河南省粮食产量作为研究对象,如表2所示。
表2 河南省2006-2019年粮食产量(单位:万吨)
选取河南省2006-2019年粮食产量为原始数据序列,建立GM(1,1)预测模型。
2.2.1 级比检验
根据(1)式计算原始数据序列x(0)的级比,级比范围为(0.9480,0.9960),全部落入可容覆盖区间(e-2/14+l,e2/14+l)=(0.8752,1.1426)内,所以该数据可以用于灰色预测。
2.2.2 GM(1,1)模型
根据灰色预测的建模步骤,首先计算一次累加生成序列和紧邻均值生成序列,如表3所示。
表3 GM(1,1)模型数据
由(2)可得时间响应序列为:
其中k为序列号,对应年份的排序,例如序号0对应年份2006,由(4)式累减还原得到2006—2019年河南省粮食产量的模拟值,相关数据如表4所示。
表4 GM(1,1)模型模拟结果
2.2.3 GM(1,1)模型检验
根据表4容易计算平均相对误差为0.79%,模型精度达到一级;根据原始值方差S1=150.87,残差方差S2=22.54,则后验差比c=S2/S1=0.1494<0.35,精度标准为一级;计算0.6745S1=101.76,小误差概率p=,精度标准为二级。
2.2.4 预测结果
利用GM(1,1)模型(3)预测2020-2022年的河南省粮食产量,如表5所示。
表5 GM(1,1)模型预测结果
由于粮食产量的变化趋势受众多随机因素的影响,当数据表现出较大波动时,GM(1,1)模型基础上进行马尔科夫链改进,预测效果会更满意。
2.3.1 状态划分及状态转移矩阵
根据相对误差分布情况,按照组间距划分为3种状态如表6所示。
表6 状态划分标准
根据状态划分情况可以得到状态转移矩阵(fij)3×3和状态转移概率矩阵p(1):
2.3.2 Markov链修正及模型精度比较
根据(3)式修正GM(1,1)模型关于2006-2019年河南省粮食产量的模拟值,得到马尔科夫链修正值。并选取平均绝对误差和平均相对误差测定指标对比GM(1,1)模型和GM(1,1)-Markov链模型预测效果.模型真实值和模拟值对比如表7所示。
表7 河南省粮食产量模拟误差对比
平均相对误差和平均绝对误差对比结果如表8所示。
由表8可知,GM(1,1)-Markov链模型的两个误差指标均低于GM(1,1)模型。
表8 模型效果对比
2.3.3 GM(1,1)-Markov链模型检验
由表7可得GM(1,1)-Markov链模型的平均相对误差为0.59%,模型精度达到一级;根据原始值方差S1=150.87,残差方差S2=11.18,则后验差比c=S2/S1=0.0741<0.35,精度标准为一级;计算0.6745S1=101.76,小误差概率p=p{|ε(k)-ε¯|<0.6745S1}=1>0.95,精度标准为一级。表明GM(1,1)-Markov链模型的精度更高、预测效果更好。在河南省粮食产量预测中的效果要优于GM(1,1)模型.组合模型可以综合单一模型的长处,弥补单一模型的不足。
2.3.4 GM(1,1)-Markov链模型预测
根据一步转移概率矩阵p(1)计算出二、三步状态转移概率矩阵p(2)、p(3)分别为:
2019年的GM(1,1)预测值处于状态1,于是初始行向量π0=[1,0,0],可得一步状态转移行向量p1=π0p(1)=(0.6,0.4,0),两步状态转移行向量p2=π0p(2)(0.4933,0.4400,0.0667),三步转移状态行向量p3=π0p(3)=(0.4760,0.4173,0.1067),对相对误差加权平均求和,可得2020-2022年河南省粮食产量的GM(1,1)-Markov预测值,如表9所示。
表9 GM-Markov模型预测结果
以河南省2006-2019年粮食产量为原始数据列,建立GM(1,1)-Markov模型.该模型较全面考虑了原始数据序列的波动性和历史数据对未来预测值的影响,综合单一模型的长处,使GM(1,1)模型和Markov模型优势互补,提高了预测精度。该模型的平均相对误差和平均绝对误差相对于GM(1,1)模型分别减小了25.32%和21.81%。检验结果表明,GM(1,1)-Markov模型适合对河南省粮食产量进行预测,进而可以为有关部门制定政策提供参考。