почему кригинг дает те же значения, что и наблюдаемые?

Я провел кригинг, используя spPredict из пакета spBayes для байесовского кригинга и krige из пакета gstat для небайесовского кригинга. Я не использовал никаких ковариат (только постоянное среднее значение) и использовал 1283 точки для кригинга. Из 1283 точек 1012 новых местоположений и 271 место, где у меня есть данные.

После завершения кригинга, чтобы проверить прогностическую эффективность, я изучил значения кригинга для 271 местоположения. А потом я понял, что они точно такие же, как данные для 271 местоположения. Я проводил кригинг с тем же кодом (но с ковариатами) и вообще не сталкивался с такой проблемой. Я понятия не имею, что происходит... Вот мой простой код для spPredict и 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)

введите здесь описание изображения


person Donna    schedule 19.08.2017    source источник


Ответы (1)


Это хорошо известное свойство кригинга; это происходит из-за того, что модель, лежащая в основе кригинга, предполагает, что значение полностью коррелирует само с собой. Прогнозирование известного значения всегда приводит к этому значению с нулевой ошибкой прогнозирования. Это также является причиной ошибок, возникающих в результате повторных наблюдений в одном и том же месте наблюдения.

Если вы не хотите, чтобы это произошло, вам нужно сглаживание или фильтрация; вы предполагаете процесс S(x) = Z(x) + e(x), где наблюдения относятся к Z, и вы хотите предсказать S; это не то, что делает кригинг. В пакете gstat вы можете получить фильтрацию, указав компонент вариограммы Err вместо эффекта самородка Nug.

person Edzer Pebesma    schedule 10.09.2017