0
Rのgstat
パッケージでkrige
関数を使用して、いくつかの空間的な海洋深度データを補間しようとしています。約1000ポイント以上を探しています。関数は、無理やりに時間をかけて終了します(つまり、完了するまでに数時間から数日かかる)。これは正常ですか、何か間違っていますか?私の最終的な目標は非常に大きなデータセット(> 30,000データポイント)の時空間クリギングを行うことであり、これらの実行時間では実現できないと心配しているため、特に心配しています。gstatでkrigingすると遅い速度が遅い
私はgstat-1.1-3とR-3.3.2を実行しています。以下は、私が実行しているコードです:
library(sp); library(raster); library(gstat)
v.utm # SpatialPointsDataFrame with >30,000 points
# Remove points with identical positons
zd = zerodist(v.utm)
nzd = v.utm[-zd[,1],] # Layer with no identical positions
# Make a raster layer covering point layer
resolution=1e4
e = extent(as.matrix([email protected]))+resolution
r = raster(e,resolution=resolution)
proj4string(r) = proj4string(v.utm)
# r is a 181x157 raster
# Fit variogram
fv = fit.variogram(variogram(AVGDEPTH~1, nzd),model=vgm(6000,"Exp",1,5e5,1))
# Krige on random sample of 500 points - works fine
size=500
ss=nzd[sample.int(nrow(nzd),size),]
depth.krig = krige(AVGDEPTH~1,ss,as(r,"SpatialPixelsDataFrame"),
model=depth.fit)
# Krige on random sample of 5000 points - never seems to end
size=5000
ss=nzd[sample.int(nrow(nzd),size),]
depth.krig = krige(AVGDEPTH~1,ss,as(r,"SpatialPixelsDataFrame"),
model=depth.fit)
役に立つお返事ありがとうございます。私はnmaxを合理的な量に設定しました。 variogramSTのスピードアップに似たものがあるのだろうか?私はtwindowとcutoffの引数を設定しようとしましたが、バリオグラムの計算はまだ非常に遅いです。私が使用している正確なコードは次のとおりです。 vst = variogramST(BOTTEMP〜AVGDEPTH + lat、 データ= v、cutoff = 7e5、 twindow = 5 * 365.25、tlags =(0:15)* 365.25、tunit = "days ") – user3004015
バリオグラム計算はO(n^2)演算です。 –
私の質問は、 'cutoff'と' twindow'の引数は、nmaxとmaxdistの引数が 'krige'の場合と同じ意味で計算の数を減らしているのでしょうか?また、私が投稿したコードでtwindow引数を正しく使用しているとは思わない。あなたはtwindowの単位が時間単位ではなく、観測の数であることを確認できますか?ありがとう! – user3004015