对一些数据点进行拟合,我怎么知道该用什么类型的方程拟合呢?
上一篇文章:《有一些话写出来特别容易被审稿人抓住把柄,来看一下,以后别写了》,点击链接可阅读。
写在前面:点击加入学社,和520多位同行一起主动学习。学习的主要方式为:1. 完成每周木耶学社任务 ➤ 点评任务并提高;2. 针对具体的问题,发表短话题,供大家学习;3. 每周末都会有直播给大家介绍各种学术类问题;4. 帮社友免费修改论文。
当我们拿到一组试验数据后,肯定要想办法原始数据进行处理,只有找到数据间的规律,这组数据才有意义。但是,试验与理论不一样。理论可以是精准的、完美的、独一无二的,但试验数据几乎不可能完全精确,在测量的时候一定会有误差的存在。
所以,我们在试验之前就要确定好,测量数据的时候保留几位有效数字才能满足精度要求,等到试验开始后再来确定就来不及了。
假设你获取了一批精确度满足要求的数据,那么,我们该如何找到数据间的规律呢?
通常有这么几种方法:
1. 数据拟合得到方程;
2. 与理论结果进行对比,突出试验数据的精确性或者理论的优越性;
3. 与仿真结果进行对比,验证仿真结果的真实性;
4. 与理论结果和仿真结果同时进行对比。
通常是这4种,也有其他的方法,以后再说。因为内容较多,今天给大家讲一下通过数据拟合得到方程中的一个非常重要的问题:
我怎么知道用什么类型的方程对这些离散点进行拟合呢?
首先要记住,如果不考虑变量的真实意义,单从数据上来说,通常会有很多种拟合方程满足要求。所以,在拟合的时候一定要综合考虑变量的真实意义,才能缩小这个范围,找到最后价值的拟合方程。
对于一些一眼就能看出规律的数据点,我们能够很容易猜到拟合方程类型,比如:
(2.5, 6.41)
(3.0, 7.18)
(3.5, 7.73)
(4.0, 8.51)
(4.5, 9.22)
(5.0, 9.76)
(5.5, 10.48)
这些点你只要在MATLAB或者Origin上一画,马上就能看出来大概就是用一次函数拟合,如下图所示:
如果都是这样的离散点,那就容易了。事实上,很多工程上的问题,由于自身材料的不连续性、不均匀性和各向异性等特点,以及所处环境的变异性特点,导致一些离散点分布很复杂,没有那么简单。
我举一些案例说明一下:
图1
图2
图1和图2来源于《Probabilistic evaluation method for corrosion risk of steel reinforcement based on concrete resistivity》;作者:Bo Yu, Jianbo Liu, Zheng Chen;期刊:Construction and Building Materials.
从图1中可以看出试验得到的数据点离散性比较强,但是能看出较为集中的点似乎满足一定的规律。为了探究这个规律,我们需要做这件事:
看清楚坐标轴的横纵坐标,先分析一下二者理论上存在的关系,如果找不到确切的理论关系,就分析一下随着自变量的增加,应变量应该是增加还是减小,减小的速率可能是什么样的。
这些都是非量化分析,比较简单。
比如,我们知道电流×电阻=电压,所以当我们只研究电流和电阻的关系,并且获得一些试验数据点时,如果我们发现数据点呈下降趋势,我们不妨用反比例函数y=1/x,而不是用y=1/(x^2)进行拟合,
上图1的拟合结果就可以通过这种拟合思路得到,同样的思路可以用在图2中的拟合结果中。
如果单看图2中的4张图,抛开作者的拟合结果不看,其实我们用一次函数统统能拟合出比较好的结果。但是,作者拟合的时候只将ρ与R的关系拟合成直线,ρ与T的关系、ρ与Cl浓度的关系和ρ与rRH的关系的都是指数函数。这么做,原因就两个:
1. 指数函数拟合是非常常见的拟合方式,同样的,反比例函数、对数函数、指数函数、多项式函数都是非常常见的拟合方式。所以,拟合的时候大多是在这些函数中选择不同的函数组合起来。
这其中,e^x的拟合尤为常见,这个以后找机会再说。
2. 选择什么函数并不是随便选的,一定有参考。对于无法确定确切理论关系的横纵坐标,参考别人的研究是一个很好的方法。
如果在你阅读的文献中,有人曾经尝试过分析你正要拟合的纵横坐标轴变量,并且分析得很有道理,那么你不妨参考一下。
通过分析图中列举的部分参考文献,能很清楚地理解为什么作者会用这些方程进行拟合。比如前两天有木耶学社的社友就提到过一个案例:
你能根据上图的数据点选择合适的拟合方程么?作者给出的拟合方程为:
你能想到这个结果么?
我估计很多人想不到,因为符合这种趋势的基本方程太多了,所以可能的解释是,作者首先根据自变量的意义或者是参考别人的研究成果确定了y=1/x这个基本方程,然后再根据数据点得到的这个拟合方程。
除此之外,有的试验数据点具有明显的分段趋势,这时不用刻意用一个方程对数据进行拟合,也可以进行分段拟合。通常分段拟合之后,很多数据点的趋势就可以用非常简单的方程进行表达。
还有一个问题没有解决,为什么很多拟合函数会有y=exp(x)这种基本形式,因为没办法一次讲完,找机会我们再讲。
今天关于如何选取拟合方程的内容就讲到这里。