matlab多元線性回歸


1.matlab多元回歸示例如下:

解決問題:油價預測

方法:多元線性回歸

實現:matlab regress()函數

技巧:通過增加X1^2,X2^2,或者X1*X2等構造的特征項,可以提高回歸模型的擬合准確度;但計算代價增大。

function result=reg_new_month(XX1_bu,YYnum)
y=YYnum;
a=XX1_bu;      %由於alldata_pca已經進行歸一化了;所以在回歸分析中直接用就行
%a=load('alldata.txt');
x1=a(:,1) ; 
x2=a(:,2) ; 
x3=a(:,3) ; 
x4=a(:,4) ;
x5=a(:,5) ;
x6=a(:,6) ;
x7=a(:,7) ;
x8=a(:,8) ;
x9=a(:,9) ;

x11=x1.^2;
x12=x2.^2;
x13=x3.^2;
x14=x4.^2;
x15=x5.^2;
x16=x6.^2;
x17=x7.^2;
x18=x8.^2;
x19=x9.^2;

x21=x1.*x2;
x22=x2.*x3;
x23=x3.*x4;
x24=x4.*x5;
x25=x5.*x6;
x26=x6.*x7;
x27=x7.*x8;
x28=x8.*x9;
x29=x9.*x1;
X=[ones(length(y),1), x1,x2,x3,x4,x5,x6,x7,x8,x9,x11,x12,x13,x14,x15,x16,x17,x18,x19, x21,x22,x23,x24,x25,x26,x27,x28,x29];

[b,bint,r,rint,stats]=regress(y,X);
% b; 相關系數
% bint
% r;殘差
%rint : 置信區間
% stats; 檢驗回歸模型的統計量:分別為
rcoplot(r,rint)    %畫殘差圖

XXnum為原數據所有特征X;

YYnum為原數據所有目標值Y;

XX1_bu:是補全后的數據特征;

 

2.結果如下:

2.1殘差圖

2.2 指標

stats=[0.8259, 22.0910 ,1.2622e-33, 3464.8205]

R=stats(1)=0.82,越接近1則代表擬合得越好;

F=1.26e-33;F<0.05代表回歸模型可用;

 

3 利用多元線性回歸進行預測

輸入測試X_test(若有多個X_test,可用循環或矩陣實現);

調用多元回歸m函數;

輸出Y_pred。

 

參考資料:

1.https://www.cnblogs.com/Mayfly-nymph/p/10539106.html ,作者:Hk_mayfly

2. https://zhuanlan.zhihu.com/p/45149297 ,一個大學生的日常筆記,回歸分析

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM