2009-02-26 274 views
11

在彼得·阿爾弗雷德的article關於他提到的多變量分散數據插值,從各種計劃,只有少數真的很受實踐者的歡迎。他以Shepard的方法和Hardy Multiquadrics命名。但那篇文章到現在已經有20年了,真正有趣的是現在廣泛使用的方法。多變量插值法最適合實際應用?

如果您有使用某些空間插值方案的經驗,請告訴它。

UPD:爲了使這個問題更具競爭力,我重申了它。這是「你曾經使用過什麼多元插值方法?」

+0

如果網上有文章,我們可以鏈接到文章嗎? – 2009-02-26 19:31:25

+0

當然。我用citeseer鏈接更新了問題主體。 – akalenuk 2009-02-26 21:02:57

回答

6

過去我使用過Kriging,分散的數據與每個樣本的準確度估計值一起出現。看起來像一種值得在地質統計學世界以外更廣泛使用的強大技術。

2

我見過的唯一應用程序是littleCMS代碼(一個開源的顏色管理引擎)。

我第一次檢查它,它只是在一個軸上進行線性插值,然後在該結果和另一個軸上的點之間進行插值。我剛剛重新下載它,似乎更加複雜。無法與您提及的文章進行比較,但可能要檢查它,它位於cmslut.c文件中。

+0

