r语言课程设计_第1页
r语言课程设计_第2页
r语言课程设计_第3页
r语言课程设计_第4页
r语言课程设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

统计软件与应用课程设计-虫情危害预测大学:类别:学位:名称:指导老师:目录1 .背景和意义2二.问题的再讨论2三.方法概述2(1) .判别分析2(2).BP神经网络3四.数据处理和分析3(1) .数据预处理4(2) .判别分析41 .建模42 .模型优化63 .模型应用7(3).BP神经网络71 .建模72 .模型优化83 .建模重建104 .模型应用11五.总结和建议121 .背景和意义农作物主要害虫多年来严重危害农作物,损害农业经济。 预测害虫未来的发生动态,可以以治虫工作为目的、规划和重点。 害虫预测预报是进行害虫综合防治的必要前提。 只有及时准确预测害虫发生危害,才能正确制定综合防治计划,及时采取必要措施,经济有效地控制害虫发生数量,保证农业高产稳产。二.问题的重新讨论本文选择的预测预报对象为安徽庐江旱田水稻。 水稻螟蛾是水稻的重要害虫之一,对农作物的危害极大,其数量多少决定了水稻受到危害的程度。 通过对该昆虫的基本理解,发现气候因素与昆虫的发生发展密切相关,直接影响昆虫的生长、发育、生存、繁殖,害虫的发生时期、发生量和危害程度不同。 同时,稻螟为变温昆虫,其生长、发育和繁殖与气象条件的关系极为密切,从气候因素的角度进行分析是合理的。本文从影响害虫生存繁殖的气候因素角度出发,结合常年气象资料和影响害虫生存繁殖的重要气候因素,选择平均气温、最低气温、日照时间和降雨量四个主要影响因素,采用统计学方法确定害虫发生量与气候因素的关系,给出相应的预测方法。三.方法概述针对实际问题,我们需要通过分析历史数据,在新时期给出各自的气候指标时,提出正确判断其受灾程度的标准。 下面介绍两种方法。(1) .判别分析判别分析是在分类确定的条件下,根据某研究对象的各种特征量判别其类型归属问题的多变量统计分析方法,是用于判别个体所属集团的统计方法。 根据判别中的组数,根据分为两个组判别分析和多个组判别分析的判别函数的形式,利用能够分为线性判别和非线性判别的判别式处理变量的方法,根据能够分为阶段性判别、逐次性判别的判别基准,分为距离判别、Fisher判别、Bayes判别法本文选择了Fisher判别法。 Fisher判别是基于线性Fisher函数值来判别的,用以要求各组的变量的平均值有显着性差异。 该方法的基本思想是将原本在r维空间中的自变量的组合投影到维数低的d维空间中,在d维空间中进行分类的投影。 投影原则是尽量减小每个类别的差异,尽量增大类别间的投影分散。 Fisher判别的优点是分布、方差等不受限制,应用范围广。 此外,通过该判别方法确立的判别方差,通过直接手工计算的方法能够判别新的样本的情况较多,非常方便。(2).BP神经网络BP神经网络是1986年Rumelhart和McCelland等科学家小组提出的用误差反传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。 BP网络即使不事先明确描述该映射关系的数学方程式,也能够学习并存储大量的输入输出模式映射关系。 其学习规则采用梯度下降法,通过逆传播不断调整网络权重和阈值,使网络误差平方和最小化。 BP神经网络模型拓扑包括输入层、隐藏层和输出层。BP神经网络由信息的正向传播和误差的反向传播两个过程构成。 输入层的每个神经元从外部接收输入信息,传递到中间层的每个神经元的中间层是内部信息处理层,负责信息转换,根据信息变化能力的需要,中间层进一步处理了最后一个隐藏层传递到输出层的每个神经元的信息,该隐藏层可以设计成单隐藏层或多隐藏层结构当实际输出与期望输出不一致时,进入误差的反传播阶段。 误差通过输出层,修正各层的权重,使误差梯度下降,在隐藏层、输入层逐层反转。 每周重复的信息正向和误差反向传播过程是不断调整各层权重的过程,也是神经网络学习训练的过程,该过程减少到网络输出误差可接受的程度,或者进行到预设的学习次数。本文使用单层前馈网络模型,一般称为三层前馈网络或三层传感器,即输入层、中间层(也称为隐层)和输出层。 如下图所示,各层的神经元只是与邻接层的神经元完全连接,与同层内的神经元之间不连接,各层的神经元之间不进行反馈连接,构成具有分层结构的前馈型神经网络4 .数据处理和分析数据来源于19801988年610月安徽庐江的月平均温度、月最低温度、月日照时间、月降雨量、水稻月平均害虫危害程度,数据均已标准化。(1) .数据预处理首先,删除降雨量最后的数据空间,将原始数据的前2列合并为1列,以CSV (逗号分隔)形式保存,用函数将数据读入r的存储器。shuju-read.csv(chongqing.csv )为了便于后续操作,为每一列命名。 date表示年度时间,x1x4表示平均气温、最低气温、日照时间、降雨量,y表示受灾程度。 同时还列出了每个类别中采样量的数目。 由于本论文不使用时间序列预测的方法,所以第一列的数据不能使用,最终确定了使用的数据集是去除了原数据箱的第一列的数据箱。 从原始数据可以发现样本数量不是54,这意味着以下训练组和测试组选择原始数据发挥作用,因为从样本数量的限制来看可能不能获得最佳结果。名称(Shu ju )-c (日期,x1,x2,x3,x4,y )x-shuju,2:6表(y )y1 2 3 435 6 2 11通过将数据箱x的变量链接到存储器,降低后续代码的复杂性,提高代码的可读性。附加(x )(2) .判别分析1 .建立模型安装并加载软件包MASS。install.packages(“MASS”)库(mass )将训练集的y变量作为判别变量,将剩下的变量作为特征变量,使用lda ()函数进行fischer判别中的线性判别。lda-lda(y、data=x) #线性判别ldaCall:lda(y 、data=x )priorprobabilityofgroups:1 2 3 40.648148150.1111110.030371040.20370370组成员:x1 x2 x3 x41-0.0333857-0.007231429-0.000800-0.228697120.769233330.748800000.1302167-0.269633330.377650000.436600000.64646500-0.497350040.5651519359.6081909090.2076455-0.293627coefficientsoflineardiscriminants :LD1 LD2 LD3x 11.1966105-1.8868126-3.1952390x20.9777758.1845313.3471367x3 0.2431136 2.1779657 -0.2219837x4-0.2754396-0.3782063 0.4283132Proportion of trace:LD1 LD2 LD30.8767 0.1197 0.0036输出结果的第二项是本次过程中各类别使用的事前概率,实际上是训练集中判别变量在各级别的数量占总样本量的比例。 第三项是各变量的每个类别的平均值,x1x3可以看到每个类别的显着差异,相反x4显示每个类别的显着差异很少,即降雨量对受灾程度的影响不显着。 第四项给出线性判别方程的参数矩阵。 第五项给出各线性判别式各自的贡献比例。出图(LDA )从以上的图可知,在3个线性判别方程式中14的4个类别的分布状况,不同类别的样本通过对应的数字来表示。 可受样本量限制,图中未见明显分布。接下来,使用上述模型预测测试集,给出测试集的y变量的预测结果和实际类别的混淆矩阵。pred-predict(lda、x、1:4 )pred$class1 1,4,1,4,1,4,1,1,1,1,4,1,4,1,4,1,4,1,1,1,1,4,1,2 42 1、1、4、1、1、1、1、1级别:1234表(y,pred$class )y 1 2 3 41 32 0 0 32 2 1 0 33 1 0 0 14 6 0 0 5上面的混淆矩阵的行代表实际类别,而列代表预测判决的类别。 在54个测试样本中,实际上属于第1类的是35个,但根据判定结果,在35个样本中,判定为32个正确,3个被误判定为第4类的第2类只有1个判定正确,被误判定为第1类的是2个,被误判定为第4类的是3个第3类正确从矩阵中,只能看到每个类别的预测结果和实际的类别之间的差别,但只是直观的判断,因为看不到该模型的优劣,所以需要构筑数量指标(误判概率=矩阵的非对角线的和/样本的总量),用该指标决定模型的优劣。e _ LDA-sum (as.numeric (pred $ class )!=y)/nrow(x )e_lda1 0.2962963计算表明,上述模型的误判率为29.6%,该模型的预测效果不佳,需要进一步改进。2 .模型优化根据以上所述,使用Fisher判别为各变量的平均值有显着性差异的结果,由于知道降雨量在各类别的平均值的差异小,因此可以考虑除此之外,通过计算各变量在各类别的平均值的方差来作为去除某个变量的理论依据。var=c(var(lda$means,1 )、var(lda$means,2 ),var(lda$means,3 )、var(lda$means,4 )var10. 116789090.107833140.07736.01433243结果表明,x4在各类别中平均值的方差与其他3者相比有很大差异,除此之外,重新考虑进行线性判别分析。lda2-lda(yx1 x2 x3,data=x) #线性判别pred2-predict(lda2、x、1:3 )表(y,pred2$class )y 1 2 3 41 33 0 0 22 3 0 0 33 1 0 0 14 5 0 0 6e _ LD a2- sum (as.numeric (前2 $类别)!=y)/nrow(x )e_lda21 0.2777778从误判率的观点来看,除x4后的模型误判率为27.8%,相对于原模型有所下降,但从混淆矩阵来看,第二类和第三类的误判率为100%,这比原模型难以接受。 两种模式各有好坏,但总体上不太好。3 .模型的应用如果使用这两个模型来预测未来,则只需将必要的变量存储在新的数据框中,数据框内的各变量的名称就必须与模型创建时使用的数据框内的各变量的名称相同,即平均气温、最低气温、日照时间、降雨量分别用x1x4表示然后直接利用模型给出预测结果。(3).BP神经网络1 .建立模型安装并加载软件包nnet。install.packages(“nnet”)库(nnet )在第一次建模之前,先介绍包nnet的函数class.ind ()。 此函数从类变量的系数变量生成类指标矩阵。 下面通过简单的示例对该函数的功能进行更加清楚的阐述。z=c (1,2,3 ) #定义水平数为3的向量class.ind(z )1 2 31,102, 0 1 03,01从输出结果可以看出,此函数主要将向量转换为矩阵,每一行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论