收藏 分销(赏)

matlab多元非线性回归教程.pdf

上传人:快乐****生活 文档编号:2047638 上传时间:2024-05-14 格式:PDF 页数:22 大小:290.78KB
下载 相关 举报
matlab多元非线性回归教程.pdf_第1页
第1页 / 共22页
matlab多元非线性回归教程.pdf_第2页
第2页 / 共22页
matlab多元非线性回归教程.pdf_第3页
第3页 / 共22页
matlab多元非线性回归教程.pdf_第4页
第4页 / 共22页
matlab多元非线性回归教程.pdf_第5页
第5页 / 共22页
点击查看更多>>
资源描述

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

2、定系数的过程(需确定函数的形式)一、回归命令一元多次拟合 polyfit(x,y,n);一元回归 polyfit;多元回归 regress-nlinfit(非线性)二、多元回归分析二、多元回归分析对于多元线性回归模型(其实可以是非线性,它通用性极高):exxypp110设变量的 n 组观测值为12,px xxy12(,)1,2,iiipixxxyin记,则 的估计值为排列方式npnnppxxxxxxxxxx212222111211111nyyyy21p10与线性代数中的线性方程组相同(),拟合成多元函数-regress使用格式:左边用 b=b,bint,r,rint,stats右边用=regr

3、ess(y,x)或 regress(y,x,alpha)-命令中是先 y 后 x,-须构造好矩阵 x(x 中的每列与目标函数的一项对应)-并且 x 要在最前面额外添加全 1 列/对应于常数项-y 必须是列向量-结果是从常数项开始-与 polyfit 的不同。)其中:b 为回归系数,的估计值(第一个为常数项),bint 为回归系数的区间估计,r:残差,rint:残差的置信区间,stats:用于检验回归模型的统计量,有四个数值:相关系数r2、F 值、与 F 对应的概率 p 和残差的方差(前两个越大越好,后两个越小越好),alpha:显著性水平(缺省时为 0.05,即置信水平为 95%),(alph

4、a 不影响 b,只影响 bint(区间估计)。它越小,即置信度越高,则 bint 范围越大。显著水平越高,则区间就越小)(返回五个结果)-如有 n 个自变量-有误(n 个待定系数),则 b 中就有 n+1 个系数(含常数项,-第一项为常数项)(b-b 的范围/置信区间-残差 r-r 的置信区间 rint-点估计-区间估计 此段上课时不要:-如果的置信区间(bint 的第行)不包含 0,则在显著水i1i平为时拒绝的假设,认为变量是显著的*(而 rint 残差的区间应包含 00iix则更好)。b,y 等均为列向量,x 为矩阵(表示了一组实际的数据)必须在 x 第一列添加一个全 1列。-对应于常数项

5、-而 nlinfit 不能额外添加全不能额外添加全 1 列列。结果的系数就是与此矩阵相对应的(常数项,x1,x2,xn)。(结果与参数个数:1/5=2/3-y,x 顺序-x 要额外添加全 1列)而 nlinfit:1/3=4-x,y 顺序-x 不能额外添加全 1 列,-需编程序,用于模仿需拟合的函数的任意形式,一定两个参数,一为系数数组,二为自变量矩阵(每列为一个自变量)有 n 个变量-不准确,x 中就有 n 列,再添加一个全 1 列(相当于常数项),就变为 n+1列,则结果中就有 n+1 个系数。x 需要经过加工,如添加全 1 列,可能还要添加其他需要的变换数据。相关系数 r2 越接近 1,

6、说明回归方程越显著;(r2 越大越接近 1 越好)F 越大,说明回归方程越显著;(F 越大越好)与 F 对应的概率 p 越小越好,一定要 P 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);-处结果与 polyfit(x,y,1)相同b,bint,stats得结果:b=bi

7、nt=-16.0730 -33.7071 1.5612-每一行为一个区间 0.7194 0.6047 0.8340stats=0.9282 180.9531 0.0000即;的置信区间为-33.7017,1.5612,的置信区间为7194.0,073.1610010.6047,0.834;r2=0.9282,F=180.9531,p=0.0。p b,bint,r,rint,stats=regress(Y,X,0.05);-结果相同 b,bint,r,rint,stats=regress(Y,X,0.03);polyfit(x,y,1)-当为一元时(也只有一组数),则结果与 regress 是相

