ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:208.50KB ,
资源ID:1520330      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1520330.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(多元回归程序MATLAB程序_精品文档.doc)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

多元回归程序MATLAB程序_精品文档.doc

1、matlab回归(拟合)总结前言1、学三条命令polyfit(x,y,n)-拟合成一元幂函数(一元多次)regress(y,x)-可以多元, nlinfit(x,y,fun,beta0) (可用于任何类型的函数,任意多元函数,应用范围最广,最万能的)2、同一个问题,这三条命令都可以使用,但结果肯定是不同的,因为拟合的近似结果,没有唯一的标准的答案。相当于咨询多个专家。3、回归的操作步骤:根据图形(实际点),选配一条恰当的函数形式(类型)-需要数学理论与基础和经验。(并写出该函数表达式的一般形式,含待定系数)-选用某条回归命令求出所有的待定系数。所以可以说,回归就是求待定系数的过程(需确定函数的

2、形式)一、多元回归分析对于多元线性回归模型(其实可以是非线性,它通用性极高):设变量的n组观测值为记 ,则 的估计值为排列方式与线性代数中的线性方程组相同(),拟合成多元函数-regress使用格式:左边用b=b, bint, r, rint, stats右边用=regress(y, x)或regress(y, x, alpha)-命令中是先y后x, -须构造好矩阵x(x中的每列与目标函数的一项对应)-并且x要在最前面额外添加全1列/对应于常数项-y必须是列向量-结果是从常数项开始-与polyfit的不同。)其中: b为回归系数,的估计值(第一个为常数项),bint为回归系数的区间估计,r:

