Matlab線性回歸(擬合)-應(yīng)用_第1頁
Matlab線性回歸(擬合)-應(yīng)用_第2頁
Matlab線性回歸(擬合)-應(yīng)用_第3頁
Matlab線性回歸(擬合)-應(yīng)用_第4頁
Matlab線性回歸(擬合)-應(yīng)用_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Matlab線性回歸(擬合)對于多元線性回歸模型:y=-0-1X1-pXpe設(shè)變量Xl,X2/llXp,y的門組觀測值為(Xi,X2,|l|Xp,yi)i=1,2JH,n的估計值為b=?=(xx)xy在 Matlab 中,用 regress 函數(shù)進行多元線性回歸分析,應(yīng)用方法如下:語法:b=regress(y,x)b,bint,r,rint,stats=regress(y,x)b,bint,r,rint,stats=regress(y,x,alpha)b=regress(y,x)得到的p+1維列向量b即為(11.2)式給出的回歸系數(shù)0的估計值.b,bint,r,rint,stats=regre

2、ss(y,x)給出回歸系數(shù) B 的估計值 b,0 的 95%置信區(qū)間(p+1)*2 向量)bint,殘差 r 以及每個殘差的 95%置信區(qū)間(n*2向量)rint;向量 stats 給出回歸的 R2 統(tǒng)計量和 F 以及臨界概率 p 的值.如果的置信區(qū)間(bint 的第 i+1 行)不包含 0,則在顯著水平為*時拒絕2 二0的假設(shè),認為變量為是顯著的.b,bint,r,rint,stats=regress(y,x,alpha)給出了 bint 和 rint 的 100(1-alpha)%的置信區(qū)間.matlab 的splinex=0:10;y=sin(x);xx=0:.25:10;yy=spli

3、ne(x,y,xx);1x11Z_x12記x=1x21z_aBx22I1x1p“1、x2py2.-yy=:,xnp)Un/1.三次樣條插值函數(shù)的MATLAB 程序%插值點%繪圖點Xn1xn2plot(x,y,o,xx,yy)2.非線性擬合非線性擬合可以用以下命令(同樣適用于線性回歸分析):beta=nlinfit(x,y,fun,beta0)x:給定的自變量數(shù)據(jù),y:給定的因變量數(shù)據(jù),fun:要擬合的函數(shù)模型(句柄函數(shù)或者內(nèi)聯(lián)函數(shù)形式),beta0 函數(shù)模型中系數(shù)估計初值,beta 返回擬合后的系數(shù)x=lsqcurvefit(fun,x0,xdata,ydata)fun 要取合的目襦函數(shù),x0

4、:目標函數(shù)中的系數(shù)估計初值,xdata:自變量數(shù)據(jù),ydata:函數(shù)值數(shù)據(jù),x:擬合返回的系數(shù)(擬合結(jié)果),2.1nlinfit 函數(shù)格式:beta,r,J=nlinfit(x,y,model,beta0beta 估計出的回歸系數(shù),r:殘差,J:Jacobian 矩陣,x,y:輸入數(shù)據(jù) x、y 分別為 n*m 矩陣和 n 維列向量,對一元非線性回歸,x 為 n 維列向量。Model:事先用 m-文件定義的非線性函數(shù)beta。:回歸系數(shù)的初值例 1 已知數(shù)據(jù):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;

5、y=0.785,0.703,0.583,0.571,0.126;且 y 與 x1,x2,x3 關(guān)系為多元非線性關(guān)系(只與 x2,x3 相關(guān))為:y=a+b*x2+c*x3+d*(x2A2)+e*(x3A2)求非線性回歸系數(shù) a,b,c,d,e(1)對回歸模型建立 M 文件 model.m 如下:functionyy=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)+beta(5)*(x3.A2);(2)主程序如下:x=0.5,0.4,0.3,0.2,0.1;0.

6、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)例題2:混凝土的抗壓強度隨養(yǎng)護時間的延長而增加,現(xiàn)將一批混凝土作成12 個試塊,記錄了養(yǎng)護日期(日)及抗壓強度 y(kg/cm2)的數(shù)據(jù):養(yǎng)護時間:x=234579121417212856抗壓強度:y=35+r42+r47+r53+r59+r65+r68+r73+r76+r82+r86+r99+r建立非線性回歸模型,對得到的模型和系數(shù)進行檢驗。注明:此題中的+

7、r 代表加上一個卜 0.5,0.5之間的隨機數(shù)模型為:y=a+k1*exp(m*x)+k2*exp(-m*x);Matlab 程序:x=234579121417212856;r=rand(1,12)-0.5;y1=354247535965687376828699;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.50.50.50.5);a=beta(1),k1=beta(2),k2=beta(3),m=beta(4)%test

8、themodelxx=min(x):max(x);yy=a+k1*exp(m*xx)+k2*exp(-m*xx);plot(x,y,o,xx,yy,r)結(jié)果:a=87.5244k1=0.0269k2=-63.4591m=0.1083非線性最小二乘(非線性數(shù)據(jù)擬合)的標準形式為mxnf(x)=f1(x)2f2(x)2fm(x)2L其中:L 為常數(shù)在 MATLAB5.X中, 用函數(shù) leastsq解決這類問題, 在 6.0版中使用函數(shù) Isqnonlin。Jm(X)其中:x 為向量,F(xiàn)(x)為函數(shù)向量。函數(shù) lsqnonlin格式 x=lsqnonlin(fun,x0)%x0 為初始解向量;fun