8、同的,只是命令中 x,y 要交换顺序,结果的系数排列顺序完全相反,x 中不需要全 1 列。ans=0.7194 -16.0730-此题也可用 polyfit 求解,杀鸡用牛刀,脖子被切断。3、残差分析,作残差图:、残差分析,作残差图:rcoplot(r,rint)246810121416-5-4-3-2-101234Residual Case Order PlotResidualsCase Number从残差图可以看出,除第二个数据外,其余数据的残差离零点均较近,且残差的置信从残差图可以看出,除第二个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型区间均包含零点,

9、这说明回归模型 y=-16.073+0.7194x 能较好的符合原始数据,而第二个能较好的符合原始数据,而第二个数据可视为异常点数据可视为异常点(而剔除而剔除)4、预测及作图:plot(x,y,r+)hold on a=140:165;b=b(1)+b(2)*a;plot(a,b,g)1401451501551601658486889092949698100102例例 2 观测物体降落的距离 s 与时间 t 的关系,得到数据如下表,求 s 关于 t 的回归方程2ctbtast (s)1/302/303/304/305/306/307/30s (cm)11.8615.6720.6026.6933

10、.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 41.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得回归模型为得回归模型为:1329.98896.652946.4892tts方法二

11、方法二-化为多元线性回归:化为多元线性回归:2ctbtast=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,stats=regress(s,T);b,statsb=9.1329 65.8896 489.2946stats=1.0e+007*0.0000 1.0378 0 0.0000得回归模型为得回

12、归模型为:%结果与方法 1 相同22946.4898896.651329.9tts T=ones(14,1),t,(t.2)%?是否可行?等验证.polyfit-一元多次regress-多元一次-其实通过技巧也可以多元多次regress 最通用的,万能的,表面上是多元一次,其实可以变为多元多次且任意函数,如 x 有 n 列(不含全 1 列),则表达式中就有 n+1 列(第一个为常数项,其他每项与 x 的列序相对应)?此处的说法需进一步验证证例例 3 设某商品的需求量与消费者的平均收入、商品价格的统计数据如下,建立回归模型,预测平均收入为 1000、价格为 6 时的商品需求量.需求量需求量100

13、75807050659010011060收入收入1000600 1200500300400130011001300300价格价格5766875439选择纯二次模型,即 2222211122110 xxxxy-用户可以任意设计函数 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);%注意技巧性?b,bint,r,rint,stats=regress(y,X);%这是万能方法?需

