Найти параметры вариограммы с помощью Кригинга в R - PullRequest
0 голосов
/ 25 мая 2019

Я работаю над пространственно-временным моделированием с помощью Kriging, и у меня возникают трудности с вычислением силла, Nugget и Range для ковариационных моделей; Разделяемые, ProductSum, Metric, Sum Metric и Simple Sum Metric для использования в прогнозировании Kriging.

Я прошел много уроков, но они не объясняют, как именно я могу вычислить значения силла, самородка и диапазона.

Вот моя пространственно-временная карта вариограммы и та же карта, представленная в виде каркаса

enter image description here

enter image description here

Я попробовал код, чтобы определить порог, самородок и диапазон, но я не уверен, что значения точны!

Я создал объект Variogram из моих пространственно-временных данных:

vario <-variogram(Traffic~Latitude+Longitude,STFDF_data[!is.na(STFDF_jour[,"2019-05-17 00:00","Traffic"]$Traffic),"2019-05-17 00:00","Traffic"])

(fSph = fit.variogram(vario, vgm("Sph")))
  model     psill    range
1   Nug 5654.0478  0.00000
2   Sph  729.4461 15.25662
fSph
  model     psill    range
1   Nug 5654.0478  0.00000
2   Sph  729.4461 15.25662
fSph$psill[2] # sill
[1] 729.4461
fSph$range[2] # range
[1] 15.25662
fSph$psill[1] # nugget
[1] 5654.048

Я не знаю, точны ли результаты для подоконника, около 729, а диапазон 15 и самородок 5654 !! Я пытался построить вариограмму и

enter image description here

Однако, когда я использую подоконник и самородок, а также диапазон в ковариационной модели Отделимого и подгоняю модель к моей вариограмме, появляется сообщение об ошибке:

separableModel <- vgmST("separable", method = "Nelder-Mead", 
                        space=vgm(0.9,"Exp", 15, 5654),
                        time =vgm(0.9,"Exp", 15, 5654),
                        sill=700)

Подходит для модели:

    separable_fit <- fit.StVariogram(model= separableModel,object= vario)
Error in vgm(1 - par[4], as.character(model$time$model[2]), par[3], par[4],  : 
  range should be positive

Мне нужна помощь с настройкой ковариационных моделей, пожалуйста.

Я попытался подобрать случайное число, и я получил этот график ниже,

separableModel <- vgmST("separable",
                        method = "Nelder-Mead", # no lower & upper needed
                        space=vgm(0.9,"Exp", 123, 0.1),
                        time =vgm(0.9,"Exp", 2.9, 0.1),
                        sill=100)

separable_fit <- fit.StVariogram(model=separableModel,object= vario)
plot(vario,separable_fit,all=T,map=F)
plot(vario,separable_fit,map=T, all=T)

enter image description here

enter image description here

Числа не являются точными значениями Sill, Nugget и Range, но я смог уместить модель, однако, когда я использовал этот код ниже для извлечения значений Sill, Nugget и диапазона, он показывает другое числа, которые я определяю в коде выше !!

extractPar(separable_fit)
     range.s     nugget.s      range.t     nugget.t         sill 
5.263074e+01 4.566903e-01 1.023185e+01 4.737951e-02 8.413538e+04 

это меня смущает!

плюс Когда я проверяю, действительно ли средняя квадратическая ошибка

separable_MSE<- attr(separable_fit, "MSE")
separable_MSE

7798887

Я просто запутался в этой части, и я прошу вашей помощи, пожалуйста, чтобы понять, как я могу получить и подобрать модель с этими 3 параметрами.

Любая помощь с подробным объяснением приветствуется.

...