




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Matlab线性回归(拟合)对于多元线性回归模型:y 01X1pXp e设变量Xi, X2,L Xp, y的n组观测值为(Xi, X2,L Xp, yi) i 1,2,L , n .1X11X12X1 py10记X1X21X22X2pyy2,则1的估计值为1Xn1Xn2Xnpynpb ? (x'x) 1X' y(11.2)在Matlab中,用regress函数进行多元线性回归分析,应用方法如下:语法:b = regress(y, x)b, bint, r, rint, stats = regress(y, x)b, bint, r, rint, stats = regress(
2、y, x, alpha)b = regress(y, x),得到的p 1维列向量b即为(11.2)式给出的回归系数的估计值.b, bint, r, rint, stats=regress(y, x)给出回归系数的估计值 b, 的95%置信区间(p 1) 2向量)bint,残差r以及每个残差的95%置信区间(n 2向量)rint;向量stats 给出回归的R2统计量和F以及临界概率p的值.如果i的置信区间(bint的第i 1行)不包含0,则在显著水平为时拒绝i 0的假设,认为变量xi是显著的.b, bint, r, rint, stats=regress(y, x, alpha) 给出了 bin
3、t 和 rint 的 100(1-alpha)% 的置信区间.三次样条插值函数的MATLAB程序matlab 的 splinex = 0:10; y = sin(x);%插值点xx = 0:.25:10;% 绘图点yy = spline(x,y,xx);plot(x,y,'o',xx,yy)非线性拟合非线性拟合可以用以下命令(同样适用于线形回归分析):1 .beta = nlinfit(X,y,fun,beta0)X给定的自变量数据,Y给定的因变量数据,fun要拟合的函数模型(句柄函数或 者内联函数形式),beta0函数模型中系数估计初值,beta返回拟合后的系数2 .x =
4、lsqcurvefit(fun,x0,xdata,ydata)fun要拟合的目标函数,x0目标函数中的系数估计初值,xdata自变量数据,ydata 函数值数据X拟合返回的系数(拟合结果)nlinfit格式:beta, r, J=nlinfit (x, y, ' model' ,beta0)Beta 估计出的回归系数r残差JJacobian 矩阵x, y 输入数据x、y分别为n*m矩阵和n维列向量,对一元非线性回归,x为n维列向量。 model是事先用m-文件定义的非线性函数beta。回归系数的初值例1已知数据:x1=0.5,0.4,0.3,0.2,0.1;x2=0.3,0.5
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关系为多元非线性关系(只与 x2,x3相关)为:y=a+b*x2+c*x3+d*(x2.A2)+e*(x3.A2)求非线性回归系数a , b , c , d , e 。(1)对回归模型建立 M文件model.m如下:function yy=myfun(beta,x)x1=x(:,1);x2=x(:,2);x3=x(:,3);yy=beta(1)+beta(2)*x2+beta(3)*x3+beta(4)*(x2.A2)+
6、beta(5)*(x3.A2);(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'beta,r,j = nlinfit(x,y,myfun,beta0)12个试块,记例题2:混凝土的抗压强度随养护时间的延长而增加,现将一批混凝土作成录了养护日期(日)及抗压强度y (kg/cm2 )的数据:养护时间:x =2 3 4 5 7 9 12 14 17 21 28 56 抗压强度:y =3
7、5+r 42+r 47+r 53+r 59+r 65+r 68+r 73+r 76+r 82+r 86+r 99+r 建立非线性回归模型,对得到的模型和系数进行检验。注明:此题中的+r代表加上一个-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)+
8、beta(3)*exp(-beta(4)*x)','beta','x');beta=nlinfit(x,y,myfunc,0.5 0.5 0.5 0.5);a=beta(1),k1=beta(2),k2=beta(3),m=beta(4)%test the modelxx=min(x):max(x);yy=a+k1*exp(m*xx)+k2*exp(-m*xx);plot(x,y,'o',xx,yy,'r')结果:a = 87.5244k1 = 0.0269k2 = -63.4591m = 0.1083图形:Isqnonl
9、in非线性最小二乘(非线性数据拟合)的标准形式为mjnf (x) fi(x)2 f2(x)2fm(x)2 L其中:L为常数在MATLAB5.x中,用函数leastsq解决这类问题,在 6.0版中使用函数Isqnonlin。设 F(x)f1(x)f2(x)f m(x)则目标函数可表达为min 1 | F(x)| 2 1fi(x)2x 22 i其中:x为向量,F(x)为函数向量。函数 lsqnonlin格式 x = lsqnonlin(fun,x0) %x0 为初始解向量;fun 为(x), i=1,2,m, fun 返回向 量值F,而不是平方和值,平方和隐含在算法中,fun的定义与前面相同。x
10、= lsqnonlin(fun,x0,lb,ub) %lb、ub 定义 x 的下界和上界:lb x ub。x = lsqnonlin(fun,x0,lb,ub,options) %options 为指定优化参数,若 x 没有界,则 lb= , ub=。x,resnorm = lsqnonlin()% resnorm=sum(fun(x).A2),即解 x 处目标函数值。x,resnorm,residual = lsqnonlin( )% residual=fun(x), 即解 x 处 fun 的值。x,resnorm,residual,exitflag = lsqnonlin( ) %exit
11、flag 为终止迭代条件。 x,resnorm,residual,exitflag,output = lsqnonlin( ) %output 输出优化信,官。x,resnorm,residual,exitflag,output,lambda = lsqnonlin( ) %lambda 为 Lagrage 乘子。x,resnorm,residual,exitflag,output,lambda,jacobian =lsqnonlin( ) %fun 在角系 x 处的Jacobian矩阵。i0例5-17求下面非线性最小二乘问题(2 2kekxi ekx2)2初始解向量为x0=0.3,k 10.
12、4。解:先建立函数文件,并保存为myfun.m ,由于lsqnonlin中的fun为向量形式而不是平方和形式,因此, myfun函数应由fi(x)建立:fk(x) 2 2k ekx1 ekx2k=1,2,,10function F = myfun(x)k = 1:10;F = 2 + 2*k-exp(k*x(1)-exp(k*x(2);然后调用优化程序:x0 = 0.3 0.4;x,resnorm = lsqnonlin(myfun,x0)结果为:Optimization terminated successfully:Norm of the current step is less than
13、 OPTIONS.TolX x = 0.25780.2578resnorm =%求目标函数值Isqcurvefit非线性曲线拟合是已知输入向量xdata和输出向量ydata,并且知道输入与输出的函数关系为ydata=F(x, xdata),但不知道系数向量x。今进行曲线拟合,求 x使得下式成立:22my111 F(x, xdata) ydata| 2 1(F(x,xdatai) ydatai)在MATLAB5.x中,使用函数 curvefit解决这类问题。函数 Isqcurvefit格式 x = Isqcurvefit(fun,x0,xdata,ydata)x = Isqcurvefit(fu
14、n,x0,xdata,ydata,Ib,ub)x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options)x,resnorm = lsqcurvefit( )x,resnorm,residual = lsqcurvefit( )x,resnorm,residual,exitflag = lsqcurvefit( )x,resnorm,residual,exitflag,output = lsqcurvefit( )x,resnorm,residual,exitflag,output,lambda = lsqcurvefit( )x,resnorm,resi
15、dual,exitflag,output,lambda,jacobian =lsqcurvefit( )参数说明:x0为初始解向量;xdata, ydata为满足关系ydata=F(x, xdata)的数据;lb、ub为解向量的下界和上界lb x ub ,若没有指定界,则lb= , ub=; options为指定的优化参数;fun 为拟合函数,其定义方式为:x = lsqcurvefit(myfun,x0,xdata,ydata),其中 myfun 已定义为function F = myfun(x,xdata)F =%计算x处拟合函数值fun的用法与前面相同;resnorm=sum (fun(
16、x,xdata)-ydata).A2),即在 x 处残差的平方和; residual=fun(x,xdata)-ydata ,即在 x 处的残差;exitflag为终止迭代的条件;output为输出的优化信息;lambda 为解 x 处白L Lagrange乘子;jacobian为解x处拟合函数fun的jacobian矩阵。例5-16求解如下最小二乘非线性拟合问题已知输入向量ydata(i)即目标函数为xdata和输出向量ydata,且长度都是n,拟合函数为xminxxdata(i)2 x(2) sin(xdata(i)1 n2-(F(x, xdatai) ydatai)2 i ix(3) xdata(i)3其中:F(x, xdata)x(1) xdata2 x(2) sin(xdata) x(3) xdata3初始解向量为 x0=0.3, 0.4, 0.1。解:先建立拟合函数文件,并保存为myfun.mfunction F = myfun(x,xdata)F = x(1)*xdata.A2 + x(2)*sin(xdata) + x(3)*xdata.A3;然后给出数据xdata和ydata>>xdata = 3.6 7.7 9.3 4.1 8.6 2.8 1.3 7.9 10.0 5.4;>>ydata = 16.5 150.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中级财务会计知到课后答案智慧树章节测试答案2025年春北方工业大学
- 张家口学院《医学遗传学研究进展》2023-2024学年第二学期期末试卷
- 广西生态工程职业技术学院《普通生物学》2023-2024学年第二学期期末试卷
- 苏州城市学院《乐理与视唱》2023-2024学年第一学期期末试卷
- 柳州城市职业学院《大学英语Ⅰ(5)》2023-2024学年第一学期期末试卷
- 河北2025年五下数学期末学业水平测试模拟试题含答案
- 昌吉职业技术学院《英语高级阅读》2023-2024学年第一学期期末试卷
- 天津财经大学《厨房管理》2023-2024学年第二学期期末试卷
- 长江师范学院《土木工程材料(一)》2023-2024学年第二学期期末试卷
- 公共交通停车场管理制度
- (2024)云南省公务员考试《行测》真题及答案解析
- 60岁以上务工免责协议书
- 靶向治疗患者的护理常规
- 二年级心理健康教育课:你的感受我知道
- 2024年社区工作者考试必考1000题【历年真题】
- 信息化战争课件
- 媒介文化十二讲课件
- 人工智能时代弘扬教育家精神的价值意蕴与实践路径
- 糖尿病高血压健康教育
- 校园活动作文课件
- 《市值管理探究的国内外文献综述》4000字
评论
0/150
提交评论