曲线拟合
![本页使用了标题或全文手工转换](http://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a8/Regression_pic_assymetrique.gif/330px-Regression_pic_assymetrique.gif)
上:原始数据和模型
下:归一化误差平方和的演变
曲线拟合(英语:curve fitting),简称拟合,俗称拉曲线,是一种构建一个函数曲线,使之最佳地吻合现有数据点的过程[1],该过程可能附加若干条件限制。[2][3]通俗地说,科学和工程问题通过诸如采样、实验等方法获得了若干离散的数据点。根据这些数据,我们往往希望得到一个连续的函数(也就是曲线)或者更加密集的离散方程与已知数据相吻合,该过程就叫做“拟合”,而得到的曲线方程就称为“拟合函数”。曲线拟合又译为:曲线配适、曲线贴合、曲线适插法,均有助理解其选择曲线方程(解析函数)来“模拟吻合”观测数据的过程。
曲线拟合中可以使用插值[4][5](需要精确吻合某数据时)或平滑[6][7](构造一个平滑的函数曲线,近似符合数据点)。回归分析是与拟合密切相关的一个话题[8][9],它更关注的是统计推断,例如一条拟合到有随机误差的一组观测数据的曲线有多大的不确定性。拟合曲线可以用作数据视觉化的一种辅助手段,[10][11]以表示数据缺失的函数区间的取值,[12]也可概括两个或多个变量之间的关系。[13]外推(extrapolation)指的是使用曲线来拟合观察数据取值范围以外的取值,[14]往往因采取的构建函数的方式不同而有较大的不确定性[15]
将函数拟合至数据点
[编辑]最常见的是拟合成函数 y=f(x) 的形式。
![用各种多项式曲线来拟合一段正弦函数生成的数据点](http://upload.wikimedia.org/wikipedia/commons/thumb/7/7f/Curve_fitting.svg/290px-Curve_fitting.svg.png)
将直线或多项式曲线拟合至数据点
[编辑]一次多项式方程在笛卡尔平面上是一条直线,而这条直线的斜率是a。因为任何两点可以决定一条直线,因此总能找到次数不多于1的多项式来串起任何两个x值相异的点。
如果把多次式的次数增加到2:
那么只要给定x值各异的3点,总会有次数不多于2的多项式可以把它们串起。
如果把多次式的次数再增加到3:
那么只要给定x值各异的4点,总会有次数不多于3的多项式可以把它们串起。
更准确而言,这条多项式能够符合任何4个限制。限制可以是一点(x, y)、角度或曲率(即密切圆半径的倒数1/R)。角度和曲率的限制通常用在曲线的终端,此时称为终端条件 。两条不同多项式拟合曲线的转换处通常会用到相同的终端条件,以确保样条(spline)平滑交接。也可以增加如曲率变化率等高阶约束。例如,在高速公路立体交叉点苜蓿叶型的设计中,可以理解为汽车沿着苜蓿叶立交运动时作用在汽车上的力的变化率(加加速度),并依此设定合理的限速。
一次多项式也可以拟合一个单点和一个角度的限制;三次多项式也可以拟合两点、一个角度约束以及一个曲率约束。许多其它类型的约束组合也同样可以用低阶或者高阶多项式来拟合。
在有超过n+1个约束(n是多项式的阶次)的情况下,多项式拟合可能仍然能满足所有约束。满足所有约束的精确拟合不一定能够得到(但是有可能得到,例如一次多项式拟合中的三点共线)。通常,我们需要使用一些方法来评价拟合的好坏。最小平方法就是用来评价偏离的一种常用的方法。
虽然提高多项式的次数可能可以获得精确拟合,但有时我们仍会采用近似拟合,其原因有下:
- 存在精确的拟合并也不意味着能很容易地得到这个拟合。根据使用的算法不同,可能遇到发散的情形,要么无法得到精确拟合,要么需要太长的计算时间才能获得精确拟合。不管哪种情况,最终都会以得到近似拟合而结束。
- 通常人们会希望得到一个近似的拟合以抹平数据点的随机波动,而不是为了“精确”拟合数据而扭曲拟合曲线。
- 龙格现象:高次多项式往往有高度波动的特性。如果通过两点A和B作一条曲线,可以期望该曲线也大概会通过AB中点附近的某处。但是对于高次多项式,情况就不是如此了,高次多项式曲线往往可能有绝对值很大的幅值。对于低次多项式,曲线波动不大,因此能通过中点附近(对于一次多项式,能保证肯定通过中点)。
将其他函数拟合至数据点
[编辑]![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Gohana_inverted_S-curve.png/280px-Gohana_inverted_S-curve.png)
其他类型的曲线在特定条件下也可使用,诸如三角函数(如正弦或馀弦函数)。
在光谱学中,数据可以使用高斯、柯西、福格特等相关函数来拟合。
在生物学、生态学、人口学、传染病学等学科中,生物个体数增长、传染病扩散等数据可以用逻辑斯谛函数(一种S型函数)来拟合。
在农业中,倒S型函数被用于描述作物产量和生长因子之间的关系。右方蓝色的图表是将农田中的测量数据进行S形回归得出的。可以看出作物产量在土壤盐度增加时先缓慢降低,之后降得更快,最终又趋于缓和。
代数拟合与几何拟合
[编辑]在数据的代数分析中,“拟合”通常意味着试图找到使点的垂直(y轴)方向偏移最小的曲线(例如普通最小二乘法)。然而,对于图形和图像应用,几何拟合可以提供最佳的视觉拟合;它通常试图使到曲线的正交距离最少(例如整体最小二乘法),或以其他方式将点和曲线之间两个轴的方向上的偏移都考虑在内。由于往往需要非线性和/或迭代运算,尽管几何拟合的结果有更美观和几何上更准确的优势,但实际上较少使用。[17][18][19]
将平面曲线拟合至数据点
[编辑]软件
[编辑]很多统计软件包,例如R语言,以及数值分析软件,例如gnuplot、GNU科学库、MLAB、Maple、MATLAB、TK Solver 6.0、Scilab、Mathematica、GNU Octave和SciPy,都可以用命令行进行不同情景下的曲线拟合。
参见
[编辑]参考文献
[编辑]- ^ S.S. Halli, K.V. Rao. 1992. Advanced Techniques of Population Analysis. ISBN 0306439972 Page 165 (cf. ... functions are fulfilled if we have a good to moderate fit for the observed data.)
- ^ The Signal and the Noise: Why So Many Predictions Fail-but Some Don't. By Nate Silver
- ^ Data Preparation for Data Mining: Text. By Dorian Pyle.
- ^ Numerical Methods in Engineering with MATLAB®. By Jaan Kiusalaas. Page 24.
- ^ Numerical Methods in Engineering with Python 3 (页面存档备份,存于互联网档案馆). By Jaan Kiusalaas. Page 21.
- ^ Numerical Methods of Curve Fitting (页面存档备份,存于互联网档案馆). By P. G. Guest, Philip George Guest. Page 349.
- ^ See also: Mollifier
- ^ Fitting Models to Biological Data Using Linear and Nonlinear Regression (页面存档备份,存于互联网档案馆). By Harvey Motulsky, Arthur Christopoulos.
- ^ Regression Analysis (页面存档备份,存于互联网档案馆) By Rudolf J. Freund, William J. Wilson, Ping Sa. Page 269.
- ^ Visual Informatics. Edited by Halimah Badioze Zaman, Peter Robinson, Maria Petrou, Patrick Olivier, Heiko Schröder. Page 689.
- ^ Numerical Methods for Nonlinear Engineering Models (页面存档备份,存于互联网档案馆). By John R. Hauser. Page 227.
- ^ Methods of Experimental Physics: Spectroscopy, Volume 13, Part 1. By Claire Marton. Page 150.
- ^ Encyclopedia of Research Design, Volume 1. Edited by Neil J. Salkind. Page 266.
- ^ Community Analysis and Planning Techniques (页面存档备份,存于互联网档案馆). By Richard E. Klosterman. Page 1.
- ^ An Introduction to Risk and Uncertainty in the Evaluation of Environmental Investments. DIANE Publishing. Pg 69 (页面存档备份,存于互联网档案馆)
- ^ Calculator for sigmoid regression. [2022-06-08]. (原始内容存档于2021-04-18).
- ^ Ahn, Sung-Joon, Geometric Fitting of Parametric Curves and Surfaces (PDF), Journal of Information Processing Systems, December 2008, 4 (4): 153–158, doi:10.3745/JIPS.2008.4.4.153, (原始内容 (PDF)存档于2014-03-13)
- ^ Chernov, N.; Ma, H., Least squares fitting of quadratic curves and surfaces, Yoshida, Sota R. (编), Computer Vision, Nova Science Publishers: 285–302, 2011, ISBN 9781612093994
- ^ Liu, Yang; Wang, Wenping, A Revisit to Least Squares Orthogonal Distance Fitting of Parametric Curves and Surfaces, Chen, F.; Juttler, B. (编), Advances in Geometric Modeling and Processing, Lecture Notes in Computer Science 4975: 384–397, 2008, CiteSeerX 10.1.1.306.6085
, ISBN 978-3-540-79245-1, doi:10.1007/978-3-540-79246-8_29
外部链接
[编辑]- Curve Expert (shareware) fits functions to data (limited to one dependant and one independent variable.)
- Zunzun.com Online curve and surface fitting
- TableCurve2D and TableCurve3D by Systat (页面存档备份,存于互联网档案馆) automates curve fitting
- another choice (页面存档备份,存于互联网档案馆)
- online curve-fitting textbook (页面存档备份,存于互联网档案馆)
- Interactive curve fitting using Least Squares with Weights on savetman.com