Python は逆距離重み補間 (IDW) を実装します

原文: https://mp.weixin.qq.com/s/2y13vGtqj55Fae-72YXY6g

1 逆距離重み補間とは何ですか?

逆距離重み付け: 未知の点に最も近い点には、より大きな重みが割り当てられ、重みは距離の関数として減少します。

補間: 次の図に示すように、既知の点データを使用して未知の点データを計算します。

赤は既知の点、青は未知の点であり、線形補間によって取得できます。

近い点の影響は遠い点よりも大きく、紫色の未知点は、固定数の最近傍点を設定することで計算できます。

また、探索半径を設定することで空間補間を行うことができます。

内挿点は、既知のセル値からの距離に基づいて推定されます既知の値に近いポイントは、遠いポイントよりも大きな影響を受けます。べき乗が 1 の場合、それは滑らかな補間された表面になります。

パワーが 2 の場合、ピークはより局所化し、1 ほど平均的ではなくなります。

3 つの最も近い近傍が選択されており、近傍と紫色の点の間の距離は次のようになっていると仮定します。

逆距離重みの公式によると、次のようになります

べき乗が 1 の場合、紫色の点の値は次のようになります。

((12/350) + (10/750) + (10/850)) / ((1/350) + (1/750) + (1/850)) = 11.1

累乗が 2 の場合、紫色の点の値は次のようになります。

((12/350^2) + (10/750^2) + (10/850^2)) / ((1/350^2) + (1/750^2) + (1/850^2) ) = 11.4

この式から、重みは (データ点と未知点の間の) 距離の逆数の p 乗に比例することがわかります。距離が伸びると、体重は急激に減少します。重みがどのくらい早く減少するかは、p 値によって異なります。

  • p=0の場合、重みは距離とともに減少しないことを意味し、各重みの値は同じであるため、未知点の値は探索近傍内のすべてのデータ値の平均になります。
  • p 値が増加するにつれて、他のデータ ポイントの重みは急速に減少します。
  • p 値が非常に大きい場合、最も近いデータ ポイントのみが未知のポイントに影響を与えます。

最適な電力値は、二乗平均平方根予測誤差 (RMSPE) を最小限に抑えることで決定できます。RMSPE は、相互検証中に計算される統計です。二乗平均平方根予測誤差を最小化する電力が最適電力になります。

2 Pythonの実装

1) scipy補間を使用する

元の画像とサンプル:

コードリファレンス: https://github.com/mengjizhiyou/inverse_ distance_weighting

2) pyidw補間を使用する

https://github.com/yahyatamim/pyidw

from pyidw import idw

idw.regression_idw_interpolation(
    input_point_shapefile="Bangladesh_Temperature.shp",
    input_raster_file="Bangladesh_Elevation.tif",
    extent_shapefile="Bangladesh_Border.shp",
    column_name="Min_Temp",
    power=2,
    polynomial_degree=1,
    search_radious=5,
    output_resolution=250,
)

参考:

https://gisgeography.com/inverse- distance-weighting-idw-interpolation/

おすすめ

転載: blog.csdn.net/mengjizhiyou/article/details/127657811