SCI论文(www.lunwensci.com):
摘 要:农业数据分析类课程的教学需要对农业数据进行建模、分析和可视化等,因而选择一种简单且能涵盖所有实践操作的计算机软件作为工具,对于这类课程的教学具有重要的促进作用。Matlab 语言作为一种简单易用的程序语言,具有友好的工作平台和编程环境、强大的计算机数据处理能力、出色的图形处理功能,适合于农业生态数学建模课程。本文中的教学实验表明,Matlab 所具有的数据处理、建模、分析和可视化等集于一体的功能,能够极大地减少学生学习其他不同功能的软件,从而能够更专注于学习农业生态建模的理论知识、统计学知识以及空间数据处理和分析知识,进而提升学生对农业数据的分析和处理能力,以及基本的科研素养。
关键词:课程教学;农业分析;MATLAB 语言
本文引用格式:李冬双,孙成明 .MATLAB 在农业数据分析类课程教学中的应用[J]. 教育现代化,2021,8(36):18-21.
Application of MATLAB in the Teaching of Agricultural Data Analysis CoursesLI Dongshuang, SUn Chengming
(Agricultural College of Yangzhou University, Yangzhou Jiangsu)
Abstract: The teaching of agricultural data analysis courses requires modeling, analysis and visualization of agricultural data, so choosing a simple computer software that can cover all practical operations as a tool has an important role in promoting the teaching of such courses. As a simple and easy-to-use programming language, Matlab has a friendly working platform and programming environment, powerful computer data processing capabilities, and excellent graphics processing functions. It is suitable for agricultural ecological mathematical modeling courses. The teaching experiment in this article shows that the integrated functions of data processing, modeling, analysis, and visualization of Matlab can greatly reduce students’ learning other software with different functions, so that they can focus more on learning agricultural ecological modeling. Theoretical knowledge, statistical knowledge, and spatial data processing and analysis knowledge will improve students’ ability to analyze and process agricultural data, as well as basic scientific research literacy.
Keywords: course teaching; agricultural analysis; MATLAB language
一 引言
农业生态数学建模是农学、数学和计算机科学的交叉领域,是农学由定性描述转变为定量分析的重要组成部分,主要包括农业数据的处理、建模、分析和可视化等研究内容。农学生态建模课程是农学专业学生锻炼数据分析能力和科研素养的重要途径,这类课程的教学具有较高的实践操作需要,因而选择一种简单、功能强大、并且能覆盖所有内容的计算机软件作为工具,对于促进教学进度、提升教学效果具有重要的意义,也可在教学过程充分反映学科重大特色、适应高校教学改革和人才培养。
伴随着农业遥感和信息技术的发展与提升,逐渐积累了大量的农业生态监测大数据;此外,各类农业科学实验也会获取不同实验记录数据,因而农业科学的研究工作需要对不同来源、不同格式的数据进行处理和分析 [1]。借助数学模型探索各类农业数据之间的关系,并应用计算机技术进行求解是获取这些数据中潜在的特征和规律的重要途径,进而支撑农业科学领域的知识发现 [2]。
同时,由于农业要素和农学现象具有空间分布的特性,如农田形状及其所处坡度 、农田土壤养分变异和农田土壤水分变异、农田土壤硬度变异、农田杂草和病虫害分布、农田作物产量分布等 [3-5]。因此,需要用计算机软件进行对数据进行空间分析和空间可视化,把数据转换成空间分布图,以便更直观地了解农业数据的内涵 [2-4]。因而,农业研究需要一种完整的软件系统, 以支撑数据处理、分析和结果展示等农学研究的不同阶段,应用于农业生态数据建模的教学 [6-8]。
MATLAB 是美国 MathWorks 公司研发的用于科学与工程计算的数学软件 , 具有丰富的工具箱支撑各种数据分析工作,可通过调用不同的工具箱实现数据分析中的不同步骤和流程,进而实现数据处理、分析、建模和可视化等一系列数据分析流程的融合[9]。并且, MATLAB 语言以矩阵为数据类型基础,所有语法围绕矩阵进行,比其它语言数据类型更简单,并且其解释性的语言风格有效避免了复杂的理论掌握和长时间的编程工作,对实际应用而言更简单 、方便且易掌握,减少学生对软件工具的学习负担。因而在农业研究实践中具有较多的应用,适用于农业生态数据建模、农业统计学等课程的教学 [1]。本文以所教授的农业生态数据建模课程中时间序列分析的教学案例为例,介绍 MATLAB 在农业信息系统专业本科教学中的应用,以及取得的教学效果。
二 MATLAB 与数据分析
(一) 数据预处理
不同采集方式所产生的农业数据,通常具有不完整性(例如缺少某些属性值)、不一致性(例如存在名称的差异)和不同的噪声(包括错误或异常值),以及常见的数据维度分布区不均衡等问题(比如一个维度的最小值是 0.01,另一个维度最小值却是 1000),导致在数据分析的时候,例如计算相关性或者方差等指标,会带来结果偏差等问题。因此通常需要对数据进行一些预处理,例如数据清洗、平滑去噪、数据变换(标准化变换和极差归一化变换) 等。此外,在田间实际定位采样时,采样点多是呈不规则分布的,为了生成等值线或等值面 , 需要进行农田空间格网划分和农田土壤数据插值。
在 MATLAB 中, 提供了多种数据预处理的函数。例如,对于数据的平滑处理,MATLAB 曲线拟合工具箱(Curve fitting Toolbox)中的 smooth 函数、金融工具 (financial Toolbox) 箱中的 smoothts 函数以及信号处理工具箱(Signal Processing Toolbox) 中medfilt1 函数等都能完成数据的平滑处理,进而实现数据去除噪声的目的。对于数据变换,MATLAB 统计工具箱(Statistics and Machine Learning Toolbox) 中的 zscore 函数可实现数据的标准化变换;神经 网 络 工 具 箱 中 (neural network Toolbox) 中 的mapminmax 函数可实现数据的映射变换;以及对于数据量级相差较大的变量,提供了 Log 变化函数等 [7]。
(二) 数据统计
数据预处理后,需要继续进行探索性数据分析,即计算不同的数据特征,以了解原始数据基本状况, 为后续数据挖掘提供思路。常见的探索性数据分析主要有数据的分布分析、对比分析、统计量分析、周期性分析、贡献度分析、相关性分析等 [10]。以统计量分析为例,常从位置特征、离散特征和形态特征, 其分别可以利用均值、中位数、众数,极差、方差、标准差,以及变异系数、偏态系数和峰态系数等来表征。而这些都可以通过调用 MATLAB 工具箱中的函数来实现,例如样本数值的平均状态可通过均值体现 mean 函数,包括几何平均 geomean 函数,衡量样本数值分布的离散程度可利用方差函数 var 或者标准差函数 std, 两个随机变量之间线性相依的程度可以使用 corrcoef 函数来计算。统计分析中常用的假设检验,利用得到的少量的信息,来判断整体是否达到某个标准,可利用 ranklsum 函数实现,具体的有均值的 t 检验 ttest(),均值比较 t 检验 ttest2(),卡方检测 vartest(),方差 f 检验 vartest2(),指定阶的中心距 moment 函数 [7]。
(三) 数据挖掘
MATLAB 作为一个强大的科学计算软件, 提供了简单的矩阵语言加工具箱函数,比较适合用来做数据挖掘。 例如,Statistics Toolbox 和 neural networks Toolbox 可以用来实现数据的回归和分类; fuzzy Logic Toolbox 可以进行规则推理;高阶谱分析工 具 箱 (Higher— Order SpectralAnalysis Toolbox) 可 以 用来实现高阶谱估计、非线性特征的检测、估计和重构,以及阵列信号处理和谐波重构。优化工具箱(Optimization Toolbox) 可实现线性规划和二次规划、多目标优化、约束条件下的优化以及非线性方程求解。此外,matlab 的一些常用的主要函数也可实现各种数据挖掘的方法,包括 kmeans() 函数可实现 k- 均值聚类,clusterdata() 函数、ClassificatonTreefit() 函数可实现决策树回归或分类;svmtrain() 函数可实现支持向量机分类等 [3,9]。
(四) 数据可视化
MATLAB 不仅具有强大的数值计算功能, 提供了丰富的可视化工具,通过图像编辑窗口和绘图函数可以方便地绘制二维、三维甚至多维图形。并且其绘图功能十分灵活,不但可以在一个图形窗口中绘制多个完全独立的子图,也可以利用 hold 函数实现用户在一个图像中绘制多条曲线,包括坐标添加网格线 grid 函数, 坐标加边框 box 函数等丰富的图像操作。特别是需要进行相关图形的比较或者是同类图像的分析时,比较方便的方式是把若干图像在同一个图形在同一个图形窗口显示出来,这个可以利用 MATLAB 的子图绘制函数 subplot()。同时, MATLAB 还提供了丰富的三维绘图函数,例如三维曲线、网格和曲面图, 可以利用 plot3、mesh、和surf[2]。
通常在教学科研中演示统计结果,需要使用一些特殊图形,则可以利用 MATLAB 提供的若干特殊图形绘制函数,例如 box plots(box 图),distribution plots(概率图),scatter plots( 散点图 )。对于数据的分布分析,则可通过频率分布表、频率分布直方图来直观定量分析,以及利用饼图、条形图等实现定性分析,这些图均可在 MATLAB 中利用不同函数实现。此外,一些数据对比分析通常把两个相互联系的指标进行比较,以展示和说明研究对象规模的大小、变化速度的快慢,以及其他各种内在关系的探讨。这类分析特别适用于指标间的横纵向比较、时间序列的比较分析,常用折线图。常用的绘图函数如下表所示:
三 教学案例(时间序列分析)
农学分析中一个比较重要的内容就是基于时间序列数据的进行农业未来变化的预测与分解,即利用过去一段时间内某事件历史监测数据来预测未来一段时间内该事件的发展趋势。这是一类比较复杂的时间序列建模预测问题,和回归模型的预测不同, 时间序列模型主要依赖于事件发生的先后顺序,同样大小的值改变顺序后输入模型产生的结果是不同的。下面以某地区月均水流量数据(来源于 https:// swat.tamu.edu) 为例, 通过教学实践分析农业数据
中时间序列的预测与分析 , 展示在 MATLAB 中进行农业数据的分析、建模与可视化。
教学过程总体上分为数据读取与处理、特征识别与分析、可视化表达与预测三个步骤开展进行。在数据读取与处理步骤中,首先介绍如何利用MATLAB 读取 nc 格式文件,而后通过具体程序代码展示如何利用 neTCDf 文件中的相关函数进行“.nc” 文件打开、文件格式的获取以及变量属性获取等操作,进而利用空值判定函数 isnan(),一维插补函数interp1() 等进行数据的预处理。
在特征识别与分析步骤的教学中,首先,课程将从理论上回顾时间序列分解与预测的基本概念, 并进一步复习时间序列分析的相关基础理论知识。在此基础上,重点介绍 MATLAB 中基本的统计量计算函数、时间序列分解的计算以及序列预测的相关计算方法。
多数的时间序列分析模型,多是基于数据平稳性假设。因此,对于给定的数据,首先应进行平稳性检验。这里可以利用 MATLAB 提供的 adftest 和kpsstest 进行平稳性检验。在这个过程中,若原始数据不满足假设,则需要进一步对数据取 log、差分等操作,直到满足平稳性假设为止。接着利用MATLAB 提供的 forest 函数, 进行单步预测, 以检验该模型对于此类农业数据的适用性。其原始数据和根据单步预测的效果如下图,以及计算得到的残差分布。可以看到单步预测的效果和原始数据之间可以较好地吻合,并且残差分布波动也比较小,验证了该方法具有较好的稳定性。
为进一步验证模型参数的合理性,对处理后的数据进行残差检验,并借助 MATLAB 提供的可视化作图函数进行作图展示,结果如下图 2 所示。
其中,Standardized Residuals 是查看残差是否接近正态分布,理想的残差要接近正态分布;QQ 图是检验残差是否接近正太分布的,理想的结果中蓝点应该靠近红线。进一步调整模型参数后进行预测, 效果如下图 3 所示:
四 教学效果与结论农业生态数学建模课程的教学涉及基础理论讲解、数据处理和分析方法的实践操作,需要学生对理论知识有准确的理解,同时能够熟练掌握分析软件,因而选择一门简单且全面的计算机软件进行农业数据的处理和分析对提升这类课程的教学效果具有重要的促进作用。
Matlab 作为一种简单易学的程序语言,具有友好的编程环境、强大的科学计算功能、丰富的数据处理和数据分析方法,以及出色的图形绘制功能。通过基本的讲解和介绍,学生能快速入门, 进行适当的数据操作和分析的实践。上述教学实验表明,Matlab 所具有的数据处理、建模、分析和可视化等集于一体的功能,能够极大地减少学生学习其他不同功能的软件,从而能够更专注于学习农业生态建模的理论知识、统计学知识以及空间数据处理和分析知识,进而提升学生对农业数据的分析和处理能力,以及基本的科研素养。
参考文献
[1]AnDReASSen e, CLAUSen A, SCHeVeneLS M, LAZAROV BOYAn S, Sigmund O. efficient topology optimization in MATLAB using 88 lines of code [J]. Structural and Multidisciplinary Optimization, 2010, 43(1): 1-16.
[2]庄卫东,汪春,王熙 . 基于 MATLAB 的农田信息可视化实现 [J]. 农机化研究 , 2011, 33(6): 137-140.
[3]汪雪格,汤洁,王立军,等 . 基于 GIS-MATLAB-CA 的农业景观格局空间优化模型的建立及应用 [J]. 安徽农业科学 , 2009, 14: 476-479.
[4]朱哲燕,陈红 . 基于 MATLAB 的作物信息光谱分析平台的设计与开发 [J]. 信息技术 , 2012, 16: 13.
[5]赵华慧,李云伍,曾庆庆,等 . 基于 MATLAB 的旋耕机运动仿真分析 [J]. 西北农林科技大学学报 ( 自然科学版 ), 2016, 44(01): 230-234.
[6]陈致水 , 王娟 , 罗洪峰,等 . MATLAB 在精细农业中的应用 [J]. 安徽农业科学 , 2011, 39(30): 18979-18981.
[7]贾莹媛,黄张裕,杨富春,等 . 基于 Matlab 的 TeQC 在 GPS 数据预处理中的应用 [J]. 海洋测绘 , 2012, 32(2): 52-54.
[8]宋佳 . 基于 MATLAB 的谷物干燥过程数值模拟及数字化设计[D]. 吉林大学 , 2014.
[9]余强毅,吴文斌,陈羊阳,等 . 农作物空间格局变化模拟模型的 MATLAB 实现及应用 [J]. 农业工程学报 2014, 12: 105-114.
[10]闫银发,李晓杰, 娄伟,等 . 针对农业机械化专业的“ 智能控制及其 Matlab 实现” 案例库设计 [J]. 农业工程 , 2020, 10(03): 105-108.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/32531.html