插值与拟合的区别:
- 实现方法:插值要求曲线穿过样本点,而拟合不需要穿过样本点,只要求总体误差最小。
- 结果形式:插值是分段逼近样本点,没有同一的逼近函数;函数拟合则用一个函数去逼近,有完整的表达式。
- 侧重点:插值可以用于估计区间内某些点对应的函数值;拟合不仅可以估计区间内的点,也可以预测区间外的点。
- 应用场合:插值多用于精确数据集;拟合多用于统计数据集。
polyfit函数用于一元多次曲线拟合(亦多项式拟合),形如: y = a x 5 + b x 4 + c x 3 + d x 2 + e x + f y=ax^5+bx^4+cx^3+dx^2+ex+f y=ax5+bx4+cx3+dx2+ex+f,我们已知 x x x、 y y y样本数据,利用此函数求解参数(系数) a a a、 b b b、 c c c、 d d d、 e e e、 f f f。
regress函数用于一元或多元线性回归(拟合),形如: y = a x 1 + b x 2 + c x 3 + d x 4 + e y=ax_1+bx_2+cx_3+dx_4+e y=ax1+bx2+cx3+dx4+e,我们已知 x 1 x_1 x1、 x 2 x_2 x2、 x 3 x_3 x3、 x 4 x_4 x4、 y y y样本数据,利用此函数求解参数(系数) a a a、 b b b、 c c c、 d d d、 e e e。
polyfit函数调用格式:
-
[P,S,mu]=polyfit(X,Y,m)
-
[P,S]=polyfit(X,Y,m)
-
P=polyfit(X,Y,m)
参数解释:
根据样本数据X和Y,产生一个m次多项式系数向量P及其在采样点误差数据S,mu是一个二元向量,mu(1)是mean(X),而mu(2)是std(X)。
x=0: 0.1: 1;
y=[-0.447, 1.978, 3.11, 5.25, 5.02, 4.66, 4.01, 4.58, 3.45, 5, 35];
p = polyfit(x, y, 3) % 三次多项式拟合
xx = 0: 0.01 : 1;
yy = polyval(p, xx) ; % 根据系数向量p计算在xx点处的函数值
plot(xx, yy, '-b', x, y, 'markersize', 20)
当还需要进行线性回归分析时,可以再利用corrcoef函数获取相关系数。
regress函数在matlab的regress函数中置信区间bint、rint以及stats后面三个值全都为无穷大,这说明数据不服从线性关系,应考虑用非线性拟合函数来拟合。
调用格式:
- [B,BINT,R,RINT,STATS] = regress(Y,X)
- [B,BINT,R,RINT] = regress(Y,X)
- [B,BINT,R] = regress(Y,X)
- [B,BINT] = regress(Y,X)
- B = regress(Y,X)
参数解释:
调用该函数要保证目标函数的形式已知,比如目标函数为: y = a x 1 + b x 2 + c x 3 + d x 4 + e y=ax_1+bx_2+cx_3+dx_4+e y=ax1+bx2+cx3+dx4+e,或者是 y = a x 1 2 + b x 2 2 + c x 1 + d x 2 + e x 1 × x 2 + f y = ax_1^2+bx_2^2+cx_1+dx_2+ex_1×x_2+f y=ax12+bx22+cx1+dx2+ex1×x2+f这样的多元多次多项式。传入参数,调用该函数后得到拟合出的系数值。
- x是一个矩阵。矩阵的每一个样本,即行数等于样本数,每个样本的每一列表示该样本在多项式中每一项除去系数之外的值。
- y是一个列向量。向量维度与矩阵行数一致,同为样本数,每一个值表示每个样本对应的函数值。
该函数根据多个样本的 x i x_i xi和 y y y拟合出多项式的系数。
返回值解释:
- B:回归系数,即未知参数,B(1)为常数项,B(2~……)依次为X每一列(从第二列起)对应的项的系数;
- BINT:回归系数的置信区间。(置信区间:当给出某个估计值的95%置信区间为[a, b]时,可以理解为我们有95%的信心可以说样本的平均值介于a到b之间,而发生错误的概率为5%)
- R:残差(残差是指观测值与预测值(拟合值)之间的差,即是实际观察值与回归估计值的差)
- RINT:残差的置信区间。
- STATS:用于检验回归模型的统计量。有4个数值:判定系数
R
2
R^2
R2(度量拟合优度的统计量,R²的值越接近1,说明回归直线对观测值的拟合程度越好),
F
F
F统计量观测值,检验的
p
p
p的值(
p
<
0.05
p
关注打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?