数学建模中的几种数据处理方法
2015-12-23刘佳
刘 佳
(淄博职业学院,山东 淄博 255314)
随着科学技术的发展,数学的应用范围日益广泛。数学建模是利用数学方法解决实际问题的一种实践,它有助于提高学生学习数学的积极性,提高学生建立数学模型和运用计算机技术解决实际问题的能力,以及培养学生创新精神和合作意识,因此数学建模以及数学建模竞赛受到广泛关注。在建立数学模型时首先要分析变量,要尽可能的找全研究对象所涉及的量,分清变量主次地位,忽略引起小误差的变量,简化数学模型。分析变量之间的关系,第一步要对数据做处理,即对原始数据做适当变换或其他处理,从中发现隐藏的数学规律,因此数据处理非常重要。本文总结了数学建模中常用的几种数据处理方法,并给出相关软件的调用命令。
1 数据的录入与保存
对数据进行处理首先要学会如何录入保存数据,在Excle 软件与Spss 软件中都是以工作表的形式存储数据,在Matlab 中可以用数据文件.mat 的形式保存数据。Mat 文件是Matlab 以标准二进制格式保存的文件,可将空间中有用的数据变量保存下来。Mat 文件的生成和调用是由函数save 和load 完成的。例:A 是一矩阵,对其赋值,通过命令save data1 A 就会把矩阵A 数据保存在文件data1.mat 中了,若要调用矩阵A,则通过命令lada data1 就会将矩阵A 中的数据加载在当前工作环境中。
2 基本的数据分析
在数学建模竞赛中,我们常常要求一组数据的平均值、最大值、最小值、中位值、方差等基本统计量,利用Excle 可以方便求得。此外我们还可以利用Excle 绘制直方图、概率分布图、频数直方图等。Excle可以方便的实现对数据排序、筛选、分类汇总等基本的数据处理。这些基本的数据分析方法是进行数据分析的第一步,它清晰地反应数据的基本走势。
3 插值与拟合
在建模竞赛中经常会碰到这样一种问题,要从一组实验观测数据揭示自变量x 与因变量y 之间的关系,这就需要用到插值与拟合方法。例如2004 年国赛C 题中提供酒后几个时间段人体酒精含量的数据,给出酒后血液中酒精含量与时间的函数关系,这就用到插值与拟合。插值是指在平面上给定一组离散点列,要求一条曲线,把这些点按次序连接起来。利用插值法可以得到这些点以外的其它地方的数值。常用的插值方法有拉格朗日多项式插值、牛顿插值、分段线性插值、Hermite 插值和三次样条插值。Matlab 软件中自带插值工具箱,可以方便的进行各种插值。例:一维插值函数interp1,语法为y=interp1(x0,y0,x,‘method’),(x0,y0)为插值点,x 为被插值点,y 为插值结果。method 指插值的方法,默认为线性插值,也可以为‘nearest’最近插值,‘linear’线性插值,‘spline’立方样条插值,‘cubic’立方插值。三次样条插值有以下几种函数:y=interp1(x0,y0,x,‘spline’),y=spline(x0,y0,x),pp=csape(x0,y0,conds)等。拟合也是已知有n 个数据点(x1,y1),(x2,y2)……(xn,yn),求近似函数不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小。拟合最常用的方法是线性最小二乘法,基本思想是先选定一组函数r1(x),r2(x)……rm(x)(m<n),要根据实际问题进行机理分析确定r1(x),r2(x)……rm(x)(m<n),令f(x)=a1r1(x)+a2r2(x)+……+amrm(x),其中a1,a2,……am为待定系数,再利用最小二乘准则确定a1,a2,……am,也就是使n 个点(xj,yj)与曲线y=f(x)的距离δj的平方和最小。记:
问题归结为求a1,a2,……am,使J(a1,a2,……am)最小。
特别的若用多项式f(x)=a1xm+……+amx+am+1拟合,Matlab 软件提供命令a=polyfit(x,y,m),m 为拟合多项式次数,(x,y)为要拟合的数据,a为输出的多项式的系数。
4 回归分析
回归分析也是常用的一种数据处理方法,当客观事物内部规律比较复杂,无法分析实际对象内在的因果关系,那么通常的办法是搜集大量的数据通过对数据的统计分析建立模型。回归分析是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,按照自变量的多少,从一组数据出发,确定某些变量之间的定量关系式,即建立数学模型并估计其中的未知参数,再对这些关系式的可信程度进行检验,这是非常重要的一步。在回归分析中要将影响显著的自变量纳入模型,剔除影响不显著的变量,这一步通常用逐步回归法。我们还可以利用所求的关系式对某一生产过程进行预测或控制。利用数学软件可以方便地实现回归分析,比如Matlab 软件中命令regress(),polyval(),rstool()都能进行回归分析。
5 聚类分析与主成分分析
聚类分析与主成分分析是多元分析的最基本内容,也是数学建模中常用到的方法。比如2012 年国赛葡萄酒评价问题、2013 年城市公共自行车问题都可以应用聚类分析、主成分分分析这类统计分析方法。近年来,随着数据处理问题越来越多地出现在数学建模竞赛中,这一类建模方法也越发受到重视。聚类分析是将样品或变量按相似程度划分类别,使得同一类中的元素之间的相似性比其他类的元素的相似性更强。聚类分析主要分为Q 型分析与R 型分析,Matlab 软件中linkage()与pdist()结合可以进行聚类分析。主成分分析的原理,是以较少数的综合变量取代原有的多维变量,使数据结构简化,把原指标综合成较少几个主成分,这几个主成分是原来若干个指标的线性组合,它们能尽可能的反应原始变量的信息,且彼此不相关,主成分分析实际是一种降维方法。Matlab 中函数pcacov、princop、pcares 都可以进行主成分分析,我们以pcacov 为例说明一下主成分分析的调用方法。[coeff,latent,explained]=pcacov(v),其中v是总体或样本的相关系数矩阵,输出coeff 是p 个主成分的系数矩阵,explained 是这p 个主成分各自的贡献率。
数学建模过程中,掌握高效、便捷的数据处理方法是解决问题的关键一步。近年来,数学建模竞赛的难度越来越大,特别是贴近实际生活的大量数据的融入增加了题目的难度,传统的数学模型逐步淘汰,掌握多种数据处理方法非常必要。本文归纳和总结了数学建模中经常遇到的数据处理方法,希望对提高学生数学能力、处理实际数据问题的能力有所帮助。
[1]姜启源,谢金星,叶俊.数学模型[M].第3 版.北京:高等教育出版社,2003.
[2]司守奎,孙玺菁.数学建模算法与应用[M].北京:国防工业出版社,2011.
[3]何晓群.多元统计分析[M].第2 版.北京:中国人民大学出版社,2012.