matlab多元回归分析怎么计算,matlab在多元线性回归分析中的相关计算
matlab多元回归分析怎么计算,matlab在多元线性回归分析中的相关计算
%本程序演示多元线性回归求解问题,2020.07
clc, clear
X1=[161819172016161519181817 18202116181919211917171821]';
X2=[393839393848454848484648 45484855555658584949464449]';
Y=[2424.524.5242524.5242424.524.524.524.5 24.52525252525.525.526.524.52524.524.526]';
X=[ones(size(X1)),X1,X2];
[b, bint, r,rint,stats]=regress(Y, X)
% b =
% 18.1079
% 0.2218
% 0.0556
% stats = 0.7815 39.3463 0.0000 0.0900
%各指标的验证
%由超定方程组X*beta=Y的正规方程组X'*X*beta=X'*Y,求最小二乘解 beta=inv(X'*X)*X'*Y
beta=inv(X'*X)*X'*Y
% beta =
% 18.1079
% 0.2218
% 0.0556
% 总离差分解SST=SSR+SSE
SST=sum((Y-mean(Y)).^2)
SSR=sum((X*b-mean(Y)).^2)
SSE=sum((Y-X*b).^2)
%计算F统计量的观察值
k=2; %变量个数k=2;
n=25;%样本容量n=25
F=(SSR/(k))/(SSE/(n-k-1))
% F =39.3463
% 计算F统计量的临界值,结果为3.4434,检验统计量观察值落入拒绝域,则拒绝回归系数全为0的原假设。认为线性回归模型是显著的。
Flimit=finv(0.95,k,n-k-1)
%计算回归模型的拟合优度/判定系数,结果为 0.7815
R2=SSR/SST
%计算回归模型误差: 误差均方MSE,误差均方根RMSE,回归标准误差SEE2,回归标准误差方根SEE
MSE=SSE/n
RMSE=sqrt(MSE)
SEE2=SSE/(n-k-1) %回归标准误
SEE=sqrt(SSE/(n-k-1))
%计算回归模型的p值,F统计量的观察值右侧的概率,约为0.00000005(拒绝原假设犯错的概率)
P=1-fcdf((SSR/(k))/(SSE/(n-k-1)),k,n-k-1)