克利金法類別雛型開發完成

話說,先前開發氣象局的系統時,已經可將格網檔轉等值線,而先前的防洪資訊系統中,是需要透過 Automation 來呼叫 Surfer 8 來畫,且資訊不公開,無法自行做降雨面積與流域邊界的交集,進一步直接得到計算幾何解,得到面積值。
 
所以這陣子自己翻了一堆國內外克利金法的論文,看到快掛掉,甚至覺得有衝突,再自己寫個類別來跑,終於今天算是大功告成,幾乎是一樣的東西~
 
比較對象是 Golden Software Surfer 8.03 在預設參數都不改下,選取 Power 模式下,畫的等值線:
 
我計算的結果是用 Surfer 支援的 ASCII grd 檔格式輸入,計算的結果幾乎與 Surfer 完全一致,就圖面上來說是完全比不出來:
 
直接列舉一些目標格點計算值來比對:
Surfer 絕對誤差 相對誤差
1214.563 1214.563 -5.0585E-05 -4.1649E-08
1211.780 1211.780 1.3958E-05 1.1519E-08
1206.273 1206.273 5.7077E-06 4.7316E-09
1196.213 1196.213 1.8234E-05 1.5243E-08
1180.039 1180.039 2.6429E-05 2.2397E-08
1159.483 1159.483 3.4603E-05 2.9843E-08
1136.774 1136.774 -5.3867E-05 -4.7386E-08
1113.149 1113.149 2.8364E-05 2.5481E-08
1089.681 1089.681 -9.5353E-06 -8.7505E-09
1068.011 1068.011 1.9058E-05 1.7845E-08
 
跟 Surfer 計算的相對誤差小於千萬分之一。
1. 不採用資料分組
我不採用大部分的論文資料中,要先分組才套配函數,而是直接利用每個距離的高差來套配,因為分組這部分本身很不合理,在短距離的組別中資料數多,在長距離的組別中資料少,甚至部分組別可能會沒資料,而之後套配函數做率定時,又沒有對應的權值,這樣就會造成長距離的資料少,卻影響大,且亦影響目標函數。所以我直接拿所有資料來套配函數。
 
2. 目標函數
採可分離方式處理,使用者可自行選擇目標函數或自訂目標函數,預設採用最小平方法,所以長距離且資料少的,會被最小平方法影響很大,所以我覺得分組很不合理。
 
3. 非線性規劃
套配函數率定時,最麻煩的有兩個部分,一個是非線性規劃的方法選用,一個是起始解。非線性規劃我採用 Nelder and Mead Algorithm (摘自 HEC-HMS Technical p.108) ,起始解則先用簡化函數迴歸結果來進行,非線性規畫不可避免跌入區域最佳解,所以起始解用回歸去定,比較不會偏離太遠,且疊代次數也比較少。
 
沒想到最後結果跟 Surfer 幾乎沒差,可見 Surfer 應該是跟我一樣,沒有分組,且目標函數是最小平方。
 
另外測試了未來可擴充的克利金模式,目前只測了一般克利金 r(h) = c + a * h ^ b ,率定係數 a, b, c ,測試結果如下:
 
差異比較大的是左上、右下兩角落,由於該處缺乏觀測點,所以造成外插的差異。
 
最後拿先前開發的格網等值線類別畫,跟 Surfer 比較:
 
紅線的是我自己的類別畫的,黑色的是 Surfer 畫的,兩張圖相疊,大部分重合,而我的比較平緩,Surfer 比較銳利,有可能是我使用的曲率是 0.2 ,估計 Surfer 的曲率可能是 0.1 。
 
我原先以為接近一般市面套裝軟體就差不多了,沒想到居然誤差那麼低,遠高於我的預計,真是太讚了~
廣告
Categories: 決策支援系統 | 1 則迴響

文章分頁導航

One thought on “克利金法類別雛型開發完成

  1. 引用通告: 將克利金用在等照度線上 | 鄭子璉

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

在WordPress.com寫網誌.

%d 位部落客按了讚: