matlab 回归

我发现这两天写题目,回归真的是个万能方法,但是我只会最简单的线性回归,为此特地记录一下以下几种方法:

1):regress

简单线性回归,可以是一元,也可以是多元,具体用法可以看这个图片:

这个方法最简单,也最好用,但是也有局限,比如非线性的时候就可以用下面的方法

2):rstool

这个函数可以用于非线性的情况,它具体的操作方法为:

xname={'Li','Sanchez','Jones','Yang','Larson'}
yname={'rate'}
x=data(:,2:6)
y=data(:,1)
rstool(x,y,'linear',0.05,xname,yname)    %后面参数alpha,表示置信区间95%

其中model有以下几种选择方法:

它没有返回值,是因为直接调用这个函数之后,会出现下面这个

 其中红色线围成的区间就是置信区间,误差线越短,表示效果越好,可以修改对应的x值,看y值变化。最后导出

 就把所需要的解变成变量,存放在工作台了。

但是由于它只给我们固定的模型,如果我们要用其他非线性模型来拟合数据怎么办?这个时候就有第三个方法了

3):nlinfit

它可以对你提供的任意函数去拟合,因此也被称为万能函数:

x=data(:,2:6)
y=data(:,1)
myfun = inline('beta(6)+ beta(1)*x(:,1)+ beta(2)*x(:,2)+ beta(3)*x(:,3)+ beta(4)*x(:,4)+ beta(5)*x(:,5)','beta','x');		%内联函数
temp=rand(1,6)					%初始化所求解
beta = nlinfit(x,y,myfun,temp); %回归得到系数beta

 最后,无论是哪种回归它一般的步骤都可以是这样:

1)先进行相关性分析,显著性较好才可以进行下一步
2)建立95%置信区间下回归模型求出对应的回归系数和模型好坏的评判标准
3)利用残差图剔除掉异常数据
4)重复2,3步骤,直到没有异常数据为止

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值