Matlab-regress和rcoplot的使用
Matlab-regress和rcoplot的使用
[b,bint,r,rint,stats]=regress(y,X,alpha)
输入参数:
(1)y-响应数据
指定为n*1的数值向量。y的行对应不同的观测值
(2)X-预测变量数据
指定为n*p的数值矩阵,X的行对应不同的观测值,列对应预测变量。
(3)alpha-显著性水平,默认为0.05
输出参数:
(1)b-多元线性回归的系数估计值
(2)bint-系数估计值的置信边界下限和置信边界上限,p*2的数值矩阵
(3)r-残差
(4)rint-用于诊断离群值的区间
对应的残差大于 100*(1-alpha)% 的新观测值的预期残差,即表明存在离群值。
(5)stats-模型统计量
数值向量,包括:R2统计量 、F统计量及其p值、误差方差的估计值
-
R方的值越接近于1说明拟合的越好,F值越大或者p值小于0.05的默认显著性水平,说明y与X之间存在显著的线性回归关系
-
F统计量是对回归模型的F检验统计量,F检验寻找y与X之间的显著性回归关系
-
对于没有常量的模型,R方可能是负数,表面模型不适用于是数据
例:
clear;clc;
x1=[1;2;3;3];
x2=[1;3;2;5];
y=[7;15;12;20];
alpha=0.05;
X=[ones(size(x1)),x1,x2];
[b,bint,r,rint,stats]=regress(y,X,alpha);
b,r,stats
b =
3.8333
0.8333
2.8333
r =
-0.5000
1.0000
0
-0.5000
stats =
0.9831 29.1667 0.1298 1.5000
% R方=0.9831,F=29.1667,p=0.1298
rcoplot(r,rint)
用于筛选异常值
clear;clc;
x1=[1;2;3;3];
x2=[1;3;2;5];
y=[7;15;12;20];
alpha=0.05;
X=[ones(size(x1)),x1,x2];
[b,bint,r,rint,stats]=regress(y,X,alpha);
b,r,stats
rcoplot(r,rint);

如果出现红色圈圈说明存在异常值需要删除

浙公网安备 33010602011771号