matlab多元非线性回归教程

上传人:博****1 文档编号:511320850 上传时间:2022-07-31 格式:DOC 页数:28 大小:506.50KB
返回 下载 相关 举报
matlab多元非线性回归教程_第1页
第1页 / 共28页
matlab多元非线性回归教程_第2页
第2页 / 共28页
matlab多元非线性回归教程_第3页
第3页 / 共28页
matlab多元非线性回归教程_第4页
第4页 / 共28页
matlab多元非线性回归教程_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《matlab多元非线性回归教程》由会员分享,可在线阅读,更多相关《matlab多元非线性回归教程(28页珍藏版)》请在金锄头文库上搜索。

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

2、确定函数的形式)一、回归命令一元多次拟合 polyfit(x,y,n); 元回归polyfit;多元回归regress-nlinfit(非线性)二、多元回归分析对于多元线性回归模型(其实可以是非线性,它通用性极高):y 二o! x 1 潜 曾. p x pe设变量XjXzJHxp, y的n组观测值为(冷,x2, IIRip, yj i =1,2H,n1XuX12X1py1记X =1X21X22X2py2,则0 =P1 ,y =的估计值为排列方式Xn1Xn2Xnpp丿与线性代数中的线性方程组相同(),拟合成多元函数-regress使用格式:左边用 b=b, bint, r, rint, stat

3、s右边用=regress(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%),( alpha不影响b,

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

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

6、要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,bi nt,stats得结果:b =bint =-16.0730-33.70711.5612-每一行为一个区间0.71940.60470.8340stats =

7、0.9282 180.95310.0000即?0 - -16.073, ? =0.7194 ;?。的置信区间为-33.7017, 1.5612, ?的置信区间 为0.6047,0.834; 2=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是相同的,只是命令中x,y要交换顺序,结果的系数排列顺序完全相反,x中不需要全1列。ans =0.719

8、4 -16.0730-此题也可用polyfit求解,杀鸡用牛刀,脖子被切断。3、残差分析,作残差图:rcoplot(r,ri nt)Residual Case Order Plot43210-1-2-3-4-5246810121416Case Number从残差图可以看出,除第二个数据外,其余数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型 y=-16.073+0.7194x能较好的符合原始数据,而第二个数据可视为异常点(而剔除)观测物体降落的距离s与时间t的关系,得到数据如下表,求s关于t的回归方程4、预测及作图:plot(x,y,r+) hold ona=140:165;

9、 b=b(1)+b(2)*a;plot(a,b,g)1021 CE100-1984+ +96*494+92十十90-ir-88-+十-86-十-84140145150155160165abictt (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

10、.60 26.69 33.71 41.93 51.13 61.49 72.9085.44 99.08 113.77 129.54146.48; p,S=polyfit(t,s,2)p =489.294665.88969.1329得回归模型为:2j-489.2946t65.8896t 9.1329方法二-化为多元线性回归:S?二 a btctt=1/30:1/30:14/30;s=11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.9085.44 99.08 113.77 129.54146.48; T=ones(14,1), t, (t.A2)

11、% ?是否可行? ?等验证 一因为有三个待定系数,所以有三列,始于常数项 b,bint,r,rint,stats=regress(s,T); b,statsb = 9.132965.8896489.2946stats =1.0e+007 *0.00001.037800.0000得回归模型为:2 |9=9.1329 +65.8896t +489.2946t% 结果与方法 1 相同 T=ones(14,1),t,化人2)%?是否可行? ?等验证 .polyfit 一元多次regress-多元一次-其实通过技巧也可以多元多次regress最通用的,万能的,表面上是多元一次,其实可以变为多元多次且任意函数,如x有n列(不含全1列),则表达式中就有 n+1列(第一个为常数项,其他每项与x的列序相对应)??此处的说法需进一步验证证 设某商品

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号