统计软件及应用课程设计-----虫情危害预测学院:班级:学号:姓名:指导老师:1目录一.背景与意义....................................................................................................2二.问题重述.........................................................................................................2三.方法简介.........................................................................................................2(一).判别分析................................................................................................2(二).BP神经网络...........................................................................................3四.数据处理与分析.............................................................................................3(一).数据预处理............................................................................................4(二).判别分析................................................................................................41.模型建立...............................................................................................42.模型优化...............................................................................................63.模型应用...............................................................................................7(三).BP神经网络...........................................................................................71.模型建立...............................................................................................72.模型优化...............................................................................................83.建模重建.............................................................................................104.模型应用.............................................................................................11五.总结与建议...................................................................................................122一.背景与意义农作物主要害虫常年对农作物造成严重危害,使农业经济遭到损失。预测害虫未来的发生动态,可以使治虫工作得以有目的、有计划、有重点的进行。害虫的预测预报工作是进行害虫综合防治的必要前提。只有对害虫发生危害的预测预报做到及时、准确,才能正确的拟定综合防治计划,及时采取必要的措施,经济有效的压低害虫的发生数量,保证农业的高产、稳产。二.问题重述本文选取的预测预报对象是安徽庐江的田间水稻。水稻螟虫是水稻的重要害虫之一,对农作物的危害极大,其数量的多少一定程度上决定着水稻受危害的严重程度。通过对此昆虫的基本了解,发现气候因素对昆虫的发生发展有着密切关系,可以直接影响昆虫的生长、发育、生存、繁殖,从而造成害虫不同的发生期、发生量和危害程度。同时水稻螟虫是变温昆虫,其生长、发育和繁殖与气象条件的关系极为密切,所以我们从气候因素角度入手进行分析是合理的。本文从影响害虫生存繁殖的气候因素角度入手,结合往年的气象资料以及影响害虫生存繁殖的重要气候因素,选取了平均气温、最低气温、日照时间及降雨量四个主要影响因素,运用统计学方法确定虫害的发生量与气候因子的关系,并给出相应的预测方法。三.方法简介针对实际问题,我们需要通过对历史数据的分析,给出准则:当给定新时期下每一样本对应的各项气候指标时,能准确的判断其对应的虫害程度。下面介绍两种方法。(一).判别分析判别分析是在分类确定的条件下,根据某一研究对象的各种特征值判别其类型归属问题的一种多变量统计分析方法,是用以判别个体所属群体的一种统计方法。根据判别中的组数,可以分为两组判别分析和多组判别分析;根据判别函数的形式,可以分为线性判别和非线性判别;根据判别式处理变量的方法不同,可以分为逐步判别、序贯判别;根据判别标准不同,可以分为距离判别、Fisher判别、Bayes判别法。本文选用的是Fisher判别法。Fisher判别,是根据线性Fisher函数值进行判别,使用此准则要求各组变量的均值有显著性差异。该方法的基本思想是投影,即将原来在R维空间的自变量组合投影到维度较低的D维空间去,然后在D维空间中再进行分类。投影的原则是使得每一类的差异尽可能小,而不同类间投影的离差尽可能大。Fisher判别的优势在于对分布、方差等都没有任何限制,应用范围比较广。另外,用该判别方法建立的判别方差可以直接用手工计算的方法进行新样品的判别,这在许多时候是非常方便的。3(二).BP神经网络BP神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用梯度下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层、隐藏层和输出层。BP神经网络,由信息的正向传播和误差的反向传播两个过程组成。输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。本文运用的是单层前馈网络模型,一般称为三层前馈网或三层感知器,即:输入层、中间层(也称隐层)和输出层。如下图所示它的特点是:各层神经元仅与相邻层神经元之间相互全连接,同层内神经元之间无连接,各层神经元之间无反馈连接,构成具有层次结构的前馈型神经网络系统。四.数据处理与分析数据来自于1980~1988年6~10月安徽庐江的月平均温度、月最低温度、月日照时间、月降雨量以及水稻的月平均虫害程度,且数据都是经过标准化之后的。4(一).数据预处理首先,将降雨量的最后一个数据中的空格消除,再把原始数据的前两列合并为一列,并保存为CSV(逗号分隔)格式,之后用函数将数据读入到R的内存中。shuju-read.csv('chongqing.csv')为了方便之后的操作,对各列进行命名,其中date代表年度时间,x1~x4分别代表平均气温、最低气温、日照时间、降雨量,y代表虫害程度。同时给出各类别下的样本量个数。由于本文不采用时间序列预测的方法进行分析,故第一列的数据使用不到,最终确定使用的数据集为剔除原数据框第一列之后的数据框。从原始数据中可知样本量为54,不是很多,如果再进行分块,可能由于样本量的限制无法得到最好的结果,因此,下文中的训练集和测试集均选用原始数据来充当。names(shuju)-c('date','x1','x2','x3','x4','y')x-shuju[,2:6]table(y)y1234356211将数据框X中的变量链接到内存中,降低后续代码的复杂程度,提高代码的可读性。attach(x)(二).判别分析1.模型建立安装并加载软件包MASS。install.packages(“MASS”)library(MASS)将训练集中的y变量作为判别变量,其他剩余的变量作为特征变量,运用lda()函数来进行费希尔判别下的线性判别。lda-lda(y~.,data=x)#线性判别ldaCall:lda(y~.,data=x)Priorprobabilitiesofgroups:12340.648148150.111111110.037037040.20370370Groupmeans:x1x2x3x41-0.03336857-0.007231429-0.0008800-0.228697120.769233330.7488000000.1302167-0.269633330.377650000.4366000000.6406500-0.497350040.565145450.6081909090.2076455-0.2936727Coefficientsoflineardiscriminants:5LD1LD2LD3x11.1966105-1.8868126-3.1952390x20.97735881.18404273.3471367x30.24311362.1779657-0.2219837x4-0.2754396-0.37820630.4283132Proportionoftrace:LD1LD2LD30.87670.11970.0036输出结果的第二项为此次过程中各类别所使用的先验概率,其实就是训练集中判别变量各水平下的数量占总样本量的比例。第三项为各变量在每一类别中的均值,从中可以看出x1~x3在各类别下有较明显的差别,相反x4在各类别下的差别很小,也就说明降雨量对虫害程度的影响不是很显著。第四项给出线性判别式的参数矩阵。第五项给出各线性判别式分别的贡献比例。plot(lda)从上图可以看到,在3个线性判别式下1~4这4个类别的分布情况,不同类别样本已经用相应数字标出。可能受样本量的限制,图中并不能看出很明显的分布情况。下面用上述模型对测试集进行预测,并给出测试集中y变量的预测结果与实际类别的混淆矩阵。pred-predict(lda,x[,1:4])pred$class[1]1144111