【Matlab】多元线性回归
生活随笔
收集整理的這篇文章主要介紹了
【Matlab】多元线性回归
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
多元線性回歸
- 一元線性回歸
- 繪圖
- 求參
- 多元線性回歸
- regress函數
- matlab 文檔非常有用
一元線性回歸
一個舊東西隨著時間價格也在變動,數據如下:
| 265 | 1942 | 1493 | 1086 | 766 | 539 | 485 | 291 | 224 | 202 |
繪圖
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 xlabel('x'); ylabel('y');由圖可發現,x和y呈現指數關系,于是我們假設z=ln?yz=\ln yz=lny,記作zi=ln?yiz_i=\ln y_izi?=lnyi?,重新繪圖:
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 xlabel('x'); ylabel('y');
分析發現現在變得更擬合了。各點基本處于一條直線上,可以認為z=a+bxz=a+bxz=a+bx
求參
clear all clc x=1:10; y=[2650,1942,1493,1086,766,539,485,291,224,202]; z=zeros(size(y)); N=length(y); for i =1:Nz(i)=log(y(i)); end [p,s]=polyfit(x,z,1)返回結果:
可以得出:a=8.1671,b=-0.2984,即z=8.1671?0.2984xz=8.1671-0.2984xz=8.1671?0.2984x
多元線性回歸
regress函數
%調用格式 [b,bint,r,rint,stats]=regress(y,x,alpha)alpha為顯著性水平,缺省設定為0.05, b表示為輸出量, bint為回歸系數估計值和他們的置信區間,r為殘差, rint為置信區間, stats適用于檢驗回歸模型的統計量。
案例如下:
| x2x_2x2? | 0.450 | 0.475 | 0.485 | 0.5 | 0.535 | 0.545 | 0.55 | 0.575 |
| x3x_3x3? | 2.17 | 2.554 | 2.676 | 2.713 | 2.823 | 3.088 | 3.122 | 3.262 |
| x4x_4x4? | 0.8922 | 1.161 | 0.5346 | 0.9589 | 1.0239 | 1.0499 | 1.1065 | 1.1387 |
| yyy | 5.19 | 5.3 | 5.6 | 5.82 | 6 | 6.06 | 6.45 | 6.95 |
根據b可以解得該函數關系式為:
y=?20.5297+19.1269x1+8.0045x2?1.5867x3?0.1465x4y=-20.5297+19.1269x_1+8.0045x_2-1.5867x_3 -0.1465x_4 y=?20.5297+19.1269x1?+8.0045x2??1.5867x3??0.1465x4?
matlab 文檔非常有用
文檔連接:點擊這里
總結
以上是生活随笔為你收集整理的【Matlab】多元线性回归的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 配置Abaqus2021 + VS201
- 下一篇: 电脑技巧:如何开机进入纯净的Window