为krigingST预测做好准备

时间:2019-04-29 20:10:56

标签: r grid time-series spatial prediction

我正在使用KrigingST进行空间时间预测,但是我指出需要在其中创建用于预测的网格,而且我在某种程度上混淆了如何制作网格。 我的数据具有Station_ID,经度,纬度,时间和路况 时间从2018-01-01 01:00到2018-04-30 09:00 和6个地点。 我创建了STFDF对象,需要将预测应用到时间段2018-05-01 09:00到2018-05-30 09:00的相同位置和附近的位置

这是我的数据示例

Station_ID     Latitude    Longitude   Traffic        Time
1             -80.424      40.4242      54       2018/01/01 01:00
2             -80.114      40.4131      30       2018/01/01 01:00
3             -80.784      40.1142      12       2018/01/01 01:00
4             -80.132      40.5346      22       2018/01/02 01:00
5             -80.667      40.2478      31       2018/01/02 01:00
6             -80.975      40.5368      53       2018/01/02 01:00

以下是我的简单代码:

STFDF_Data <- stConstruct(MyData,space=c("Longitude", "Latitude"),time="Time", SpatialObj=SpatialPoints(MyData[,c("Longitude", "Latitude")]))
STFDF_Data <- as(STFDF_Data, "STFDF")
proj4string(STFDF_Data) <- CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")

我使用variogramST计算经验时空变异图

v <- variogram(Traffic_Flow_~Latitude+Longitude,STFDF_Data[!is.na(STFDF_Data[,"2018-01-01","Traffic"]$Traffic),"2018-04-30","Traffic"])

我使用可分离模型计算经验时空变异图

sepVgm <- vgmST(stModel = "separable",space = vgm(10, "Exp", 400, nugget = 0.1), time = vgm(10, "Exp", 1, nugget = 0.1), sill = 20)
sepVgm_fit <- fit.StVariogram(model= sepVgm,object=v )

然后创建时间网格和空间网格: 时间网格:

[![tgrd<- seq(as.POSIXct('2018-05-01 01:00'), as.POSIXct('2018-05-30 09:00'), length.out = 20)][1]][1]

空间网格(不起作用) 我想考虑附近的16个空间位置和其他位置,但不确定如何选择序列号,我将它们放在-80°W和-70°W之间,以及32°N和43°N之间。 然后将它们转换为SpatialPoints,并确保预测网格的坐标参考系统(CRS)与观测数据的坐标参考系统相同。

sgrd <- expand.grid(Longitude = seq(-80, -70, length = 10),
                               Latitude = seq(32, 43, length = 10)) %>%
   SpatialPoints(proj4string = CRS(proj4string(STFDF_Data)))

# then combine sgrd and tgrd to construct an STF object for space-time prediction grid.
DE_pred <- STF(sp = sgrd, # spatial part
               time = tgrd) # temporal part

然后使用KrigingST进行了预测

pred <- krigeST(Traffic~1 , data=STFDF_Data, modelList=sepVgm_fit, newdata=DE_pred) 

当我绘制预测时,它给了我这个我认为不准确的信息,因为空间网格。

我试图解释我做得越短越好,感谢任何建议。

我的预测图并显示如下图

enter image description here

enter image description here

0 个答案:

没有答案