曲線擬合
曲線擬合(英語:curve fitting),簡稱擬合,俗稱拉曲線,是一種構建一個函數曲線,使之最佳地吻合現有數據點的過程[1],該過程可能附加若干條件限制。[2][3]通俗地說,科學和工程問題通過諸如採樣、實驗等方法獲得了若干離散的數據點。根據這些數據,我們往往希望得到一個連續的函數(也就是曲線)或者更加密集的離散方程與已知數據相吻合,該過程就叫做「擬合」,而得到的曲線方程就稱為「擬合函數」。曲線擬合又譯為:曲線配適、曲線貼合、曲線適插法,均有助理解其選擇曲線方程(解析函數)來「模擬吻合」觀測數據的過程。
曲線擬合中可以使用插值[4][5](需要精確吻合某數據時)或平滑[6][7](構造一個平滑的函數曲線,近似符合數據點)。迴歸分析是與擬合密切相關的一個話題[8][9],它更關注的是統計推斷,例如一條擬合到有隨機誤差的一組觀測數據的曲線有多大的不確定性。擬合曲線可以用作數據視覺化的一種輔助手段,[10][11]以表示數據缺失的函數區間的取值,[12]也可概括兩個或多個變量之間的關係。[13]外推(extrapolation)指的是使用曲線來擬合觀察數據取值範圍以外的取值,[14]往往因採取的構建函數的方式不同而有較大的不確定性[15]
將函數擬合至數據點
[編輯]最常見的是擬合成函數 y=f(x) 的形式。
將直線或多項式曲線擬合至數據點
[編輯]一次多項式方程在笛卡爾平面上是一條直線,而這條直線的斜率是a。因為任何兩點可以決定一條直線,因此總能找到次數不多於1的多項式來串起任何兩個x值相異的點。
如果把多次式的次數增加到2:
那麼只要給定x值各異的3點,總會有次數不多於2的多項式可以把它們串起。
如果把多次式的次數再增加到3:
那麼只要給定x值各異的4點,總會有次數不多於3的多項式可以把它們串起。
更準確而言,這條多項式能夠符合任何4個限制。限制可以是一點(x, y)、角度或曲率(即密切圓半徑的倒數1/R)。角度和曲率的限制通常用在曲線的終端,此時稱為終端條件 。兩條不同多項式擬合曲線的轉換處通常會用到相同的終端條件,以確保樣條(spline)平滑交接。也可以增加如曲率變化率等高階約束。例如,在高速公路立體交叉點苜蓿葉型的設計中,可以理解為汽車沿着苜蓿葉立交運動時作用在汽車上的力的變化率(加加速度),並依此設定合理的限速。
一次多項式也可以擬合一個單點和一個角度的限制;三次多項式也可以擬合兩點、一個角度約束以及一個曲率約束。許多其它類型的約束組合也同樣可以用低階或者高階多項式來擬合。
在有超過n+1個約束(n是多項式的階次)的情況下,多項式擬合可能仍然能滿足所有約束。滿足所有約束的精確擬合不一定能夠得到(但是有可能得到,例如一次多項式擬合中的三點共線)。通常,我們需要使用一些方法來評價擬合的好壞。最小平方法就是用來評價偏離的一種常用的方法。
雖然提高多項式的次數可能可以獲得精確擬合,但有時我們仍會採用近似擬合,其原因有下:
- 存在精確的擬合併也不意味着能很容易地得到這個擬合。根據使用的算法不同,可能遇到發散的情形,要麼無法得到精確擬合,要麼需要太長的計算時間才能獲得精確擬合。不管哪種情況,最終都會以得到近似擬合而結束。
- 通常人們會希望得到一個近似的擬合以抹平數據點的隨機波動,而不是為了「精確」擬合數據而扭曲擬合曲線。
- 龍格現象:高次多項式往往有高度波動的特性。如果通過兩點A和B作一條曲線,可以期望值該曲線也大概會通過AB中點附近的某處。但是對於高次多項式,情況就不是如此了,高次多項式曲線往往可能有絕對值很大的幅值。對於低次多項式,曲線波動不大,因此能通過中點附近(對於一次多項式,能保證肯定通過中點)。
將其他函數擬合至數據點
[編輯]其他類型的曲線在特定條件下也可使用,諸如三角函數(如正弦或餘弦函數)。
在光譜學中,數據可以使用高斯、柯西、福格特等相關函數來擬合。
在生物學、生態學、人口學、傳染病學等學科中,生物個體數增長、傳染病擴散等數據可以用邏輯斯諦函數(一種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