function [ b, bint, r, rint, stats ] = multiple_linear_regression( x,y,alpha )
%multiple_linear_regression 多元線性回歸
%對於輸入資料(必須是去除量綱之後的資料)進行多元線性回歸處理
% 輸入變數
% x:由自變數組成的矩陣(第一列必須全為1)
% y:因變數(列向量)
% alpha:顯著性水平(預設時預設為0.05)
% 若x中兩個原本全為變數,需第一列加上1,作為最後常數項的係數**
% 輸出變數
% b為線性回歸模型y = x*b回歸係數(即斜率引數)第乙個是常數項係數
% bint為b的置信區間(按行顯示)
% r為殘差(實際值與擬合值的差)
% rint為殘差的置信區間
% stats包含如下四個統計量
% r^2統計量(越接近1,變數的線性相關性越強,說明模型有效)
% f統計量
% f(1,n-2)分布大於f的概率p值(顯著性水平,判斷原始假設是否正確的重要證據)
% 剩餘方差s^2(主要用來比較模型是否有改進,越小則模型精度越高)
x = [ones(size(y)),x];
[b, bint, r, rint, stats] = regress(y,x,alpha);
if stats(3)<0.01
disp('f(1,n-2)分布大於f的概率p值為:');
disp( stats(3) );
disp('p值很小(p<0.001),說明擬合模型有效');
else
disp('p值較大(p>0.001),說明擬合模型效果不好');
end%% 畫出擬合效果圖
figure
y_fitting = x*b;
t = 1:length(y);
plot(t,y_fitting,'r-',t,y,'b-',t,abs(y_fitting-y),'k-');
legend(,'fontsize',12,'location','northwest');
xlabel('點的序號','fontsize',12);
ylabel('y對應的值','fontsize',12);
set(gca, 'xgrid','on'); % x軸的網格
set(gca, 'ygrid','on'); % y軸的網格
end
matlab實現一 多元非線性回歸
主函式 單引號表示轉置 x1 1.11 1.21.1 0.9 x2 22 1.81.9 2.1 x3 3.23.2 32.9 2.9 y 10.1 10.2 1010.1 10 x x1,x2,x3 beta0 1 1,1 x代表自變數輸入,u代表因變數輸入,myfun為函式形式 beta0是係數向...
多元線性回歸
多元線性回歸的基本原理和基本計算過程與一元線性回歸相同,但由於自變數個數多,計算相當麻煩,一般在實際中應用時都要借助統計軟體。介紹多元線性回歸的一些基本問題。但由於各個自變數的單位可能不一樣,比如說乙個消費水平的關係式中,工資水平 受教育程度 職業 地區 家庭負擔等等因素都會影響到消費水平,而這些影...
多元線性回歸
from numpy import genfromtxt 用來讀取資料轉化為矩陣 from sklearn import linear model 含有回歸的模型 datapath r c users qaq desktop delivery dummy.csv 路徑 deliverydata ge...