克里金演算法
❶ 克里金插值演算法
根據項目對數據處理的要求,採用了優化的克里金插值演算法,將等值線地化數據插值轉換為格網數據,以便實現地化數據的三維顯示(王家華等,1999)。其主要實現過程如下:
第一步,計算半變異圖,用非線性最小二乘擬合半變異函數系數;
第二步,數據點進行四叉樹存儲;
第三步,對每一格網點搜索鄰近數據點;
第四步,由待預測網格點和鄰近數據點計算克里金演算法中系數矩陣,及右端常數向量;
第五步,對矩陣進行LU分解,回代求解待預測點的預測值。
克里金插值演算法主要包括半變異函數和鄰近點搜索的計算,實現方法如下。
(1)半變異函數計算
半變異函數是地質統計學中區域化變數理論的基礎。地質統計學主要完成2方面的任務:利用半變異函數生成半變異圖來量化研究對象的空間結構;通過插值方法利用半變異圖中擬合模型和研究對象周圍的實測值來對未知值進行預測。
半變異函數是用來描述區域化變數結構性和隨機性並存這一空間特徵而提出的。在滿足假設的條件下,隨機函數z(x)和z(x+h)為某一物理參數測定值的一一對應的2組函數,h為每對數之間的距離。半變異函數γ(h)可用下式來計算:
γ(h)= 1/2E{[z(x)-z(x +h)]2}
4種基本的半變異函數模式(除了這4種基本模式以外,還有很多模式),包括:
1)線形模式(Linear Model)
浙江省農業地質環境GIS設計與實現
2)球面模式(Spherical Model)
浙江省農業地質環境GIS設計與實現
3)指數模式(Exponential Model)
浙江省農業地質環境GIS設計與實現
4)高斯模式(Gaussian Model)
浙江省農業地質環境GIS設計與實現
半變異函數γ(h)會隨距離h增大而增大,並逐漸逼近一定值(C0 +C),稱為基台值(Sill);而逼近基台值所對應的距離,稱為影響范圍(Range),表示空間中兩位置間的距離小於影響范圍時,是空間相關性的。在線性和球面模式中,影響范圍等於a;在指數和高斯模式中,影響范圍則分別等於3a和
(2)鄰近點搜索演算法
由於矩陣LU分解求解方程的演算法會隨著矩陣維數的增加計算量增大,所以針對大量采樣數據點時不能採用全部數據進行估計,必須採用插值點的臨近點數據進行計算,即採用局部數據進行克里金演算法進行計算。搜索鄰近點可採用四叉樹結構存儲總數據,以提高搜索鄰近點的速度。
對於選取鄰近點的數目要有所限制,因該值的大小選擇會影響插值的計算結果。若太大,則內插結果過於平滑;太小,則無法反映地表的變化;距離預測點較遠的實測點可能與待估樣點已經不存在自相關關系,也不能參與插值計算。採取以插值點為圓心,以R為半徑的圓來確定取樣的范圍和參加計算的實測樣點數目(如果存在各向異性,則可考慮劃定一橢圓作為研究區域)。為了避免方向上的偏差,將圓平均地分為4個扇區,每個扇區內實測點數目在2~5之間,這樣總共參與每個待估點預測的實測點數目平均達到8個。
區域內臨近點的選擇,存在著兩種策略。
1)以鄰近點的個數為基準。通常情況下,鄰近點的個數以8~12個為宜,並且個數不能少於2個。此時計算出來的圖像較為光滑。
2)以鄰近點的半徑尺度為基準。通常情況下,選擇5~10 倍柵格間距的距離為宜。此時必須定義選擇鄰近點的最小和最大個數,當在一定半徑內查找的鄰近點個數小於最小個數時,應擴大搜索半徑,使之達到最小查找個數;反之在一定半徑內查找的鄰近點個數大於最大個數時,應縮小搜索半徑,使之小於最大查找個數。通常情況下最大最小個數分別可以定為20和4。
克里金演算法的優點在於它基於一些可被驗證的統計假設。根據這些假設,克里金演算法產生的柵格節點估計量是最佳的,所有的估計量都依賴於可獲得的觀測值,並且平均誤差最小。克里金演算法提供了方差誤差分析的表達式,可以表明每一個柵格節點的估計精度。
❷ 網格演算法是什麼
網格化是解釋流程中構造成圖的比較重要的一步,演算法種類也比較多。在SMT中就列出了許多種演算法供選擇,當然每種演算法有自己的特點和適應性,所以在真正網格化操作時為了提高預測的精度需要選擇合適的演算法。如下為SMT中提供的幾種演算法簡單對比。
Collocated Cokriging
協克里金演算法
層位、斷層、網格、XYZ數據、層段屬性、鑽井分層(較好用於井數據與地震屬性匹配)
Cubic Spline
樣條插值
三維的層位、網格、斷層、XYZ數據
Flex Gridding
彈性網格化
層位、斷層、網格、XYZ數據、層段屬性、鑽井分層
Gradient Projection
梯度投影
二維、三維的層位、網格、斷層、等值線、XYZ數據(較好用於構造數據)
Inverse Distance to a Power
反距離加權
二維、三維的層位、網格、斷層、等值線、XYZ數據、層段屬性、鑽井分層(較好用於速度成圖)
Natural Neighbor
自然鄰點插值
XYZ數據、層段屬性、鑽井分層(較好用於非地震類數據)
Ordinary Kriging
普通克里金插值
XYZ數據、層段屬性、鑽井分層(較好用於滲透率成圖)
Simple Kriging
簡單克里金插值
XYZ數據、層段屬性、鑽井分層(較好用於滲透率成圖)
Universal Kriging
廣義克里金
XYZ數據、層段屬性、鑽井分層(較好用於滲透率圖件和有整體變化趨勢的數據)
這里對兩種演算法做個介紹:
1、SMT8.2版本中新出現的Flex Gridding 彈性網格化演算法
該演算法利用差分方程系統原理,產生的網格節點處數值需要滿足以下兩種原則:
. 內插面與實際數據產生的趨勢面一致或者很接近;
. 該面的RMS曲率值盡可能小。
如果在一個節點處應用每一種方程都計算差分的話,而且將鄰近點都考慮在內的話,其結果會形成一個組合,但越遠的點影響越弱、越不直接。因此,在計算時都假設鄰近節點為常數,每個方程就會得到一個網格數值。如此重復應用於其它節點處。這樣可以解決單個節點的問題,我們將方程稱為「調和器」。該方法產生的曲率面會趨於最小,而且逼近實際數據。
由於每個節點在進行調和濾波計算時都需要一個局部的調和器,網格節點多時就會有許多次迭代計算過程。迭代次數差不多為N的e次方(N為數據列/行數)。因此初始網格一般時非常小的。
2、Collocated Cokriging 協克里金插值
協克里金插值與克里金演算法原理基本一樣,都是通過差異比較來計算網格數值,同時產生方差圖,但是該方法假設事件都是多屬性的,可以利用第二種協數據(如層位)輔助第一種主數據進行稀疏數據點(如井控制點)的內插。
協克里金插值利用第二種協數據指導主數據的網格化,可以提高克里金插值的准確性。該演算法中斷層可以參與運算。在使用時用稀疏數據(如井數據)作為主數據,另外一種密集分布數據作為協數據。
在具體計算中網格點處主數據有值的地方都用主數據的值,如果網格點處沒有值時則用協數據作為輔助進行計算。並且會同時產生一個方差模型。
最終的協方差網格結果為主數據進行克里金插值,同時受協數據影響。
因此,如果主數據為密集分布的數據,計算產生的網格也會接近主數據。例如,數據中包括測井解釋的孔隙度數據(稀疏分布),從地震屬性中預測的偽孔隙度數據(密集分布)。數據單位是一致的,但來源可能不一樣。
對於這種情況下協克里金插值就是一種很好的網格演算法,還可以建立起振幅與孔隙度之間的關系。
在應用時有以下注意事項:
1)在主數據為稀疏分布,協數據偽密集分布時應用效果最好。
2)如果主數據與協數據之間有一定聯系的話效果最好。
3)數據類型最好一致。
