0

我使用spPredictfrom spBayespackage 进行了贝叶斯克里金法和krigefrom gstatpackage 用于非贝叶斯克里金法。我没有使用任何协变量(只有常数均值),而是使用 1283 点进行克里金法。在 1283 个点中,1012 个是新位置,271 个是我有数据的位置。

完成克里金法后,为了检查预测性能,我查看了 271 个位置的克里金法值。然后我意识到它们与 271 个位置的数据完全相同。我已经使用相同的代码(但使用协变​​量)完成了克里金法,并且根本没有遇到过这种问题。我不知道出了什么问题...这是我的简单代码spPredictand krige。我还附上了校准图。我将不胜感激任何建议。

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)

在此处输入图像描述

4

1 回答 1

0

这是克里金法的一个众所周知的性质;它来自这样一个事实,即克里金法的基础模型假设一个值与其自身完全相关。预测一个已知值总是会导致该值,且预测误差为零。这也是在同一观测位置重复观测导致误差的原因。

如果您不希望这种情况发生,您想要的是平滑或过滤;您假设一个过程 S(x) = Z(x) + e(x),其中观测值是 Z,并且您想要预测 S;这不是克里金所做的。在包 gstat 中,您可以在指定 Err 变异函数组件而不是 Nug nugget 效果时进行过滤。

于 2017-09-10T16:34:00.427 回答