多元线性回归模型-数学建模类-matlab详解
如果本文有點小難理解的話,可以看看我之前的基礎線性規劃啥的,有lingo,matlab還有python
就不給大家放鏈接了,想看的話,點擊頭像即可!!
文章目錄
(1)一元線性回歸之舊轎車價格案例
(2)多元線性回歸之洞庭湖污染物案例實測
(3) 參考文檔:
(1)一元線性回歸之舊轎車價格案例
????????以x表示使用年數,y表示相應的平均價格。根據表中x和y的數據,建立一個數據模型,分析就轎車平均價格與其使用念書之間的關系,即求y與x的關系。
????????為了表示,x和y數據為:
?代碼:
clear all clc%繪圖 x=1:10; y=[2650,1942,1493,1086,766,539,485,291,224,202]; for i=1:10plot(x(i),y(i),'or');hold on end%命名x軸和y軸 xlabel('x'); ylabel('y');?運行結果:
?????????分析返回的圖我們發現,x和y呈現指數關系,于是我們令z=Iny,記作Zi=Inyi,
????????重新繪圖:
?代碼:
clear all clc%繪圖 x=1:10; y=[2650,1942,1493,1086,766,539,485,291,224,202]; z=zeros(size(y)); N=length(y); hold on for i =1:Nz(i)=log(y(i));plot(x(i),z(i),'ok'); end%命名x軸和y軸 xlabel('x'); ylabel('y');?運行結果:觀察結果,是不是覺得比剛才擬合效果好多了
?????????經過分析:各點基本處于一條直線附近,可以認為z=a+bx+c
既然已經確定好了函數類型,就可以求解參數具體值。
?代碼:
????????運行結果:
????????由此可以得出:a=8.1671,b=-0.2984,從而可以得到函數z=8.1671-0.2984x
(2)多元線性回歸之洞庭湖污染物案例實測
????????定義:如果有兩個或者兩個以上的自變量,成為多元回歸。
在這之前我需要先講一下regress函數使用,調用格式為:
[b,bint,r,rint,stats]=regress(y,x,alpha)什么意思呢?
alpha為顯著性水平,缺省設定為0.05,b表示為輸出量,bint為回歸系數估計值和他們的置信區間,r為殘差,rint為置信區間,stats適用于檢驗回歸模型的統計量。
舉個例子吧,案例如下:
?代碼:
%開始進行多元回歸 clear all clcx1=[1.376,1.375,1.387,1.401,1.412,1.428,1.445,1.477]; x2=[0.450,0.475,0.485,0.5,0.535,0.545,0.55,0.575]; x3=[2.170,2.554,2.676,2.713,2.823,3.088,3.122,3.262]; x4=[5.19,1.161,0.5346,0.9589,2.0239,1.0499,1.1065,1.1387]; y=[5.19,5.3,5.6,5.82,6,6.06,6.45,6.95]; save data x1 x2 x3 x4 y%保存數據 load data %取出數據 y=[y']; x=[ones(size(x1')),x1',x2',x3',x4'];[b,bint,r,rint,stats]=regress(y,x)?運行結果:
根據返回值b值,我們可以確定出函數關系式,水質分析模型為:
y=-20.5297+19.1269x1+8.0045x2-1.5867x3-0.1465x4
?(3) 參考文檔:
多元線性回歸 - MATLAB regress- MathWorks 中國
總結
以上是生活随笔為你收集整理的多元线性回归模型-数学建模类-matlab详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python扩展,用python扩展列
- 下一篇: excel文件存入mysql_解析exc