4

補間を作成するためにgstatライブラリを使用するコードをRで記述しようとしています。私はすでにgstatマニュアルを読み、インターネット上のいくつかの例に基づいて、このコードを書くことができました(これはほんの一部です):

 g <- gstat(id="tec", formula=TEC ~ 1, data=data)  ##I create an object
 v <- variogram(g) # plot the empirical variogram
 plot(v)
 mod<-vgm(sill=var(data$TEC),model="Sph",range=200,nugget=200) #create the variogram model

v.fit <- fit.variogram(v, model=mod,fit.method=1)  #fit the empirical variogram 
Theor_variogram=plot(variogram(g),v.fit,main="WLS Model") #plot the theoretical variogram
plot(Theor_variogram)
 ## Kriging interpolation
 p <- predict.gstat(g, model=v.fit, newdata=predGrid)

私の問題は、通常のクリギング補間で結果を取得する代わりに、最後のコマンド(predict)を実行すると、逆距離加重(IDW)で結果を取得することです。gstatのマニュアルで、「バリオグラムが指定されていない場合、逆距離加重補間がデフォルトのアクションです。バリオグラムが指定されている場合、デフォルトの予測方法は通常のクリギングです」と読みました。

しかし、私のコードでわかるように、経験的バリオグラムと理論的バリオグラムの両方を指定します。なぜ私が通常のクリギングの代わりにIDWを取得し続けるのか知っていますか?私が持っている座標のタイプと関連付けることができますか?たとえば、座標が互いに近い場合、または関心領域が大きすぎる場合はどうなりますか?どんな助けでも本当に役に立ちます。

よろしくお願いしますディミトリス

4

1 に答える 1

6

予測段階ではなく、gstat オブジェクトの作成を含める必要があります。

g <- gstat(id="tec", formula=TEC ~ 1, data=data, model = v.fit)

ただし、 を使用するには標準インターフェースをgstat使用することをお勧めしますkrigegstatこれにより、オブジェクトの構築と予測が 1 つの関数に結合されます。gstat自分でオブジェクトを構築する必要があることはほとんどありません。例えば:

data(meuse)
coordinates(meuse) = ~x+y
data(meuse.grid)
gridded(meuse.grid) = ~x+y
m <- vgm(.59, "Sph", 874, .04) 
# OK:
x <- krige(log(zinc)~1, meuse, meuse.grid, model = m)

パッケージ (私が作成したもの) を使用automapして、バリオグラム モデルをデータに自動的に適合させることもできます。たとえば、meuseデータセットを使用すると、次のようになります。

library(automap)
kr = autoKrige(log(zinc)~1, meuse, meuse.grid)

これにより、サンプル バリオグラムが自動的に作成され、バリオグラム モデルがそのサンプル バリオグラムに適合します。

于 2012-12-17T20:49:48.000 に答える