冯 晓,乔 淑,李国强,钱少俊,赵巧丽,周 萌,胡 峰,郑国清*
(1.河南省农业科学院 农业经济与信息研究所,河南 郑州 450002; 2.河南省机关事务管理局,河南 郑州 450003)
基于支持向量机回归的猪肺疫发病率预测模型研究
冯 晓1,乔 淑1,李国强1,钱少俊2,赵巧丽1,周 萌1,胡 峰1,郑国清1*
(1.河南省农业科学院 农业经济与信息研究所,河南 郑州 450002; 2.河南省机关事务管理局,河南 郑州 450003)
为探明支持向量机回归(SVR)模型在动物疫病定量预测上的效果,以便为动物疫病防控决策提供依据,利用广西2007—2013年的猪肺疫月发病率时间序列,进行了SVR模型预测猪肺疫月发病率效果的研究。首先,以自相关函数法和Cao方法相结合,确定该时间序列的时间延迟为2,嵌入维数为6,并对其进行相空间重构;然后,依据主分量分析(PCA分布)方法判定该时间序列具有混沌特性,表明其在重构相空间中进行分析预测是可行的;最后,基于相空间重构结果构建SVR模型,分别采用网格搜索算法、遗传算法、粒子群算法对模型参数进行优化,并分析预测效果。结果表明,运用遗传算法优化SVR模型参数预测效果最优,平均绝对偏差(MAD)为0.043、均方误差(MSE)为0.003、平均绝对百分误差(MAPE)为0.202。可见,采用遗传算法优化的SVR模型对猪肺疫发病率的预测是可行有效的。
猪肺疫; 预测; 时间序列; 支持向量机; 相空间重构
动物疫病是制约我国养殖业健康发展的重要因素,定量预测动物疫病的流行变化趋势,对于提高动物疫病防控水平具有重要意义。动物疫病的发生和发展有着错综复杂的自然因素和社会因素[1],且难以量化,而时间序列预测方法将所有影响因素归结到时间,是当前动物疫病定量预测的重要研究方法。徐强等[2]和许丹宁等[3]分别采用ARIMA模型对猪丹毒和猪瘟发病率进行了预测,均取得了良好效果;梁毅等[4]提出一种以遗传算法优化的BP神经网络为载体,以ARIMA模型及GM(1,1)模型预测结果为输入的组合模型来预测猪瘟发病率,结果表明,与灰色模型、ARIMA模型相比,神经网络在非线性回归拟合上表现出一定的优势,且组合模型预测效果优于参与组合的个体模型。在人类疫病定量预测方面,神经网络与传统预测模型相比,也表现出一定的优势[5],但其存在着网络拓扑结构难以确定、建模需要大样本、易陷入局部极小点、过学习、收敛速度慢等问题,因此,其在实际应用中受到了限制。支持向量机回归(SVR)具有完备的数学理论,不过分依赖样本集的数量,解决了神经网络算法模型选择困难、过学习、易陷入局部极小点等问题,具有更强的泛化能力[6-7]。近年来,SVR模型已在气象[8-9]、人类传染病[10]等时间序列预测方面得到了成功应用,但在动物疫病预测方面的应用鲜有报道。鉴于此,以猪肺疫发病率为研究对象,对广西省2007—2013年猪肺疫月发病率时间序列进行相空间重构,判定其混沌特性后,建立了猪肺疫月发病率SVR预测模型,并分别采用网格搜索算法、粒子群算法、遗传算法对模型参数进行优化,以提高猪肺疫发病率的预测精度,从而为SVR模型应用于动物疫病预测提供技术支持。
1.1 数据来源
通过《兽医公报》收集了广西省2007年1月—2013年12月共84个月的猪肺疫月发病数,通过《中国农业统计年鉴》收集了当地同期年末生猪存栏数,计算广西省2007—2013年猪肺疫月发病率(图1)。
图1 广西省2007年1月—2013年12月猪肺疫月发病率
1.2 方法与步骤
利用SVR模型进行猪肺疫月发病率时间序列预测,包括相空间重构、混沌特性判定、SVR模型构建、SVR模型参数优化4个步骤。
1.2.1 相空间重构 利用SVR模型对混沌时间序列进行预测,该模型以Takens嵌入定理[11]为基础。Takens嵌入定理保证了可以从一维混沌时间序列中重构一个与原动力系统在拓扑意义下等价的相空间。混沌时间序列的判定、分析与预测均在这个重构的相空间中进行,相空间重构是混沌时间序列研究的关键[12],重构的质量直接关系到模型的建立和预测结果。其中,时间延迟和嵌入维数的选取是相空间重构的关键。由于猪肺疫月发病率时间序列数据间存在自相关性,为减少数据间自相关性造成的影响,本研究采用自相关函数法[13]计算时间延迟。由于猪肺疫月发病率时间序列数据量有限,本研究采用比较适合于小数据量且只需要时间延迟1个参数的Cao方法[14]计算嵌入维数。
1.2.2 混沌特性判定 只有混沌的时间序列才可借助Takens嵌入定理,在重构的相空间中进行分析预测研究,否则得出的结果是不可信的[15]。因此,利用SVR模型进行猪肺疫月发病率时间序列预测前,判定该时间序列是混沌还是噪声是必不可少的步骤。主分量分析(PCA分布)方法[16]是一种能有效识别混沌和噪声的方法,本研究采用该方法判定猪肺疫发病率时间序列是否具有混沌特性。
1.2.3 SVR模型构建 SVR建模的基本思想是将非线性问题映射到高维空间的线性问题,具体是通过采用核函数来代替高维空间中的内积运算,从而避免高维运算,巧妙解决非线性问题。SVR模型构建中,核函数、损失函数及误差惩罚因子C的选择至关重要[17]。径向基核函数(RBF)通常具有比其他核函数更好的效果[18],且核函数参数选择比较容易,本研究选择RBF为核函数。损失函数采用应用最广泛的ε不敏感损失函数。
1.2.4 SVR模型参数优化 本研究构建的SVR模型中,损失函数参数ε、误差惩罚因子C和RBF核函数参数g的取值是影响预测效果的关键因素。分别采用网格搜索算法、遗传算法、粒子群算法优化确定SVR模型参数组合。
1.3 数据分析处理
本研究时间延迟和嵌入维数计算、混沌特性判定、SVR模型构建和参数优化以及预测均在MATLAB R2011b软件及libsvm-mat-2.89工具箱下编程实现。
2.1 相空间重构及混沌特性判定
采用自相关函数法对广西2007 年1 月—2013 年12月猪肺疫月发病率时间序列建立自相关函数与时间延迟的对应关系(图2),当自相关函数下降到初始值的1-1/e倍时,所对应的时间延迟2为该时间序列的时间延迟。
图2 自相关函数法计算重构相空间的时间延迟
用已求得的时间延迟和Cao方法绘制E1(判定序列的嵌入维数)、E2(度量序列中确定性成分)[14,19]随嵌入维数变化的曲线(图3)。当曲线中嵌入维数逐渐增加到一定值后E1停止变化或变化波动较小,则表明嵌入维数是存在的,且此时对应的嵌入维数值即为合适的嵌入维数,据此判定该序列嵌入维数为6。另外,E2离1的远近程度和起伏程度可作为判定序列中确定性成分的度量,噪声幅度越大,E2越接近1且波动范围越来越小,序列表现出的随机性越强。本研究中E2波动不大,说明该序列随机性较强,可预报性较差,这可能是动物疫病一直以来难于预测的原因之一。
图3 Cao方法计算重构相空间的嵌入维数
取时间延迟为2,嵌入维数为6,采用主分量分析方法绘制主分量谱(图4)。混沌信号的主分量谱图是一条过定点且斜率为负的直线,而噪声的主分量谱图是一条与X轴接近平行的直线[16],据此可判定该时间序列具有混沌特性,可借助Takens嵌入定理,在重构的相空间中进行预测研究。
图4 主分量谱判定时间序列的混沌特性
设广西2007年1月—2013年12月的猪肺疫月发病率一维时间序列为x(t1),x(t2),…,x(ti),…,x(tn),其中n=84。按照时间延迟为2、嵌入维数为6进行相空间重构,共获得72组输入及输出向量(表1)。
表1 广西2007年1月—2013年12月猪肺疫月发病率
2.2 SVR建模及预测
将相空间重构获得的72组数据中前66组作为训练样本集,用于建立模型,后6组作为试验样本集,用于验证模型,其中,后6组中输出向量对应的时间序列为2013年7月—2013年12月的猪肺疫发病率数据。在验证模型时,每预测一步后,将新一组的实际数据添加到训练样本,再进行下一次预测模型构建和预测。分别采用网格搜索算法、遗传算法、粒子群算法3种参数优化算法确定SVR模型中损失函数参数ε、误差惩罚因子C和RBF核函数参数g 3个参数的最优组合,获得猪肺疫发病率SVR模型预测值与预测误差(表2)。由表2可以看出,运用遗传算法优化SVR模型参数相比其他2种方法能够更好地预测出猪肺疫发病率疫情变化趋势。
表2 利用3种算法优化参数后的猪肺疫发病率SVR模型预测值与预测误差
利用3种算法优化参数后的猪肺疫发病率SVR模型预测效果评价见表3。由表3可以看出,用遗传算法优化参数后模型预测效果最优,预测MAD为0.043、MSE为0.003、MAPE为0.202。本研究预测结果存在一定误差,这可能是由于采用的猪肺疫月发病率时间序列的随机性较强,整体来说,误差在可接受范围内,由此可见,采用遗传算法结合SVR对猪肺疫发病率进行预测是可行有效的,并可为其他动物疫病预测提供借鉴和参考。
表3 利用3种算法优化参数后的猪肺疫发病率
本研究开展前期,采用灰色GM(1,1)模型预测时发现,数据经多种变换后仍无法通过级比检验,表明数据不适合用GM(1,1)模型预测;采用ARIMA模型预测时对拟合模型进行白噪声检验,结果显示,残差非白噪声,且实际预测效果并不理想,表明数据不适合用ARIMA模型预测。以上研究结果与董选军[5]利用灰色模型和ARIMA模型预测宁波市镇海区伤寒、副伤寒时的结论一致,表明灰色模型和ARIMA模型在复杂的动物及人类疫病预测方面并非总是有效。本研究在判定数据为混沌时间序列的基础上,对数据进行相空间重构,提出了采用SVR模型进行预测,并且分别采用网格搜索算法、遗传算法、粒子群算法这3种算法进行模型参数优化,结果表明,采用遗传算法优化SVR的方法可以实现广西猪肺疫情发病率的预测。可见,SVR模型在复杂动物疫病预测方面比灰色模型、ARIMA适用性强,具有一定优势。
在利用SVR模型进行动物疫情定量预测时,可依据拟分析数据具体情况,通过相空间重构方式、核函数选择、参数优化、采用组合模型等途径提高预测效果。需要指出的是,动物疫情时间序列中噪声及异常值干扰也是造成模型预测精度不高的因素,对其进行降噪处理及异常值检测也是目前利用时间序列进行动物疫情预测中需要解决的关键问题,可进一步开展相关研究。
[1] 李滋睿,覃志豪.重大动物疫病区划研究[J].中国农业资源与区划,2010,31(5):18-22,76.
[2] 徐强,肖建华,陈欣,等.基于ARIMA的猪丹毒预测模型研究[J].中国预防兽医学报,2012,34(1):41-44.
[3] 许丹宁,王洪斌,肖建华.基于ARIMA的猪瘟发病率预测模型的建立[J].中国预防兽医学报,2009,31(5):352-355.
[4] 梁毅,刘世洪.基于遗传算法优化的BP 神经网络的组合预测模型方法研究[J].中国农业科学,2012,45(23):4924-4930.
[5] 董选军.宁波市镇海区伤寒、副伤寒流行趋势及预测模型评价[D].杭州:浙江大学,2008:20-28.
[6] Suykens J A K,Gestel T V,Brabanter J D,etal.Least squares support vector machines[M].Singapore:World Scientific Publishing,2002:79-93.
[7] Amari S,Wu S.Improving support vector machine classi-fiers by modifying kernel functions[J].Neural Networks,1999,12(6):783-789.
[8] 许振赐,刘君陶,王国栋,等.基于PSO_LSSVM和Elman神经网络的北京市气温预测效果比较[J].河南农业科学,2013,42(3):157-160.
[9] 朱天一,汪春秀,王定成.基于SVM的梅雨量预测方法[J].微计算机信息,2012,28(3):169-170.
[10] 朱杰.基于最小二乘支持向量机的传染病预测与研究[D].苏州:苏州大学,2009:31-35.
[11] Takens F.Detecting strange attractors in turbulence[J].Lecture Notes in Mathematics,1981,898(1):366-381.
[12] 陈铿,韩伯棠.混沌时间序列分析中的相空间重构技术综述[J].计算机科学,2005,32(4):67-70.
[13] Rosenstein M T,Collins J J,Luca C J D.Reconstruction expansion as a geometry-based framework for choosing proper delay times[J].Physica D Nonlinear Phenomena,1994,73(94):82-98.
[14] Cao L Y.Practical method for determining the minimum embedding dimension of a scalar time series[J].Physica D Nonlinear Phenomena,1997,110(1):43-50.
[15] 殷礼胜.交通流量时间序列混沌特性分析及预测研究[D].重庆:重庆大学,2007:3-4.
[16] 吕金虎,陈安君.混沌时间序列分析及应用[M].武汉:武汉大学出版社,2002:49-51.
[17] 闫国华,朱永生.支持向量机回归的参数选择方法[J].计算机工程,2009,35(13):218-220.
[18] Keerthi S S,Lin C J.Asymptotic behaviors of support vector machine with Gaussian kernel[J].Neural Computation,2003,15(7):1667-1689.
[19] 于江龙,彭跃华.应用互信息法和Cao方法探讨ENSO的可预报性[J].气象科技,2011,39(1):9-12.
Research on the Swine Lung Plague Incidence Forecast Model Based on Support Vector Machine Regression
FENG Xiao1,QIAO Shu1,LI Guoqiang1,QIAN Shaojun2,ZHAO Qiaoli1,>ZHOU Meng1,HU Feng1,ZHENG Guoqing1*
(1.Institute of Agricultural Economy and Information,Henan Academy of Agricultural Sciences,Zhengzhou 450002,China;2.Affairs Management Bureau of Henan Provincial Government,Zhengzhou 450003,China)
In order to explore the effect of support vector machine regression(SVR) model for quantitative forecast of animal disease and offer the decision basis for animal disease prevention and control,SVR model was used to forecast the monthly incidence of swine lung plague using the time series of monthly incidence of swine lung plague from 2007 to 2013 in Guangxi.Firstly,the auto correlation function method and Cao method was used to calculate the delay time as 2,the embedded dimension as 6,and the phase space of the time series was reconstructed.Secondly,principal component analysis method(PCA) was used to judge the chaotic characteristics of the time series,which showed the feasibility of the time series analyzed in the reconstructed phase space.Finally,based on the reconstructed phase space,SVR model was build to forecast the monthly incidence of swine lung plague,and the mesh optimization algorithm,particle swarm optimization algorithm and genetic algorithm was used to optimize the parameters of the model.The results showed that the optimal parameters of SVR model were optimized by genetic algorithm,and the mean absolute deviation(MAD) was 0.043,the mean square error(MSE) was 0.003,the mean absolute percent error(MAPE) was 0.202.Therefore,GA-SVR model was feasible and effective for the forecast of swine lung plague incidence.
swine lung plague; forecast; time series; support vector machine; phase space reconstruction
2015-08-12
河南省重大科技专项(121100111000);河南省农业科学院自主创新基金项目(2015JC22)
冯 晓(1978-),女,河南郑州人,助理研究员,硕士,主要从事农业信息技术研究。E-mail:fengxiaotyh@163.com
*通讯作者:郑国清(1964-),男,河南淅川人,研究员,博士,主要从事农业信息技术研究。E-mail:zgqzx@hnagri.org.cn
S851.31
A
1004-3268(2016)01-0138-05