工具 | 常用函数拟合工具(matlab)

工具 | 常用函数拟合工具

时不时会用到线性回归,或自定义函数的拟合,做个记录备份,方便之后快速查找使用。以下记录几种matlab常用拟合工具。

1. cftool

简介 : 大杀器cftool排第一,二元以下的回归优选,优美的可视化界面,傻瓜式操作,无需教程,实时拟合,并给出拟合信息:SSE、 R 2 R^2 R2、 Adjusted R-square、 RMSE。如果需要重复调用,可以自动生成代码。

适用范围 :提供了线性、多项式、指数、傅里叶、高斯等等一系列函数拟合。当然,还可以自定义拟合函数。缺点是数据输入只有三维,也就是说最多只能二元回归。(可能我没找到增加变量维度的方法,如果大家有找到的分享一下呀)
在这里插入图片描述

使用

  1. 将变量导入工作区。
  2. 命令行输入: cftool
  3. 剩下的无需教程,看着界面操作吧。
    在这里插入图片描述

2. regress(y,x)

简介 : 全称Multiple linear regression,顾名思义就是拿来线性回归的,可以多元回归,给出拟合的统计信息。特点是非常灵活,回归最常用函数。

适用范围 :多元线性回归。

使用

[b,bint,r,rint,stats] = regress(y,X)
或 [___] = regress(y,X,alpha)

x:n*m矩阵;m为自变量个数
Y:n维列向量;

b : 回归系数,第一项为常数项,然后依次是x1,…xn的系数。当然,有的时候也有可能没有常数项,需要酌情判别。
bint : 回归系数的置信区间,默认95%,如果需要调整就在命令的地方调整alpha值。
r : 残差,相关系数。
rint : 残差的置信区间。
stats : 用于检验回归模型的统计量,里面包含四项分别是:相关系数 R 2 R^2 R2,F统计F-statistic,p-value,误差估计方差。

  • X的构造可以非常灵活,可以将多元多项式转为线性模型,如构成 X = [ o n e s ( n , 1 ) , x 1 , x 2 , x 1 2 , x 2 2 . . . ] X=[ones(n,1),x_1,x_2 , x_1^2,x_2^2...] X=[ones(n,1),x1,x2,x12,x22...]就变成下面rstool中的’purequadratic’模式。

3.rstool

简介 : response surface modeling,常用于响应面模型回归,提供可视化界面。

适用范围 :多元二项式回归,包含多元线性回归和二项式回归。一般二项式回归就用它吧。

使用

rstool(x,y)
或rstool(x,y,model,alpha)

模式选择

  • ‘linear’ — Constant and linear terms (有常数项,线性项, c + a 1 x 1 + a 2 x 2 + . . . c+a_1x_1+a_2x_2+... c+a1x1+a2x2+...)
  • ‘purequadratic’ — Constant, linear, and squared terms(有常数项,线性项,平方项(没有交叉项, c + a 1 x 1 + a 2 x 2 + b 1 x 1 2 + b 2 x 2 2 + . . . . c+a_1x_1+a_2x_2+b_1x_1^2+b_2x_2^2+.... c+a1x1+a2x2+b1x12+b2x22+....
  • ‘interaction’ — Constant, linear, and interaction terms(有常数项,线性项,交叉项(没有平方项, c + a 1 x 1 + a 2 x 2 + b 1 x 1 x 2 + . . . . c+a_1x_1+a_2x_2+b_1x_1x_2+.... c+a1x1+a2x2+b1x1x2+....
    ‘quadratic’ — Constant, linear, interaction, and squared terms(常数项、线性项、交叉项、平方项,全都有)

返回值:
beta : 多项式系数
rmse : 均方根方差,观测值与真值偏差的平方和与观测次数比值的平方根,衡量观测值与真值的偏差。

4.polyfit()

简介 : Polynomial curve fitting,多项式曲线拟合

适用范围 :任意多项式拟合。

使用

p=polyfit(x,y,n)
[p,S,mu] = polyfit(x,y,n)
y_pred=polyval(p,x)

p : 拟合的多项式
S : 误差信息,包含三项
mu : 中心化值和缩放因子
在这里插入图片描述
最终系数返回也按多项式降幂排列。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值