первый пост здесь :) Действительно простые вопросы, выделенные жирным шрифтом.Я хочу сделать кригинг, используя ежедневные данные PM10 для 8 статических станций в Сантьяго, Чили, с 1997 по 2012 годы, в 34 центроида, которые отображают разные округа.Я объясняю, что я сделал до сих пор, с некоторыми вопросами между ними.В качестве первого эксперимента я использую только данные за 2008 год (меньше пропущенных значений).
ОПИСАНИЕ:
ДАННЫЕ: у меня есть столбец с днями с 1997 по 2012 год и 8 столбцов с данными станции PM10.Я импортировал в R эти данные и установил время: time <-as.POSIXlt(data$date)
без ошибок:
"1997-04-05 UTC 1997-04-12 UTC .... 2012-12-27 UTC"
Я импортировал станции с их координатами и построил их проекции.
coordinates(stations)=~longitud+latitud
proj4string(stations) <- CRS("+proj=longlat + ellps=WGS84")
Чтобы создать STFDF, я сначала построил вектор PM10 данных с 8 станциями, упорядоченными:
PM10<-as.vector(cbind(data $PM10bosque,data $PM10cerrillos,data $PM10cerronavia,data $PM10condes,data $PM10florida,data $PM10independencia,data $PM10parqueoh,data $PM10pudahuel))
PM10<-data.frame(PM10)
DFPM=STFDF(stations, time, PM10)
DFPM<-as(DFPM,"STSDF")
, последняя строка, потому что я работаю с отсутствующими данными.Затем была выполнена расчетная вариограмма и ее моделирование (которое, как я знаю, плохое):
varPM10 <- variogramST(PM10~1,data=DFPM,tunit="days",assumeRegular=F,na.omit=T)
sepVgm <- vgmST("separable",space=vgm(0,"Exp", 8, 700),time =vgm(200,"Exp", 15, 700), sill=100)
sepVgm <- fit.StVariogram(varPM10, sepVgm)
Что приводит к: Вариограмм
Затем я использовал KrigeST таким образом:
gridPM10 <-STF(centroids,time) (centroids defined previously the same way as stations)
krigedPM10<-krigeST(PM10~1, DFPM, newdata=gridPM10,modelList=sepVgm)
Результат построения данных одной станции и кригедов для центроида округа этой станции:
Результат кригинга для округа Цериллос и данных его станций
, который выглядит так, как будто оценка происходит для временных окон по набору дат. Первый вопрос: Кто-нибудь знает, почему этот кригинг имеет такую форму?
Тогда я подумал, что произойдет, если я просто использую расстояние в качестве предиктора, поэтому вместо этого я кодировал:
varPM10 <- variogramST(PM10~1,data=DFPM,tunit="days", tlags=0:0, assumeRegular=F,na.omit=T)
Второй вопрос: Является ли это разумным способом попробовать только distnace в качестве предиктора? Если нет, то любой совет о том, как настроить мой код, могу ли я это сделать, очень ценен.В любом случае, это результат:
Вариограмма с меткой = 0: 0
с использованием sepVgm <- vgmST("separable",space=vgm(1,"Per", 8, 700),time =vgm(200,"Exp", 15, 700), sill=100)
Кстати, какребята, подойдет ли вам это?
, тогда результат меня действительно удивил: Результат кригинга с тегами = 0: 0
Третий вопрос: почемуЯ получаю этот результат? Я знаю, что моделирование вариограммы плохое, но даже если это правда, я понимаю, что программа должна использовать данные станции соответствующей даты, поэтому, по крайней мере, она должна измениться во времени.