9、 為fi(x),i=1,2,,m,fun 返回向量值 F,而不是平方和值,平方和隱含在算法中,fun 的定義與前面相同。x=lsqnonlin(fun,x0,lb,ub)%lb、ub 定義 x 的下界和上界:lb-x-ub0 x=lsqnonlin(fun,x0,lb,ub,options)%options 為指定優(yōu)化參數(shù),若 x 沒有界,則lb=,ub=。x,resnorm=lsqnonlin(-)%resnorm=sum(fun(x).A2),即解 x 處目標函數(shù)值。x,resnorm,residual=lsqnonlin(-)%residual=fun(x),即解 x 處 fun 的值。

10、x,resnorm,residual,exitflag=lsqnonlin(-)%exitflag 為終止迭代條件。x,resnorm,residual,exitflag,output=lsqnonlin(-)%output 輸出優(yōu)化信息。x,resnorm,residual,exitflag,output,lambda=lsqnonlin()%lambda 為 Lagrage乘子。x,resnorm,residual,exitflag,output,lambda,jacobian=lsqnonlin()%fun 在解 x處的 Jacobian 矩陣。10122k-ekxi-ekx2)2例 5

11、-17 求下面非線性最小二乘問題kT初始解向量為x0=0.3,0.40解:先建立函數(shù)文件,并保存為 myfun.m,由于 lsqnonlin 中的 fun 為向量形式而不是平方和形式,因此,myfun 函數(shù)應(yīng)由fi(x)建立:functionF=myfun(x)k=1:10;F=2+2*k-exp(k*x(1)-exp(k*x(2);然后調(diào)用優(yōu)化程序:x0=0.30.4;F(x)=1(x)一f2(x)則目標函數(shù)可表達為minX2F(x)2=2Lfi(x)2fk(x)=22k-ekxi-ekx2k=1,2,10 x,resnorm=lsqnonlin(myfun,x0)結(jié)果為:Optimizat

12、ionterminatedsuccessfully:NormofthecurrentstepislessthanOPTIONS.TolXx=0.25780.2578resnorm=%求目標函數(shù)值lsqcurvefit 非線性曲線擬合是已知輸入向量 xdata 和輸出向量 ydata,并且知道輸入與輸出的函數(shù)關(guān)系為 ydata=F(x,xdata),但不知道系數(shù)向量 x。今進行曲線擬合,求 x 使得下式成立:min1(F(x,xdata)-ydata|2=1工(F(x,xdatai)-ydatai)2x22i在 MATLAB5.x 中,使用函數(shù) curve 巾 t 解決這類問題。函數(shù) lsqcu

13、rvefit 格式x=lsqcurvefit(fun,x0,xdata,ydata)x=lsqcurvefit(fun,x0,xdata,ydata,lb,ub)x=lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options)x,resnorm=lsqcurve 日t()x,resnorm,residual=lsqcurvefit(-)x,resnorm,residual,exitflag=lsqcurvefit(-)x,resnorm,residual,exitflag,output=lsqcurve訛()x,resnorm,residual,exitflag,

14、output,lambda=lsqcurvefit()x,resnorm,residual,exitflag,output,lambda,jacobian=lsqcurvefit()參數(shù)說明:x0 為初始解向量;xdata,ydata 為滿足關(guān)系 ydata=F(x,xdata)0 勺數(shù)據(jù);lb、ub 為解向量的下界和上界lbWxub,若沒有指定界,則 lb=,ub=;options 為指定的優(yōu)化參數(shù);fun 為擬合函數(shù),其定義方式為:x=lsqcurvefit(myfun,x0,xdata,ydata),其中myfun 已定義為 functionF=myfun(x,xdata)F=%計算 x

15、 處擬合函數(shù)值 fun 的用法與前面相同;resnorm=sum(fun(x,xdata)-ydata).A2)即在 x 處殘差的平方和;residual=fun(x,xdata)-ydata,即在 x 處的殘差;exitflag 為終止迭代的條件;output 為輸出的優(yōu)化信息;lambda 為解 x 處的 Lagrange 乘子;jacobian 為解 x 處擬合函數(shù) fun 的 jacobian 矩陣。例 5-16 求解如下最小二乘非線性擬合問題已知輸入向量 xdata 和輸出向量 ydatai,且長度都是 n,擬合函數(shù)為ydata(i)=x(1)xdata(i)2x(2)sin(xda

16、ta(i)x(3)xdata(i)3nmin1_(F(x,xdata。-ydata)2即目標函數(shù)為x2TF(x,xdata)=x(1)xdata2x(2)sin(xdata)x(3)xdata3初始解向量為 x0=0.3,0.4,0.1。解:先建立擬合函數(shù)文件,并保存為 myfun.mfunctionF=myfun(x,xdata)F=x(1)*xdata.A2+x(2)*sin(xdata)+x(3)*xdata.A3;然后給出數(shù)據(jù) xdata 和 ydataxdata=3.67.79.34.18.62.81.37.910.05.4;其中:ydata=16.5150.6263.124.720

17、8.59.92.7163.9325.054.3;x0=10,10,10;%初始估計值x,resnorm=lsqcurvefit(myfun,x0,xdata,ydata)結(jié)果為:Optimizationterminatedsuccessfully:RelativefunctionvaluechangingbylessthanOPTIONS.TolFunx=0.22690.33850.3021resnorm=6.2950進行非線性回歸時可使用 nliMit 指令,其語法如下:beta=nlinfit(X,y,fun,beta0)beta,r,J=nlinfit(X,y,fun,beta0).=nlinfit(X,y,fun,beta0,options)x,resnorm=lsqcurve 巾 t(fun,x0,xdata,ydata);參數(shù)解釋:input:fun 編程者需要擬合的函數(shù)x0函數(shù)系數(shù)的初始猜測值xdatax 坐標的值ydatay 左邊的值output:x 經(jīng)擬合的系數(shù)resnormthev

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論