2017-08-19 7 views
0

私はspPredictをベイクシアクリギングのspBayesパッケージから、krigeからベイシックでないクリギングのgstatパッケージからクリギングしました。私は共変量(一定の平均期間のみ)を使用せず、クリギングに1283ポイントを使用しました。 1283ポイントのうち、1012は新しい場所、271はデータがある場所です。なぜクリギングは観測値と同じ値を示しますか?

クリギングを終えた後、予測パフォーマンスをチェックするために、私は271の場所のクリギッド値を調べました。そして、私は271の場所のデータとまったく同じであることを認識しました。私は同じコードで(しかし共変量で)クリグをしてきましたが、この種の問題は全くありませんでした。何が間違っているのか分かりません... spPredictkrigeの簡単なコードはここにあります。私も校正プロットを添付します。私は何かアドバイスをいただければ幸いです。

pred.covar=cbind(rep(1,1283)) 
spPredict(fitted, pred.coords=grid.fin_km, pred.covars=pred.covar, 
        start = burn.in, thin = 10, verbose=FALSE) 
krige(formula=n_temp~1, locations=~x1+x2, data=merged.f, newdata=grid.fin_km, 
     model=var.fit.w1) 

enter image description here

答えて

0

これは、クリギングのよく知られた特性です。クリギングの基礎となるモデルは、ある値がそれ自身と完全に相関していると仮定しているという事実から来ている。既知の値を予測するよりも常に予測誤差がゼロの値になります。また、同じ観測場所での重複観測に起因するエラーの原因ともなります。

これが起こらないようにするには、スムージングまたはフィルタリングが必要です。 S(x)= Z(x)+ e(x)というプロセスを仮定します。ここで、観測値はZであり、Sを予測したいとします。クリギングはそうではありません。 gstatパッケージでは、Nugナゲットエフェクトの代わりにErrバリオグラムコンポーネントを指定すると、フィルタリングを取得できます。

関連する問題