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);

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

posted @ 2022-07-15 17:35  G3G4  阅读(1549)  评论(0)    收藏  举报