matlab-線性回歸


1.調用函數regress(Y,X,alpha),plpha是置信度,如果直接用regress(Y,X)則默認置信度為0.05,Y是一個 的列向量,X是一個 的矩陣,其中第一列是全1向量。

 

2.函數返回值及意義

b 回歸系數,是一個一維向量,第一個是回歸方程的常數b0

bint 回歸系數的置信區間,是一個2列的矩陣

r 殘差

rint 殘差置信區間,是一個2列的矩陣

stats 用於檢驗回歸模型的統計量,有4個統計量,按輸出順序分別是相關系數R2,F值,與F對應的概率p,誤差方差。

相關系數R2越接近1,說明回歸方程越顯著;F > F1-α(k,n-k-1)時拒絕H0F越大,說明回歸方程越顯著;與F對應的概率p 時拒絕H0,回歸模型成立。p值在0.01-0.05之間,越小越好。

 

3.出殘差及其置信區間rcoplot(r,rint);結果是一個圖

 

4.一元線性回歸,y=b+ b1 * x;

定義兩個長度相同的一維數組后調用函數。

x = [ 1,2,3 ];
y = [ 3,5,7 ];
X = [ ones(length(y),1), x' ];%x'表示行向量轉置為列向量
Y = y';
[ b,bint,r,rint,stats ] = regress(Y,X);
b
rcoplot(r,rint)
%輸出1 2,則回歸方程是y=1+2*x

 

繪制圖表:plot(x,Y,'*',x,z,'r');%'*'表示原來的各個點,'r'表示回歸方程連起來的線

 

 

 

5.多元線性回歸,照着上面模板套用即可

y=[1 2 3 4 5 6 7 8];
%f是一個10*8的矩陣
x1=f(1,:);
x2=f(2,:);
x3=f(3,:);
x4=f(4,:);
x5=f(5,:);
x6=f(6,:);
x7=f(7,:);
x8=f(8,:);
x9=f(9,:);
x10=f(10,:);%把f的每一行賦值給各個xi
X=[ ones( length(y),1 ), x1',x2',x3',x4',x5',x6',x7',x8',x9',x10'];%把行向量轉為列向量
Y=y';
[ b,bint,r,rint,stats ] = regress(Y,X);

  

 

 

 

參考:https://blog.csdn.net/u011089523/article/details/79203375


免責聲明!

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



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