標籤:

擬合與插值的區別?

擬合又叫回歸,是最小二乘意義上的,有線性擬合,非線性擬合還有分段擬合(樣條擬合),而插值呢?是用多項式去逼近,他們有什麼區別?區別是不是擬合曲線有可能不通過離散點,而插值一定通過


先上圖

左邊插值,右邊擬合

仔細看有啥不一樣

插值曲線要過數據點,擬合曲線整體效果更好。

插值,對準了才可以插嗎,那就一定得過數據點。擬合,就是要得到最接近的結果,是要看總體效果

既然理想(思路)不一樣,那麼三觀和行為(特點和策略)也就不一樣啦。

插值是指已知某函數的在若干離散點上的函數值或者導數信息,通過求解該函數中待定形式的插值函數以及待定係數,使得該函數在給定離散點上滿足約束。

所謂擬合是指已知某函數的若干離散函數值{f1,f2,…,fn},通過調整該函數中若干待定係數f(λ1, λ2,…,λn), 使得該函數與已知點集的差別(最小二乘意義)最小。如果待定函數是線性,就叫線性擬合或者線性回歸(主要在統計中),否則叫作非線性擬合或者非線性回歸。表達式也可以是分段函數,這種情況下叫作樣條擬合。
從幾何意義上將,擬合是給定了空間中的一些點,找到一個已知形式未知參數的連續曲面來最大限度地逼近這些點;而插值是找到一個( 或幾個分片光滑的)連續曲面來穿過這些點。

插值法

以下引自某科

Lagrange插值
Lagrange插值是n次多項式插值,其成功地用構造插值基函數的 方法解決了求n次多項式插值函數問題。
基本思想 將待求的n次多項式插值函數pn(x)改寫成另一種表示方式,再利用插值條件⑴確定其中的待定函數,從而求出插值多項式。
Newton插值
Newton插值也是n次多項式插值,它提出另一種構造插值多項式的方法,與Lagrange插值相比,具有承襲性和易於變動節點的特點。
基本思想 將待求的n次插值多項式Pn(x)改寫為具有承襲性的形式,然後利用插值條件⑴確定Pn(x)的待定係數,以求出所要的插值函數。
Hermite插值
Hermite插值是利用未知函數f(x)在插值節點上的函數值及導數值來構造插值多項式的,其提法為:給定n+1個互異的節點x0,x1,……,xn上的函數值和導數值求一個2n+1次多項式H2n+1(x)滿足插值條件H2n+1(xk)=ykH"2n+1(xk)=y"k k=0,1,2,……,n ⒀如上求出的H2n+1(x)稱為2n+1次Hermite插值函數,它與被插函數一般有更好的密合度.
基本思想利用Lagrange插值函數的構造方法,先設定函數形式,再利用插值條件⒀求出插值函數.

貌似插值節點取的越多,差值曲線或曲面越接近原始曲線/曲面,因為採樣多嘛。但事實總是不像廣大人民群眾想的那樣,隨著插值節點的增多,多項式次數也在增高,插值曲線在一些區域出現跳躍,並且越來越偏離原始曲線。這個現象被 Tolmé Runge 發現並解釋,然後就以他的名字命名這種現象。It was discovered by Carl David Tolmé Runge (1901) when exploring the behavior of errors when using polynomial interpolation to approximate certain functions.

為了解決這個問題,人們發明了分段插值法。分段插值一般不會使用四次以上的多項式,而二次多項式會出現尖點,也是有問題的。所以就剩下線性和三次插值,最後使用最多的還是線性分段插值,這個好處是顯而易見的。

擬合

最小二乘

如何找到最接近原始曲線或者數據點的擬合曲線,這不是一件容易操作的事。要想整體最接近,直接的想法就是擬合曲線的每一點到原始曲線的對應點的最接近,簡單點說就是兩曲線上所有點的函數值之差的絕對值之和最小。看似解決問題,但絕對值在數學上向來是個不好交流的語言障礙患者,那然後又該怎麼辦。數學家說了既然辦不了你絕對值之和,那就辦了你家親戚,就看你平方之和長得像。於是就找了這個長得像的來背黑鍋,大家都表示很和諧。然後給這種操作冠之名曰"最小二乘法"。

官方一點的表述 , 選擇參數c使得擬合模型與實際觀測值在曲線擬合各點的殘差(或離差)ek=yk-f(xk,c)的加權平方和達到最小,此時所求曲線稱作在加權最小二乘意義下對數據的擬合曲線,這種方法叫做最小二乘法。

未完,後面再補。。