您正在查看的代碼正在執行四面體插值。 Mathworks有一篇關於爲什麼這是色彩空間轉換的很好技術的文章 [http://blogs.mathworks.com/steve/2006/11/24/tetrahedral-interpolation-for-colorspace-conversion/] 。對於其他應用您的里程可能會有所不同 – 2009-03-03 17:22:04

1

我使用三維散佈數據的平滑處理表面操作LINK。這涉及到許多點,我想要一個非常光滑的表面,因此該過程首先找到了數據的最佳擬合二階曲面,然後找到了將點擬合到曲面上的鬆弛階段。這不是對原始數據的插值曲面,但是,它是一種優化方式來降低插值的順序。

該方法涉及在非常適合二階近似的分段區域上進行操作。

該方法的另一個有趣的特點是,這些點是三角形的頂點,並且在平滑期間保持連通性。

15

(這將讓久,除非我只是虎頭蛇尾。)

首先,關於非分散的數據幾點意見。 (請參閱參考littleCMS的答案)

有兩種常見的顏色插值類型。幾年前,三線性插值(張量積線性插值)是顏色表插值的常用方法。三線性插值的確可以實現爲一維插值的順序集合,首先在一個軸上,然後沿着第二個軸,等等。

很多年前,我們都意識到三線性插值在應用彩色成像時引入了僞像到某些類型的轉換。這些問題在中立者看來。一種解決方案是通過將立方體解剖成6個四面體,在3天內移動到單純插值。在n維中,單位立方體將被解剖爲階乘(n)單形。還有其他解剖立方體,但這種特殊的風格確保主對角線始終是所有單形的共享邊緣。當應用於某些顏色查找表時,這反過來會恢復中立者的良好行爲。

現在讓我談談真正的分散數據插值的問題。

其他人提到了各種方案。克里格,多元化,基於距離的方法是少數。 (當我用這些方案在過去做了一些工作時,我實際上更喜歡反向多方法方法。)所有這些實際上只是徑向基函數方法的變體,這是一種常見的方案。 RBF方法有其優缺點。它們通常會生成平滑的插值,這當然取決於選擇的具體基礎函數,以及是否選擇限制支持。 RBF方法還允許您推斷,至少在徑向基元素的支持將會擴展的範圍內。如果允許基本元素的範圍是無限的,那麼不會對外推施加明確的限制。 (外推一般來說是一件壞事。)RBF方法的一個問題是它們需要解決大系統的線性方程組,這些方程系統通常是稠密矩陣。這意味着問題的大小,就可以處理的數據點數而言,這往往受線性代數的限制。相反,如果您通過截斷基本元素來限制支持,那麼矩陣可能變得稀疏。如果對解決方案使用稀疏矩陣包,這將改進線性代數。同時,支撐距離成爲您必須控制的非線性參數。同樣,像multiquadrics和inverse multiquadric方法的方法可能有一個輔助非線性參數來控制基礎元素的形狀。克里格有類似的問題,我會把所有這些方法結合在一起。

對於這些問題,我所歸類爲RBF變體的所有這些方法通常都會受到限制,因爲它們可以輕鬆應對。根據你處理事物的方式和可用的內存量,這個限制通常可能在幾千個點的數量級上。

RBF方法的一般類別的另一個問題是我稱之爲插值的問題。這是我多年前創建的一個新詞,用來描述數據中一個相對較大的洞的插值。實際上,即使在數據中插入較小的孔時也經常會遇到問題。由於這些方法在某種程度上平滑,可能會將不想要的極值(大峯或谷)引入插值曲面。這是甚至一維插值的常見問題,通常被看作是具有三次樣條或多項式插值的振鈴僞影,並且當然可以看到傅里葉級數插值。更高維度上的問題甚至認識到它確實發生了,因爲三維以上的繪圖表面往往是困難的。

如果您的積分超過該限制,或者這些響鈴製品不可接受,那麼其他方法往往是更好的選擇。如果您願意使用線性插值函數,那麼較高維度中最簡單的解決方案就是從數據鑲嵌開始。因此,在三個維度中,將數據(通常是delaunay鑲嵌)細分爲四面體。這樣做效率很高,並且有很多工具可以用於此目的。這是插入任何單個點的簡單問題。只需確定點的單純形,將重心座標計算爲單純形中的插值權重,並在找到的單形的每個頂點處形成函數值的相應線性組合。這一切都非常快速和高效。

這些基於曲面細分的方法的缺點是它們通常將您限制爲數據點的凸包,而且如果數據碰巧存在於非凸域中,那麼插值可能會做出奇怪的事情在您的域的某些區域。我上面提到的方案的另一個問題是插值將只是分段線性的,但是一旦進入更高維度,事情會變得很快。其他方法可以根據曲面細分進行平滑插值,但是它們會花費更多的精力,因此不太常見。

這裏的基本權衡應該是顯而易見的。如果你需要一個平滑的插值並且只有幾個點,那麼通常會選擇RBF方法。它們很簡單,易於使用等。選擇的實際方法往往只是一個方便,甚至習慣的問題。我以前使用過一種工具,很高興,我可能會再次滿意。由於問題是哪種方法「最適合實際使用」,我會指出,如果在上下文之外應用,best是一個非常主觀的詞。在插值問題中你的目標是什麼?你擁有什麼技能?你知道如何使用哪些工具?你的工作環境是什麼?所有這些因素都會影響您對最佳方法的選擇。如果你有很多數據點,並且速度是本質的,但是最終的平滑不是那麼重要,那麼你通常會尋找一個簡單的插值。當然,如果你有足夠的分數,那麼野獸的分段線性本質就不重要了。這裏的分段線性插值在某些情況下具有很大的優點,即它不會在數據中不存在的曲面中產生極值。對於一些問題,例如顏色表徵,這是非常重要的。

另一個問題是噪音。雖然噪聲的存在通常是需要某種平滑處理的信號,但並非所有這些表面都應用平滑處理。任何平滑算子有時也會平滑數據的重要特徵。發生這種情況是因爲我們可以將平滑算子看作低通濾波器。高頻率行爲通常是噪音,但它也可能只是我表面上尖銳的腳趾或肩膀,我不能失去。如果這是一個問題,那麼即使在有時會出現明顯的噪音的情況下,您也可能願意使用插值。在這種情況下,我會建議最簡單的最低階插值是最好的。光滑的,更全局的插值函數也傾向於放大數據中的任何噪聲,所以如果在噪聲存在的情況下尋找最低方差插值,它通常是線性插值。

當然,有很多品種的薄板樣條,插值與否。一旦你超越了一個維度,你的選擇也會擴大,至少如果你願意做這項工作的話。

我會在它變成書之前結束。