急!MATLAB中用cftool工具数据拟合之后,拟合结果好坏判断

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急!MATLAB中用cftool工具数据拟合之后,拟合结果好坏判断相关的知识,希望对你有一定的参考价值。

拟合之后 如下例子
SSE 0.02709
R-square 0.9978
Adjusted R-square 0.9913
RMSE 0.1164

例如和另一组:这4个数: 1.955e+006, 0.9679, 0.8717, 988.6

这两组比较哪个好?
这四个指标分别是什么意义?

R^2衡量的是回归方程整体的拟合度,是表达因变量与所有自变量之间的总体关系。R^2等于回归平方和在总平方和中所占的比率,即回归方程所能解释的因变量变异性的百分比。

实际值与平均值的总误差中,回归误差与剩余误差是此消彼长的关系。因而回归误差从正面测定线性模型的拟合优度,剩余误差则从反面来判定线性模型的拟合优度。

扩展资料

曲线拟合

实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合(curve fitting)是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。

最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。

参考资料来源:百度百科-拟合

参考技术A

拟合结果好坏判断可以通过代码运行后显示的构图结构符合性来判断,具体操作如下:

1、首先启动matlab,选择编辑器,再新建一个命令文件。

2、然后在编辑器窗口中输入图示的代码。

3、然后我们点击界面上方菜单栏里的保存图标进行保存。

4、需要注意的是,保存文件的位置要与当前搜索路径的位置保持一致。这可以通过右键编辑窗口的文件,在弹出的下拉框中选择。

5、最后再命令行窗口处输入dxsnh,并敲入键盘上的enter建。可以看出阶数越高,曲线与拟合点拟合得越好。

扩展资料:

为了提高模拟曲线的拟合速度,用户最好遵循如下的作图原则:

1、作图步骤:设置图幅→设置单位及精度→建立若乾图层→设置对象样式→开始绘图。

2、绘图始终使用1:1比例。为改变图样的大小,可在打印时于图纸空间内设置不同的打印比例。

3、当处理较小区域的图案时 ,可以减小图案的比例因子值 ;相反地 ,当处理较大区域的图案填充时 ,则可以增加图案的比例因子值 。

4、为不同类型的图元对象设置不同的图层、颜色及线宽,而图元对象的颜色、线型及线宽都应由图层控制(BYLAYER)。

5、需精确绘图时,可使用栅格捕捉功能,并将栅格捕捉间距设为适当的数值。

参考资料来源:百度百科-MATLAB


参考技术B 上面那组好 ,SSE和RMSE比较小 拟合度R接近于1
* 统计参数模型的拟合优度

1.误差平方和(SSE)

2. R-Square(复相关系数或复测定系数)

3. Adjusted R-Square(调整自由度复相关系数)

4.Root mearn squared error(RMSE),(均方根误差)本回答被提问者采纳
参考技术C 上边那组好,1和4越接近0越好,2和3越接近1越好。下边是我在一个博客上看到的
一、SSE(和方差)
该统计参数计算的是拟合数据和原始数据对应点的误差的平方和,计算公式如下
SSE越接近于0,说明模型选择和拟合更好,数据预测也越成功。接下来的MSE和RMSE因为和SSE是同出一宗,所以效果一样
二、MSE(均方差)
该统计参数是预测数据和原始数据对应点误差的平方和的均值,也就是SSE/n,和SSE没有太大的区别,计算公式如下
三、RMSE(均方根)
该统计参数,也叫回归系统的拟合标准差,是MSE的平方根,就算公式如下
在这之前,我们所有的误差参数都是基于预测值(y_hat)和原始值(y)之间的误差(即点对点)。从下面开始是所有的误差都是相对原始数据平均值(y_ba)而展开的(即点对全)!!!
四、R-square(确定系数)
在讲确定系数之前,我们需要介绍另外两个参数SSR和SST,因为确定系数就是由它们两个决定的
(1)SSR:Sum
of squares of the regression,即预测数据与原始数据均值之差的平方和,公式如下
(2)SST:Total sum of squares,即原始数据和均值之差的平方和,公式如下
细心的网友会发现,SST=SSE+SSR,呵呵只是一个有趣的问题。而我们的“确定系数”是定义为SSR和SST的比值,故
其实“确定系数”是通过数据的变化来表征一个拟合的好坏。由上面的表达式可以知道“确定系数”的正常取值范围为[0
1],越接近1,表明方程的变量对y的解释能力越强,这个模型对数据拟合的也较好。
参考技术D clear % 清除workspace里的所有变量,相当于内存初始化
x=2000:2009; % 生成数组 x = [2000,2001,2002,...,2009];
y= [49958 55535 61419 67485 73551 80000 87210 94636 102285 110164]; %数组y的赋值
fx =inline('a(1)./(1+(a(1)/49958 -1)*exp(-a(2)*(x-2000))) ','a','x')
% 函数fx的表达式,用来拟合测量数据(x,y),自变量为a,x。
a=nlinfit(x,y,fx,[100000 1]) %根据已知数据x,y并制定a的初始值为[100000,1]用非线性回归法求出参数a的最优值
X=2000:2100; % 数组X=[2000,2001,...,2100],用已知数据拟合的方程来做预测
Y=a(1)./(1+(a(1)/49958 -1)*exp(-a(2)*(X-2000))); % 已知数据求出参数a,得到的拟合方程表达式
plot(X,Y) %画图,变化趋势
xlabel('时间') %x轴的标签
ylabel('汽车数量变幅') %y轴标签
title('变化趋势') %图片的标题
grid on % 开启网格
figure % 建立新图
plot(x,y,'^',X(1:27),Y(1:27)) %画图 X,Y的前27个点,用符号^来标记点
xlabel('时间')
ylabel('汽车数量变幅')
grid on

matlab拟合曲线的方法有几种

matlab最常用拟合曲线的函数有:
1、regress()和polyfit()适用于线性函数的拟合
2、lsqcurvefit()和nlinfit()适用于较复杂的非线性函数的拟合
3、fit()适用于最常用函数的拟合,如指数函数,傅立叶函数、高斯函数、多项式函数、幂函数、有理函数等等。类似于cftool工具箱。
参考技术A 方法/步骤

运行Matlab软件。
在工作空间中存入变量的实验数据。具体如下:
可以直接用矩阵来存放数据,直接在命令窗口输入
x=[数据x1,数据x2,...,数据xn];
y=[数据y1,数据y2,...,数据yn];
当数据较多时,可以从excel,txt等文件中导入。

把数据存入工作空间后,在命令窗口中输入cftool,回车运行。

在这个拟合工具窗口的左边,选择变量,即分别选择x,y。

选择拟合的曲线类型,一般是线性拟合,高斯曲线,平滑曲线等,根据需要选择。
选择完后会自动完成拟合,并且给出拟合函数表达式。

点击菜单栏中的“file”,选择“print to figure"进行画图。

在图形窗口中,可以对图形显示模式进行修改,如添加标题,坐标名称等。

最后得到比较完整的图形曲线。点击”file"中的“save"进行保存。

以上是关于急!MATLAB中用cftool工具数据拟合之后,拟合结果好坏判断的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB cftool工具数据拟合结果好坏判断

matlab曲线拟合后如何给出得到的各个参数的标准差

如何用matlab数据拟合函数?

Matlab正弦曲线拟合

matlab的CurveFitting 工具箱里,不显示拟合后曲线

matlab拟合曲线的方法有几种