Мне не удалось найти информацию, относящуюся к локальному блогу kriging с локальной вариограммой, используя пакет gstat в R. Существует бесплатное ПО VESPER из Австралийского центра точного земледелия, способного для этого, и из того, что я прочитал, это должно быть возможно в R, я мог бы просто использовать некоторую помощь, чтобы собрать цикл for, чтобы функции gstat работали локально.Локальный блочный кригинг с локальной вариограммой с gstat
Используя данные Маас, установленные в качестве примера, я был в состоянии рассчитать и установить глобальную вариограмму к набору данных:
library(gstat)
data(meuse)
coordinates(meuse) = ~x+y
data(meuse.grid)
gridded(meuse.grid) = ~x+y
logzinc_vgm<- variogram(log(zinc)~1, meuse)
logzinc_vgm_fit <- fit.variogram(logzinc_vgm, model=vgm("Sph", "Exp"))
logzinc_vgm_fit
plot(logzinc_vgm, logzinc_vgm_fit)
Это дает хороший сюжет вариограммы для всего набора данных с установленная модель. Потом можно использовать для выполнения блока кригинга по всему набору данных:
logzinc_blkkrig <- krige(log(zinc)~1, meuse, meuse.grid, model = logzinc_vgm_fit, block=c(100,100))
spplot(logzinc_blkkrig["var1.pred"], main = "ordinary kriging predictions")
spplot(logzinc_blkkrig["var1.var"], main = "ordinary kriging variance")
Это создает участок интерполированных данных, а также график дисперсии для каждой предсказанной точки. Так что это было бы идеально, если бы я хотел, чтобы эти функции работали один раз для всего моего набора данных ...
Но я не смог создать цикл for для обработки этих функций на локальном уровне.
Мои цели: 1. Для каждой точки в файле сетки (которую я пробовал как как фрейм данных, так и SpatialPointsDataFrame), я хотел бы подмножество из своих точек данных данных на расстоянии по диагонали от заданного диапазона в глобальной вариограмме (легко вызвать это местоположение (например, logzinc_vgm_fit [2,3])) 2. На этом подмножестве данных я хотел бы рассчитать вариограмму (как указано выше) и подгонять модель к ней (как указано выше) 3. На основе этой модели я хотел бы выполнить блок кригинга для получения прогнозируемого значения и дисперсии в этой точке сетки 4. Сформировать три вышеуказанных шага в цикле для прогнозирования значений в каждой точке сетки на основе локального вариограмма вокруг каждой точки сетки
Примечание: как и в случае набора данных meuse, встроенного в пакет gstat, размеры моей сетки и кадры данных данных различны.
Большое спасибо за прошивку, если кто-нибудь сможет решить этот вопрос. С удовольствием опубликуем код, над которым я работаю, если это было бы полезно.
Вы проверили для пространственных подмножеств ваших данных, независимо от того, статистически значимо ли локальная вариограмма отличается от глобальной вариограммы? Я спрашиваю, потому что, если он не отличается при разумном альфа-уровне, вы можете сэкономить некоторое время программирования, используя локальный кригинг с глобальной вариограммой. Например, указывая «maxdist», равный диапазону глобальной вариограммы. –
Благодарим вас за ответ, Джаред. Я уже написал код для блочного кригинга с глобальной вариограммой. Цель состоит в том, чтобы передать это в веб-платформу для обработки пространственных данных, поэтому оба варианта должны быть закодированы. –