当前位置:文档之家› 第3讲 MATLAB编程

第3讲 MATLAB编程

第3讲 MATLAB编程
第3讲 MATLAB编程

第3讲MATLAB数据建模方法(上)常用方法

第3讲MATLAB数据建模方法(上):常用方法 作者:卓金武, MathWorks 中国 以数据为基础而建立数学模型的方法称为数据建模方法,包括回归、统计、机器学习、深度学习、灰色预测、主成分分析、神经网络、时间序列分析等方法,其中最常用的方法还是回归方法。本讲主要介绍在数学建模中常用几种回归方法的MATLAB实现过程。 根据回归方法中因变量的个数和回归函数的类型(线性或非线性)可将回归方法分为:一元线性、一元非线性、多元回归。另外还有两种特殊的回归方式,一种在回归过程中可以调整变量数的回归方法,称为逐步回归,另一种是以指数结构函数作为回归模型的回归方法,称为Logistic回归。本讲将逐一介绍这几个回归方法。 3.1 一元回归 3.1.1 一元线性回归 【例3-1】近10年来,某市社会商品零售总额与职工工资总额(单位:亿元)的数据见表3-1,请建立社会商品零售总额与职工工资总额数据的回归模型。 表3-1 商品零售总额与职工工资总额 回归方法建立他们之间的回归模型了,具体实现的MATLAB代码如下: (1)输入数据 (2)采用最小二乘回归

据的散点图,这样就可以从图形上判断这些数据是否近似成线性关系。当发现它们的确近似在一条线上后,再用线性回归的方法进行回归,这样也更符合我们分析数据的一般思路。 图3-1 职工工资总额和商品零售总额关系趋势图 (3)采用LinearModel.fit函数进行线性回归 运行结果如下: (4)采用regress函数进行回归

运行结果如下: 只要根据自己的需要选用一种就可以了。函数LinearModel.fit 输出的内容为典型的线性回归的参数。关于regress ,其用法多样,MATLAB 帮助中关于regress 的用法,有以下几种: b = regress(y,X) [b,bint] = regress(y,X) [b,bint,r] = regress(y,X) [b,bint,r,rint] = regress(y,X) [b,bint,r,rint,stats] = regress(y,X) [...] = regress(y,X,alpha) 输入y (因变量,列向量),X (1与自变量组成的矩阵)和(alpha ,是显著性水平, 缺省时默认0.05)。 输出01 ??(,)b ββ=,bint 是01ββ,的置信区间,r 是残差(列向量),rint 是残差的置信区间,s 包含4个统计量:决定系数2R (相关系数为R ),F 值,F(1,n-2)分布大于F 值的概率p ,剩余方差2s 的值。2s 也可由程序sum(r.^2)/(n-2)计算。其意义和用法如下:2R 的值越接近1,变量的线性相关性越强,说明模型有效;如果满足1(1,2)F n F α--<,则认为变量y 与x 显著地有线性关系,其中1(1,2)F n α--的值可查F 分布表,或直接用MATLAB 命令finv(1-α,1, n-2)计算得到;如果p α<表示线性模型可用。这三个值可以相互印证。2s 的值主要用来比较模型是否有改进,其值越小说明模型精度越高。 3.1.2 一元非线性回归 在一些实际问题中,变量间的关系并不都是线性的,此时就应该用非线性回归。用用非线性回归首先要解决的问题是回归方程中的参数如何估计。下面通过一个实例来说明如何利用非线性回归技术解决实例的问题。 【例3-2】 为了解百货商店销售额x 与流通率(这是反映商业活动的一个质量指标,指每元商品流转额所分摊的流通费用)y 之间的关系,收集了九个商店的有关数据(见表3-2)。请建立它们关系的数学模型。 表3-2 销售额与流通费率数据

相关主题
文本预览
相关文档 最新文档