基于混沌理论的害虫发生量非线性建模与预测
2015-07-13向昌盛万方浩
向昌盛,万方浩
(1. 湖南工程学院计算机与通信系,湖南 湘潭 411104;2. 植物病虫害生物学国家重点实验室,北京 100193;3. 中国农业科学院植物保护研究所,北京100193;4. 青岛农业大学农学与植物保护学院,山东 青岛266109)
害虫灾害的发生是一种高度复杂的自然现象,人们对其规律进行长期探索,积累了大量的历史数据,利用这些历史数据对害虫发生趋势进行预测,能够为害虫防治提供有价值的参考意见;因此,害虫发生量建模与预测具有重要的研究意义[1]。
传统的害虫预测模型主要有多元线性回归、自回归滑动平均、趋势外推法等[2–3]。由于受到气象、作物种类、栽培管理等因素的综合影响,加上害虫发生自身独特的变化规律,使得害虫发生具有规律性和周期性及不稳定性,造成传统的模型预测精度较低[4]。随着人工智能技术发展,出现了基于神经网络、支持向量机等机器学习算法的害虫发生量预测模型,它们可以较好地描述害虫的非线性发生趋势,提高了预测精度[5–7]。在害虫发生量建模过程中,神经网络基于结构风险最大原理,要求训练数量比较大,而害虫发生量预测是一种小样本预测问题,导致神经网络常出现“过拟合”、训练速度慢、陷入局部极小等缺陷;支持向量机虽然具有良好的泛化能力,但是训练时间相对较长,建模效率低,难以满足害虫发生预测实时性要求。最小二乘支持向量机(LSSVM)不仅克服了神经网络存在的缺陷,而且解决了支持向量机建模效率低的问题,泛化性能优异[8–10]。大量研究结果表明,害虫的发生具有弱混沌性,而当前害虫发生量预测建模过程中,害虫发生的混沌性常常被忽略,导致害虫预测精度有待提高[11]。近年来,随着混沌理论研究的不断深入,将混沌理论和机器学习方法相结合,为害虫发生预测开辟了一种新的途径[12]。
由于害虫发生量的非线性、混沌、突变性等特点,至今没有统一的预测模型。为了客观、准确描述害虫发生量的变化趋势,以提高害虫发生量的预测精度为目标,笔者提出一种基于混沌理论的害虫发生量非线性预测模型(PSR–LSSVM)。首先采用混沌理论的相空间重构(phase space reconstruction,PSR)[13],将一维的害虫发生量时间序列转化成矩阵形式,挖掘隐藏于害虫发生量历史数据中的信息,再采用任意非线性映射和学习逼近能力的LSSVM对构造的时间序列进行训练,建立害虫发生量预测模型,揭示害虫复杂的发生过程,以期为害虫发生量研究提供一种新的简单、有效的方法。
1 害虫发生量非线性预测模型
1.1 相空间重构
为了研究时间序列数据的混沌性,Packard[14]提出相空间重构理论,可以从实测时间序列中的某一分量了解非线性动力系统相空间的几何特性,并在高维相空间中恢复混沌吸引子。Takens 等[15]证明了重构系统与原始系统在系统特征上具有等价关系。对于一维混沌时间序列x(i),i=1,2,…,n 进行相空间重构,重构后的m 维状态向量可表示为:
式中:N=n–(m–1)τ 为相点的个数;m 为嵌入维数;τ 为延迟时间。
1.2 最小二乘支持向量机
对于训练集{(xi,yi)},i=1,2,…,n,LSSVM 通过非线性映射函数Φ(·)将其映射到高维特征空间进行线性回归,则有:
式中:ω 为权值向量;b 为偏置量。
综合考虑预测性能和建模效率,式(2)可以变为约束条件的优化问题:
式中:γ 为正则化参数;ei为预测误差。
引入拉格朗日乘子[16],将式(3)变为对偶问题,即:
式中:αi为拉格朗日乘子。
选择RBF 核函数作为LSSVM 核函数,定义为:
最后,LSSVM 回归模型为:
从LSSVM 建模过程可知,LSSVM 预测性能与其参数相关,因此采用粒子群优化算法对LSSSVM参数进行选择。
1.3 害虫发生量的非线性预测模型
设害虫发生量的历史数据时间序列为{x1,x2,…,xn},xn是预测目标值,建立害虫发生量输入x={xn–1,xn–2,…,xn–m}与输出y={xn}之间的非线性映射关系:Rm→R,m 为映射维数。通过m 对害虫发生量时间序列{x1,x2,…,xn}进行样本重构,得到LSSVM 的学习样本为:
则害虫发生量时间序列的LSSVM 回归函数为:
式中:t=m+1,m+2,…,n。
基于LSSVM 的害虫发生量时间序列预测模型为:
2 应用实例
2.1 数据源
为避免单个数据集的偶然性,选取云南省普洱市思茅区1985—2006年松毛虫发生面积(表1)和浙江省仙居县1983—1989年松毛虫发生面积(表2)作为研究对象。浙江省仙居县松毛虫发生面积每年采集3次数据,收集时间分别为4月(出蛰)、7月(第一代)和 9月(第二代)。分别取 1983—2003、1983—1988年数据作为训练集,各数据集最后3个数据作为测试集。
表1 1985—2006年普洱市思茅区松毛虫发生面积 Table 1 Occurrence area of Dendrolimus punctatus in Simao, Puer in 1985–2006 hm2
表2 1983—1989年浙江省仙居县松毛虫发生面积 Table 2 Occurrence area of Dendrolimus punctatus in Xianju county, Zhejiang in 1983–1989 hm2
2.2 归一化处理
由于LSSVM 的核函数值通常依赖特征向量的内积,而较大的属性值影响训练效率,需在建模之前,对数据进行归一化处理,将其值缩放到[0,1]之间,具体为:
式中:ix 是原始数据;ix'为归一化后的数据;xmax和 xmin分别代表数据的最大值和最小值。
2.3 延迟时间和嵌入维的确定
由于害虫发生是一种弱混沌时间序列,因此松毛虫发生面积延迟时间τ=1,采用G–P 法[17]选择嵌入维数m。
1) 设延迟时间的初值为τ=1,嵌入维数的初值为m=1。
2) 选择合适的临界距离r,根据式(11)计算Cn(r),采用2个向量最大分量差作为向量距离。
式中:M 为相点的个数;r 为临界距离;θ 为Heaviside 单位函数。
3) 用最小二乘法拟合logC(r)n–logr 曲线中的直线段。
4) 增加嵌入维数,返回步骤2)。
2 种时间序列在不同嵌入维数下的关联维数,如图1 所示。从图1 可知,当嵌入维数m=2 时,普洱市思茅区的松毛虫发生面积关联维数达到饱和状态,当嵌入维数m=5 时,浙江省仙居县的松毛虫发生面积关联维数达到基本饱和状态,表明2 种时间序列的最佳嵌入维数分别为m=2 和m=5。
图1 不同嵌入维数下的关联维数 Fig.1 Correlation dimension under different embedding dimensions
2.4 松毛虫发生量时间序列重构
采用上述延迟时间τ 和嵌入维数m 对2 种松毛虫发生面积时间序列进行重构,并进行归一化处理,结果见表3 和表4。
表3 归一化后重构的训练集(普洱市思茅区) Table 3 Training set after normalize and reconstruction (Simao, Puer)
表4 归一化后重构的训练集(浙江省仙居县) Table 4 Training set after normalize and reconstruction (Xianju county,Zhejiang)
3 结果与分析
3.1 PSR–LSSVM 的预测结果
将普洱市思茅区松毛虫发生面积重构后的训练样本输入LSSVM 学习,粒子群算法找到模型参数为:γ=100,σ=0.675。建立普洱市思茅区松毛虫发生面积预测模型,对测试集进行预测,同样地,将浙江省仙居县松毛虫发生面积重构后的训练样本输入LSSVM 学习,粒子群算法找到模型参数为:γ=1 000,σ=1.65。建立浙江省仙居县松毛虫发生面积预测模型,对测试集进行预测,结果列于表5。由表5 可知,对普洱市思茅区松毛虫发生面积的预测平均相对误差为0.9%,对浙江省仙居县松毛虫发生面积的预测平均相对误差为2.4%。
表5 PSR–LSSVM 的松毛虫发生面积预测结果 Table 5 Prediction results of Dendrolimus punctatus occurrence areas based on PSR–LSSVM
综上所述,对混沌理论与非线性预测算法LSSVM 进行融合建立的预测模型,可以对松毛虫发生面积进行准确预测,主要是由于一维松毛虫发生面积时间序列中包含着吸引子的结构,而重构相空间能够估计出系统演化的信息,使预测结果更符合松毛虫发生面积的实际情况,同时利用非线性预测能力强的LSSVM 对重构后的数据进行建模,并采用粒子群优化算法优化LSSVM 参数,进一步提高了松毛虫发生面积的精度,同时该模型要求的样本不大,克服了一般混沌预测模型要求大样本的缺陷,通用性较好,适合于小样本的害虫预测。
3.2 与其他模型预测结果对比
为了使PSR–LSSVM 的预测结果更具说服力,采用线性预测模型(ARIMA)、PSR–BPNN 神经网络模型(PSR–BPNN)进行对比试验。模型性能评价指标为平均绝对百分误差(MAPE)和均方根误差(RMSE)。表6 的结果表明:
1) BP 神经网络和LSSVM 预测比线性模型ARIMA 预测精度有大幅度提高。由于松毛虫发生具有非线性特征,BP 神经网络、LSSVM 能够更好地反映松毛虫发生量的变化趋势,有效提高了松毛虫发生量的预测精度。
2) 相对于PSR–BP 神经网络(PSR–BPNN),LSSVM 的预测精度更高,说明LSSVM 能较好地克服BP 神经网络存在的过拟合、易陷入局部最优等缺陷,对于小样本害虫时间序列预测,优势更加明显。
3) 将混沌理论和LSSVM 用于害虫发生量预测,误差较小,结果接近真实值,说明PSR–LSSVM能够更加精确反映害虫发生变化趋势和变化特点,预测结果更加可靠。
表6 各模型的预测误差对比 Table 6 Comparison for prediction error of different models
[1] 张孝羲.昆虫生态及预测预报[M].3 版.北京:中国农业出版社,2002.
[2] 许晓风,马飞,丁宗泽,等.褐飞虱发生的相空间线性回归预测模型[J].昆虫学报,2002,45(4):548–551.
[3] 岑冠军,黄寿山,肖莉,等.ARIMA 模型在小菜蛾幼虫种群动态中的应用[J].华南农业大学学报,2008,29(1):109–114.
[4] 张真,李典谟,查光济.马尾松毛虫种群动态的时间序列分析及复杂性动态研究[J].生态学报,2002,22(7):1061–1067.
[5] 陈顺立,张华峰,张潮巨,等.神经网络在松墨天牛发生量预报中的应用[J].福建林学院学报,2006,26(2):6–9.
[6] 石晶晶,刘占宇,张莉丽,等.基于支持向量机的稻纵卷叶螟危害水稻高光谱遥感识别[J].中国水稻科学,2009,23(3):331–334.
[7] 向昌盛,周子英,张林峰.支持向量机在害虫发生量预测中的应用[J].生物信息学,2011,9(1):28–31.
[8] 向昌盛,周子英,武丽娜.基于 ARIMA 和 DSVM组合模型的松毛虫发生面积预测[J].湖南农业大学学报:自然科学版,2010,36(4):430–434.
[9] 谭泗桥,林雪梅,陈渊,等.基于地统计学的多维时间序列模型及其在生态学中的应用[J].湖南农业大学学报:自然科学版,2009,35(4):433–436.
[10] 向昌盛,袁哲明.最小二乘支持向量机在害虫预测中的应用[J].湖南科技大学学报:自然科学版,2012,27(2):71–74.
[11] 向昌盛,周子英.ARIMA 与SVM组合模型在害虫预测中的应用[J].昆虫学报,2010,53(9):1055–1060.
[12] 朱军生,翟保平,刘英智.基于小波分解的害虫发生非平稳时间序列分析和预测[J].南京农业大学学报,2011,34(3):61–66.
[13] 马飞,许晓风,张夕林,等.相空间重构与神经网络融合预测模型及其在害虫测报中的应用[J].2002,22(8):1297–1301.
[14] Packard N H,Crutchifield J P,Farmer J D,et al. Geometry from a time series[J].Phys Rev Lett,1980,45(6):712–716.
[15] Takens F.Determing strange attractors in turbulence [J].Lecture Notes in Mathematics,1988,898:361–381.
[16] An S J,Liu W Q,Venkatesh S.Fast cross validation algorithms for least squares support vector machines and kernel ridge regression[J].Pattern Recognition,2007,40(2):2154–2162.
[17] Grassberger P,Privacies I.Characterization of strange attractors[J].Physical Review Letters,1983,50(5):346 – 349.