14、进一步验证 b,stats b=110.5313 0.1464 -26.5709 -0.0001 1.8475stats=0.9702 40.6656 0.0005 20.5771故回归模型为:2221218475.10001.05709.261464.05313.110 xxxxy剩余标准差为 4.5362,说明此回归模型的显著性较好.-(此题还可以用 rstool(X,Y)命令求解,详见回归问题详解)X=ones(10,1)x1 x2(x1.2)(x2.2),sin(x1.*x2),(x1.*exp(x2);b,bint,r,rint,stats=regress(y,X);b,stats(

15、个人个人 2011 年认为,年认为,regress 只能用于函数中的每一项只能有一个待定系数的情况,不只能用于函数中的每一项只能有一个待定系数的情况,不能用于能用于 aebx 等的情况等的情况)regress(y,x)-re 是 y/x 逆置的-y 是列向量-须确定目标函数的形式-x 须构造(通过构造来反映目标函数)-x 中的每一列与目标函数的一项对应(剔除待定系数)-首项为常数项(x 的第一列为全 1)-有函数有 n 项(待定系数),则 x 就有 n 列-regress 只能解决每项只有一个待定系数的情况且必须有常数项的情况(且每项只有一个待定系数,即项数与待定系数数目相同)*其重(难、关键

16、)点:列向量、构造矩阵(X):目标函数中的每项与 X 中的一列对应。(由 X 来确定目标函数的类型/形式)三、非线性回归(拟合)三、非线性回归(拟合)使用格式:使用格式: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

17、 维列向量,对一元非线性回归,x 为 n 维列向量。model为是事先用 m-文件定义的非线性函数;beta0 为回归系数的初值可以拟合成任意函数。最通用的,万能的命令x,y 顺序,x 不需要任何加工,直接用原始数据。(也不需要全 1 列)-所编的程序一定是两个形参(待定系数/向量,自变量/矩阵:每一列为一个自变量)结果要看残差的大小和是否有警告信息,如有警告则换一个 b0 初始向量再重新计算。本程序中也可能要用.*./.如结果中有警告信息,则必须多次换初值来试算难点是编程序与初值nlinfit多元任意函数,(自己任意设计函数,再求待定系数)顺序(b,r,j=nlinfit(x,y,b0)y

18、为列向量;x 为矩阵,无需加全 1 列,x,y 就是原始的数据点,(x/y正顺序,所以 x 不要加全 1 列)需预先编程(两个参数,系数向量,各变量的矩阵/每列为一个变量)存在的问题:存在的问题:不同的 beta0,则会产生不同的结果,如何给待定系数的初值以及如何分析结果的好坏,如出现警告信息,则换一个待定系数试一试。如出现警告信息,则换一个待定系数试一试。因为拟合本来就是近似的,可能有多个结果。1:重点(难点)是预先编程序(即确定目标函数的形式,而 regress 的目标函数由 x 矩阵来确定,其重难点为构造矩阵 a)2:x/y 顺序列向量-x/y 是原始数据,不要做任何修改3:编程:一定两

19、个形参(beta,x)a=beta(1);b=beta(2);c=beta(3);x1=x(:,1);x2=x(:,2);x3=x(:,3);即每一列为一个自变量4:regress/nlinfit 都是列向量5:regress:有 n 项(n 个待定系数),x 就有 n 列;nlinfit:有 m 个变量则 x 就有 m 列例例 1 已知数据:x1=0.5,0.4,0.3,0.2,0.1;x2=0.3,0.5,0.2,0.4,0.6;x3=1.8,1.4,1.0,1.4,1.8;y=0.785,0.703,0.583,0.571,0.126;且 y 与 x1,x2,x3 关系为多元非线性关系(

20、只与 x2,x3 相关)为:y=a+b*x2+c*x3+d*(x2.2)+e*(x3.2)此函数是由用户根据图形的形状等所配的曲线,即自己选定函数类型求非线性回归系数 a,b,c,d,e。(1)对回归模型建立 M 文件 model.m 如下:function yy=myfun(beta,x)%一定是两个参数:系数和自变量-一个向量/一个矩阵a=beta(1)b=beta(2)c=beta(3)x1=x(:,1);%系数是数组,b(1),b(2),b(n)依次代表系数 1,系数 2,系数 nx2=x(:,2);%自变量 x 是一个矩阵,它的每一列分别代表一个变量,有 n 列就可以最多 nx3=x

21、(:,3);yy=beta(1)+beta(2)*x2+beta(3)*x3+beta(4)*(x2.2)+beta(5)*(x3.2);(b(i)与待定系数的顺序关系可以任意排列,并不是一定常数项在最前,只是结果与自己指定的相对应)(x 一定是一列对应一个变量,不能 x1=x(1),x2=x(2),x3=x(3))(2)主程序如下:x=0.5,0.4,0.3,0.2,0.1;0.3,0.5,0.2,0.4,0.6;1.8,1.4,1.0,1.4,1.8;-每一列为一个变量y=0.785,0.703,0.583,0.571,0.126;beta0=1,1,1,1,1,1;%有多少个待定系数,就

22、给多少个初始值。beta,r,j=nlinfit(x,y,myfun,beta0)beta=-0.4420 5.5111 0.3837 -8.1734 -0.1340此题也可用 regress 来求解,但结果是不一样的 x1=0.5,0.4,0.3,0.2,0.1;x2=0.3,0.5,0.2,0.4,0.6;x3=1.8,1.4,1.0,1.4,1.8;y=0.785,0.703,0.583,0.571,0.126;n=length(x1);x=ones(n,1),x2,x3,(x2.2),(x3.2);b,bint,r,rint,stats=regress(y,x);b,statsb=-3

23、.3844 -1.8450 6.5137 0 -2.1773stats=0.7859 1.2232 0.5674 0.05572011 年题目改为:年题目改为:y=a+b*x1+c*x2+d*(x3.2)+e*(x1.2)+f*sin(x2)求非线性回归系数 a,b,c,d,e,ffunction f=fxxnh(beta,x)%所编的程序一定是两个形参,第一个为待定系数向量,第二个为自变量矩阵a=beta(1);b=beta(2);c=beta(3);d=beta(4);e=beta(5);f=beta(6);%系数向量中的一个元素代表一个待定系数x1=x(:,1);%自变量矩阵每一列代表一

24、个自变量x2=x(:,2);x3=x(:,3);f=a+b.*x1+c.*x2+d.*(x3.2)+e.*(x1.2)+f.*sin(x2);但计算出现了问题但计算出现了问题例例 2混凝土的抗压强度随养护时间的延长而增加,现将一批混凝土作成 12 个试块,记录了养护日期(日)及抗压强度 y(kg/cm2)的数据:养护时间:x=2 3 4 5 7 9 12 14 17 21 28 56 抗压强度:y=35+r 42+r 47+r 53+r 59+r 65+r 68+r 73+r 76+r 82+r 86+r 99+r 建立非线性回归模型,对得到的模型和系数进行检验。注明:此题中的+r 代表加上一

25、个-0.5,0.5之间的随机数 模型为:y=a+k1*exp(m*x)+k2*exp(-m*x);-有四个待定系数Matlab 程序:x=2 3 4 5 7 9 12 14 17 21 28 56;r=rand(1,12)-0.5;y1=35 42 47 53 59 65 68 73 76 82 86 99;y=y1+r;myfunc=inline(beta(1)+beta(2)*exp(beta(4)*x)+beta(3)*exp(-beta(4)*x),beta,x);-beta=nlinfit(x,y,myfunc,0.5 0.5 0.5 0.5);-初值为 0.2 也可以,如为 1 则

26、不行,则试着换系数初值-此处为一元,x,y行/列向量都可以a=beta(1),k1=beta(2),k2=beta(3),m=beta(4)%test the modelxx=min(x):max(x);-2:56yy=a+k1*exp(m*xx)+k2*exp(-m*xx);plot(x,y,o,xx,yy,r)结果:a=87.5244 k1=0.0269 k2=-63.4591 m=0.1083 图形:此题不能用 regress 求解,因为有些式子中含有两个待定系数例例 3 出钢时所用的盛钢水的钢包,由于钢水对耐火材料的侵蚀,容积不断增大.我们希望知道使用次数与增大的容积之间的关系.对一钢

27、包作试验,测得的数据列于下表:使用次数增大容积使用次数增大容积234567896.428.209.589.509.7010.009.939.991011121314151610.4910.5910.6010.8010.6010.9010.76对将要拟合的非线性模型 y=aeb/x,(如再加 y=c*sin(x)+aeb/x)建立 m-文件 volum.m 如下:function yhat=volum(beta,x)yhat=beta(1)*exp(beta(2)./x);或function f=zhang1(beta,x)a=beta(1);b=beta(2);f=a*exp(b./x);-2

28、、输入数据:x=2:16;y=6.42 8.20 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.60 10.80 10.60 10.90 10.76;beta0=8 2;-初值1,1也可以3、求回归系数:beta,r,J=nlinfit(x,y,volum,beta0);%beta0 初值为列/行向量都可以,还是为列吧。betabeta=11.6037 -1.0641即得回归模型为:xey10641.16036.114、预测及作图:YY,delta=nlpredci(volum,x,beta,r,J)plot(x,y,k+,x,YY,r)或 plot(x,y

29、,ro)hold on xx=2:0.05:16;yy=beta(1)*exp(beta(2)./xx);plot(xx,yy,g)又或 plot(x,y,ro)hold on xx=2:0.05:16;yy=volum(beta,xx);-通过调用用户自编的函数 plot(xx,yy,g)24681012141666.577.588.599.51010.511 beta,r,J=nlinfit(x,y,volum,1,1);%下面换了多个初值,结果都是一样的。betabeta=11.6037 -1.0641 beta,r,J=nlinfit(x,y,volum,1,5);betabeta=1

30、1.6037 -1.064 beta,r,J=nlinfit(x,y,volum,10,5);beta=11.6037 -1.0641 beta,r,J=nlinfit(x,y,volum,10,50);beta=11.6037 -1.0641以下用来以下用来 lsqcurvefit 求解求解,结果是一样的。结果是一样的。beta,a,b,exitflag=lsqcurvefit(volum,8,2,x,y)Optimization terminated:relative function value changing by less than OPTIONS.TolFun.beta=11.6

31、037 -1.0641exitflag=3 beta,a,b,exitflag=lsqcurvefit(volum,1,1,x,y)%换不同的初值,结果是一样的。beta=11.6037 -1.0641exitflag=3 beta,a,b,exitflag=lsqcurvefit(volum,10,1,x,y)beta=11.6037 -1.0641exitflag=3 beta,a,b,exitflag=lsqcurvefit(volum,10,5,x,y)beta=11.6037 -1.0641exitflag=3 beta,a,b,exitflag=lsqcurvefit(volum,

32、10,50,x,y)beta=11.6037 -1.0641exitflag=3例例 4 财政收入预测问题:财政收入与国民收入、工业总产值、农业总产值、总人口、就业人口、固定资产投资等因素有关。下表列出了下表列出了 1952-1981 年的原始数据年的原始数据,试构造预测模型。财政收入预测问题:财政收入与国民收入、工业总产值、农业总产值、总人口、就业人口、固定资产投资等因素有关。下表列出了 1952-1981 年的原始数据,试构造预测模型。年份年份国民收入国民收入(亿元)(亿元)工业总产工业总产值值(亿元亿元)农业总产值农业总产值(亿元)(亿元)总人口总人口(万人)(万人)就业人口就业人口(万

33、人)(万人)固定资产投固定资产投资(亿元)资(亿元)财政收财政收入入(亿元亿元)19525983494615748220729441841953586455475587962136489216195470752049160266218329724819557375585296146522328982541956825715556628282301815026819578377985756465323711139286195810281235598659942660025635719591114168150967207261733384441960107918704446620725880380

34、506196175711564346585925590138271196267796446167295251106623019637791046514691722664085266196494312505847049927736129323196511521581632725382867017539319661322191168774542298052124661967124916476977636830814156352196811871565680785343191512730319691372210168880671332252074471970163827477678299234432

35、312564197117803156790852293562035563819721833336578987177358543546581973197836848558921136652374691197419933696891908593736939365519752121425493292421381684626921976205243099559371738834443657197721894925971949743937745472319782475559010589625939856550922197927026065115097542405815648901980279165921

36、1949870541896568826198129276862127310007273280496810解 设国民收入、工业总产值、农业总产值、总人口、就业人口、固定资产投资分别为 x1、x2、x3、x4、x5、x6,财政收入为 y,设变量之间的关系为:y=ax1+bx2+cx3+dx4+ex5+fx6使用非线性回归方法求解。1 对回归模型建立 M 文件 model.m 如下:function yy=model(beta0,X)%一定是两个参数,第一个为系数数组,b(1),b(2),b(n)%分别代表每个系数,而第二个参数代表所有的自变量,%是一个矩阵,它的每一列分别代表一个自变量。a=bet

37、a0(1);b=beta0(2);%每个元素 c=beta0(3);d=beta0(4);e=beta0(5);f=beta0(6);x1=X(:,1);%每一列 x2=X(:,2);x3=X(:,3);x4=X(:,4);x5=X(:,5);x6=X(:,6);yy=a*x1+b*x2+c*x3+d*x4+e*x5+f*x6;2.主程序主程序 liti6.m 如下如下:X=598.00,349.00,461.00,57482.00,20729.00,44.00;586,455,475,58796,21364,89;707,520,491,60266,21832,97;737,558,529,

38、61465,22328,98;825,715,556,62828,23018,150;837,798,575,64653,23711,139;1028,1235,598,65994,26600,256;1114,1681,509,67207,26173,338;1079,1870,444,66207,25880,380;757,1156,434,65859,25590,138;677,964,461,67295,25110,66;779,1046,514,69172,26640,85;943,1250,584,70499,27736,129;1152,1581,632,72538,28670,

39、175;1322,1911,687,74542,29805,212;1249,1647,697,76368,30814,156;1187,1565,680,78534,31915,127;1372,2101,688,80671,33225,207;1638,2747,767,82992,34432,312;1780,3156,790,85229,35620,355;1833,3365,789,87177,35854,354;1978,3684,855,89211,36652,374;1993,3696,891,90859,37369,393;2121,4254,932,92421,38168,

40、462;2052,4309,955,93717,38834,443;2189,4925,971,94974,39377,454;2475,5590,1058,96259,39856,550;2702,6065,1150,97542,40581,564;2791,6592,1194,98705,41896,568;2927,6862,1273,100072,73280,496;y=184.00 216.00 248.00 254.00 268.00 286.00 357.00 444.00 506.00.271.00 230.00 266.00 323.00 393.00 466.00 352.

41、00 303.00 447.00.564.00 638.00 658.00 691.00 655.00 692.00 657.00 723.00 922.00.890.00 826.00 810.0;beta0=0.50-0.03-0.60 0.01-0.02 0.35;betafit=nlinfit(X,y,model,beta0)结果为结果为betafit=0.5243 -0.0294 -0.6304 0.0112 -0.0230 0.3658(结果也可能是:0.3459 -0.0180 -0.3700 0.0030 -0.0020 0.4728)即 y=0.5243x1-0.0294x2

42、-0.6304x3+0.0112x4-0.0230 x5+0.3658x6此题也可以用 regress 来求解(我自己做的,不一定对?)-结果有些不同,含有一个常数 clear x=xlsread(cz.xls);%已经把所有的有效数据拷入到 cd.xls 文件中去了。y=x(:,7);x(:,7)=;z=ones(30,1);x=z,x;b,bint,r,rint,states=regress(y,x);b,statesb=159.1440 0.4585 -0.0112 -0.5125 0.0008 -0.0028 0.3165stats=1.0e+003*0.0010 0.2283 0 1

43、.0488X,y 的原始数据:help nlinfit/help nlinfitExamples:Use to specify MODELFUN:load reaction;beta=nlinfit(reactants,rate,mymodel,beta);where MYMODEL is a MATLAB function such as:function yhat=mymodel(beta,x)yhat=(beta(1)*x(:,2)-x(:,3)/beta(5)./.(1+beta(2)*x(:,1)+beta(3)*x(:,2)+beta(4)*x(:,3);Examples FUN

44、can be specified using:nlintool(x,y,myfun,b0)where MYFUN is a MATLAB function such as:function yhat=myfun(beta,x)b1=beta(1);b2=beta(2);yhat=1./(1+exp(b1+b2*x);fun=inline(1./(1+exp(b(1)+b(2)*x),b,x)nlintool(x,y,fun,b0)每一列为一个变量,所以有 n 个自变量,就有 n 列 X1,x2,xn,y 都为列向量四、非线性回归或曲线回归问题四、非线性回归或曲线回归问题配曲线的一般方法是:(一

45、)先对两个变量 x 和 y 作 n 次试验观察得画出散点图,niyxii,.,2,1),(68 6 7 8 9 m散点图(二)根据散点图确定须配曲线的类型.通常选择的六类曲线如下:(1)双曲线 xbay1(2)幂函数曲线 y=a,其中 x0,a0bx(3)指数曲线 y=a其中参数 a0.bxe(4)倒指数曲线 y=a其中 a0,xbe/(5)对数曲线 y=a+blogx,x0(6)S 型曲线xbeay1(三)然后由 n 对试验数据确定每一类曲线的未知参数 a 和 b.解例 2.由散点图我们选配倒指数曲线 y=axbe/根据线性化方法,算得4587.2,1107.1Ab由此 6789.11Aea

46、最后得 xey1107.16789.11作业作业1、考察温度 x 对产量 y 的影响,测得下列 10 组数据:温度()20253035404550556065产量(kg)13.215.116.417.117.918.719.621.222.524.3求 y 关于 x 的线性回归方程,检验回归效果是否显著,并预测 x=42时产量的估值及预测区间(置信度 95%).2、某零件上有一段曲线,为了在程序控制机床上加工这一零件,需要求这段曲线的解析表达式,在曲线横坐标 xi 处测得纵坐标 yi 共 11 对数据如下:xi02468101214161820yi0.62.04.47.511.817.123.

47、331.239.649.761.7求这段曲线的纵坐标 y 关于横坐标 x 的二次多项式回归方程.3:在研究化学动力学反应过程中,建立了一个反应速度和反应物含量的数学模型,形式为 34231253211xxxxxy其中是未知参数,是三种反应物(氢,n 戊烷,51,321,xxx异构戊烷)的含量,y 是反应速度.今测得一组数据如表 4,试由此确定参数,并给出置信区间.的参考值为51,51,(1,0.05,0.02,0.1,2)序号反应速度 y氢 x1n 戊烷 x2异构戊烷x318.554703001023.79285801034.8247030012040.024708012052.754708010614.391001901072.54100806584.3547019065913.0010030054108.50100300120110.05100801201211.3228530010133.132851901204、混凝土的抗压强度随养护时间的延长而增加,现将一批混凝土作成 12 个试块,记录了养护日期 x(日)及抗压强度 y(kg/cm2)的数据:养护时间 x234579121417212856抗压强度 y354247535965687376828699试求型回归方程.xbayln

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服