3、残差 ,rint: 残差的置信区间,stats: 用于检验回归模型的统计量,有四个数值:相关系数r2、F值、与F对应的概率p和残差的方差(前两个越大越好,后两个越小越好),alpha: 显著性水平(缺省时为0.05,即置信水平为95%),(alpha不影响b,只影响bint(区间估计)。它越小,即置信度越高,则bint范围越大。显著水平越高,则区间就越小)(返回五个结果)-如有n个自变量-有误(n个待定系数),则b 中就有n+1个系数(含常数项,-第一项为常数项)(b-b的范围/置信区间-残差r-r的置信区间rint-点估计-区间估计 如果的置信区间(bint的第行)不包含0,则在显著水平为时

4、拒绝的假设,认为变量是显著的*(而rint残差的区间应包含0则更好)。b,y等均为列向量,x为矩阵(表示了一组实际的数据)必须在x第一列添加一个全1列。-对应于常数项。相关系数r2越接近1,说明回归方程越显著;(r2越大越接近1越好)F越大,说明回归方程越显著;(F越大越好)与F对应的概率p越小越好,一定要Pa时拒绝H0而接受H1,即回归模型成立。乘余(残差)标准差(RMSE)越小越好(此处是残差的方差,还没有开方)(前两个越大越好,后两个越小越好)重点:regress(y,x) 重点与难点是如何加工处理矩阵x。 y是函数值,一定是只有一列。也即目标函数的形式是由矩阵X来确定如s=a+b*x1

5、+c*x2+d*x3+e*x12+f*x2*x3+g*x12,一定有一个常数项,且必须放在最前面(即x的第一列为全1列)X中的每一列对应于目标函数中的一项(目标函数有多少项则x中就有多少列)X=ones, x1, x2, x3, x1.2, x2.*x3,x1.2 (剔除待定系数的形式)regress: y/x顺序,矩阵X需要加工处理nlinfit: x/y顺序,X/Y就是原始的数据,不要做任何的加工。(即regress靠矩阵X来确定目标函数的类型形式(所以X很复杂,要作很多处理) 而nlinfit是靠程序来确定目标函数的类型形式(所以X就是原始数据,不要做任何处理)例1 测16名成年女子的身

6、高与腿长所得数据如下:身高143145146147149150153154155156157158159160162164腿长8885889192939395969897969899100102配成y=a+b*x形式 x=143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164; y=88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102; plot(x,y,r+)z=x;x=ones(16,1),x;-常数项b,bint,r,rint,stats=regress(y,x);-处结

7、果与polyfit(x,y,1)相同b,bint,stats得结果:b = bint = -16.0730 -33.7071 1.5612-每一行为一个区间 0.7194 0.6047 0.8340stats = 0.9282 180.9531 0.0000即;的置信区间为-33.7017,1.5612, 的置信区间为0.6047,0.834; r2=0.9282, F=180.9531, p=0.0。p0.05, 可知回归模型 y=-16.073+0.7194x 成立.b,bint,r,rint,stats=regress(Y,X,0.05);-结果相同b,bint,r,rint,stats

8、=regress(Y,X,0.03);polyfit(x,y,1)-当为一元时(也只有一组数),则结果与regress是相同的,只是命令中x,y要交换顺序,结果的系数排列顺序完全相反,x中不需要全1列。ans =0.7194 -16.0730-此题也可用polyfit求解,杀鸡用牛刀,脖子被切断。3、残差分析,作残差图:rcoplot(r,rint)从残差图可以看出,除第二个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型 y=-16.073+0.7194x能较好的符合原始数据,而第二个数据可视为异常点(而剔除)4、预测及作图:plot(x,y,r+) hold

9、on a=140:165; b=b(1)+b(2)*a;plot(a,b,g)例2 观测物体降落的距离s与时间t的关系,得到数据如下表,求s关于t的回归方程t (s)1/302/303/304/305/306/307/30s (cm)11.8615.6720.6026.6933.7141.9351.13t (s)8/309/3010/3011/3012/3013/3014/30s (cm)61.4972.9085.4499.08113.77129.54146.48法一:直接作二次多项式回归 t=1/30:1/30:14/30; s=11.86 15.67 20.60 26.69 33.71 4

10、1.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48;p,S=polyfit(t,s,2)p =489.2946 65.8896 9.1329得回归模型为 :方法二-化为多元线性回归:t=1/30:1/30:14/30;s=11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48;T=ones(14,1), t, (t.2) %?是否可行?等验证.-因为有三个待定系数,所以有三列,始于常数项b,bint,r,rint,st

11、ats=regress(s,T);b,statsb = 9.1329 65.8896 489.2946stats =1.0e+007 * 0.0000 1.0378 0 0.0000得回归模型为 : %结果与方法1相同polyfit-一元多次regress-多元一次-其实通过技巧也可以多元多次regress最通用的,万能的,表面上是多元一次,其实可以变为多元多次且任意函数,如x有n列(不含全1列),则表达式中就有n+1列(第一个为常数项,其他每项与x的列序相对应)。例3 设某商品的需求量与消费者的平均收入、商品价格的统计数据如下,建立回归模型,预测平均收入为1000、价格为6时的商品需求量.需

12、求量10075807050659010011060收入1000600 1200500300400130011001300300价格5766875439选择纯二次模型,即 -用户可以任意设计函数x1=1000 600 1200 500 300 400 1300 1100 1300 300;x2=5 7 6 6 8 7 5 4 3 9;y=100 75 80 70 50 65 90 100 110 60;X=ones(10,1) x1 x2 (x1.2) (x2.2); %10指有10组数据,x1 x2 (x1.2) (x2.2)时方程的自变量b,bint,r,rint,stats=regress

13、(y,X)b,stats b = 110.5313 0.1464 -26.5709 -0.0001 1.8475stats = 0.9702 40.6656 0.0005 20.5771故回归模型为:剩余标准差为4.5362, 说明此回归模型的显著性较好.三、非线性回归(拟合)使用格式:beta = nlinfit(x,y, 程序名,beta0) beta,r,J = nlinfit(X,y,fun,beta0)X给定的自变量数据,Y给定的因变量数据,fun要拟合的函数模型(句柄函数或者内联函数形式), beta0函数模型中待定系数估计初值(即程序的初始实参)beta返回拟合后的待定系数其中beta为估计出的回归系数;r为残差;J为Jacobian矩阵输入数据x、y分别为n*m矩阵和n维列向量,对一元非线性回归,x为n维列向量。可以拟合成任意函数。最通用的,万能的命令x,y顺序,x不需要任何加工,直接用原始数据。-所编的程序一定是两个形参(待定系数/向量,自变量/矩阵:每一列为一个自变量)结果要看残差的大小和是否有警告信息,如有警告则换一个b0初始向量再重新计算。本程序中也可能要用.* ./ .如结果中有警告信息,则必须多次换初值来试算.难点是编程序与初值存在的问题:不同的beta0,则会产生不同的结果,如何给待定系数的初值以及如何分析结果

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1