回归分析与Matlab实现

一元回归

建议使用Matlab自带的cftool工具,可以较好的拟合二维和三维数据。
cftool的使用

线性回归

一元线性回归

regress()函数主要用于线性回归,一元以及多元的。它可以提供更多的信息,残差之类的。polyfit()函数是利用多项式拟合。可以是线性也可以是非线性的。

regress函数

[B,BINT,R,RINT,STATS] = regress(Y,X)
参数解释:

  • B:回归系数,是个向量(“the vector B of regression coefficients in the linear model Y = X*B”)。
  • BINT:回归系数的区间估计(“a matrix BINT of 95% confidence intervals for B”)。
  • R:残差( “a vector R of residuals”)。
  • RINT:置信区间(“a matrix RINT of intervals that can be used to diagnose outliers”)。
  • STATS:用于检验回归模型的统计量。有4个数值:判定系数R^2,F统计量观测值,检验的p的值,误差方差的估计。
    ALPHA:显著性水平(缺少时为默认值0.05)。
x=[143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164]';
X=[ones(16,1) x];
Y = [88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102]';
[b,bint,r,rint,stats]=regress(Y,X,0.05);
%

b = [-16.0730 ,0.7194]
bint=[-33.7071 1.5612
0.6047 0.8340 ]
stats=[0.9282 180.9531 0.0000 1.7437]
(判定系数R^2,F统计量观测值,检验的p的值,误差方差的估计)

利用rcoplot(r,rint)可以观察残差的分布图。观察所得残差分布图,看到第2个数据的残差置信区间不含零点,此点视为异常点,剔除后重新计算。
在这里插入图片描述
删除后重新计算,可以发现置信区间缩小;R2、F变大,所以应该采用修改后的结果。

polyfit函数

[p,s] = polyfit(x,y,degree)即可。

多元线性回归

regress函数

之前所讲是一元的,如果是多元就增加X的行数!
b =regress( Y, X,p )其中:
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述

非线性拟合

nlinfit()

非线性拟合

逐步回归

stepwise()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UESTC Like_czw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值