最小二乘意義下的擬合,是要求擬合函數與原始數據的均方誤差達到極小,是一種整體意義的逼近,對局部性質沒有要求。而所謂「插值」,就是要在原有離散數據之間「插入」一些值,這就要求插值函數必須通過所有的離散點,插值函數在離散點之外的那些點都相當於「插入」的值。插值有全局插值,也有局部插值(比如分段線性插值),插值誤差通常考慮的是逐點誤差或最大模誤差,插值的好壞往往通過某些局部的性質來體現,比如龍格現象或吉布斯振蕩。


擬合以及插值還有逼近是數值分析的三大基礎工具,通俗意義上它們的區別在於:擬合是已知點列,從整體上靠近它們;插值是已知點列並且完全經過點列;逼近是已知曲線,或者點列,通過逼近使得構造的函數無限靠近它們


插值和擬合都是函數逼近或者數值逼近的重要組成部分 他們的共同點都是通過已知一些離散點集M上的約束,求取一個定義 在連續集合S(M包含於S)的未知連續函數,從而達到獲取整體規律的 目的,即通過"窺幾斑"來達到"知全豹"。 簡單的講,所謂擬合是指已知某函數的若干離散函數值{f1,f2,…,fn}, 通 過調整該函數中若干待定係數f(λ1, λ2,…,λ3), 使得該函數與已知 點集的差別(最小二乘意義)最小。如果待定函數是線性,就叫線性擬 合或者線性回歸(主要在統計中),否則叫作非線性擬合或者非線性回歸。 表達式也可以是分段函數,這種情況下叫作樣條擬合。 而插值是指已知某函數的在若干離散點上的函數值或者導數信息,通 過求解該函數中待定形式的插值函數以及待定係數,使得該函數在給 定離散點上滿足約束。插值函數又叫作基函數,如果該基函數定義在 整個定義域上,叫作全域基,否則叫作分域基。如果約束條件中只有 函數值的約束,叫作Lagrange插值,否則叫作Hermite插值。 從幾何意義上將,擬合是給定了空間中的一些點,找到一個已知形 式未知參數的連續曲面來最大限度地逼近這些點;而插值是找到一 個(或幾個分片光滑的)連續曲面來穿過這些點。原文:計算方法中插值與擬合的區別與聯繫


你自己不是說的很清楚了,插值是用簡單函數(多項式、三角函數之類的)進行逼近,並且在某些節點上的值要和被插值函數相同。擬合是很有可能不通過離散點。


假設擬合和插值需要逼近的多項式如下表達式:

用矩陣的形式表達如下:

最左邊的矩陣我們稱之為范德蒙矩陣,其列向量的個數為n+1,矩陣的行數為m+1。

n代表要求的多項式的最高次冪的次數。m就代表了離散點的點的個數(原始數據點的數量)

擬合和插值的區別就在於范德蒙矩陣中m和n的數量關係上:

插值需要的離散點的個數必須是有限制的,m和n必須滿足m=n,換句話說,用n次多項式逼近,插值時我們就只能用n+1個點來求取這樣插值的德蒙矩陣為方陣。根據范德蒙矩陣的特點,我們知道方程組也一定有唯一解。反映在圖像上就是插值必須全部通過多項式曲線。

擬合需要的離散點個數與最高次冪次數沒有限定條件的,實際中且m是越大越好,離散點越多,擬合的效果越好。換句話說,用n次多項式逼近,擬合時我們可以用大於n+1個點來求取。這樣的後果是方程組很難有正常解。擬合的范德蒙矩陣不是方陣,行數一般大於列數,我們知道行數比列數越多,代表著對於矩陣有正常解的條件越苛刻。所以在擬合的時候,矩陣方程一般是無解的。解決辦法就是採用最小二乘法。最小二乘法求得的最小二乘解是一個近似解。反映在圖像上就是離散點並不是全部通過多項式曲線。

在用法上:

根據這個區別,也反映了一個事實,就是在實際工程中擬合比插值更加常用。這是因為構造同樣一個n次多項式,擬合時可以用更多的離散點來提高逼近的效果。同樣一個一次函數,你用兩個有誤差的離散點插值和100個有誤差的離散點擬合,肯定是用100個離散點來擬合後逼近的效果好。工程上我們的數據都是測量得到的數據,比如我們的地理測繪來構造地圖,所有的數據都是實際測量得到的。那麼我們測量的數據量越多,擬合的精度越高。


推薦閱讀:

有什麼比較好的方法可以快速準確的開出七次方嗎?
研究數值分析的真正用途是什麼?從長遠來說,有必要研究數值分析嗎?
使用 epsilon 比較浮點數是否不夠科學?
如何用牛頓迭代法求一個三元函數f(x,y,z)的一個極小值?

TAG:數值分析 |