Проблема с перекрестной проверкой с использованием пакета automap

Я хочу сделать перекрестную проверку для ca20-Dataset из пакета geoR. Например, с набором данных meuse это работает нормально, но для этого набора данных я столкнулся со странной проблемой с размерами SpatialPointsDataFrame. Может быть, вы можете попробовать это сами и объяснить, почему функция autoKrige.cv не работает (я пробовал несколько значений nfold, но это только меняет значение location сообщения об ошибке...):

library(geoR)
library(gstat)
library(automap)
data(ca20)
east=ca20$coords[,1]
north=ca20$coords[,2]
concentration=ca20$data
frame=data.frame(east,north)
data=data.frame(concentration)
points<-SpatialPoints(data.frame(east,north),proj4string=CRS(as.character(NA)))
pointsframe<-SpatialPointsDataFrame(points,data, coords.nrs = numeric(0),proj4string = CRS(as.character(NA)), match.ID = TRUE)
krig=autoKrige(pointsframe$concentration~1,pointsframe)
plot(krig)
cv=autoKrige.cv(pointsframe$concentration~1,pointsframe)

Я надеюсь, что кто-то может воспроизвести проблему, моя версия R - 2.15, все пакеты обновлены (по крайней мере, не старше месяца или около того...).

Спасибо за вашу помощь!!

1 ответ

Решение

Во-первых, способ создания вашего SpatialPointsDataFrame может быть более простым:

library(geoR)
library(gstat)
library(automap)

... и построить SPDF:

pointsframe = data.frame(ca20$coords)
pointsframe$concentration = ca20$data
coordinates(pointsframe) = c("east", "north")

Проблема в том, как вы используете formula аргумент. Вы добавляете пространственный объект pointsframe к формуле, по сути, положить вектор непосредственно в формулу. Вы должны просто использовать имя столбца в формуле, например так:

cv=autoKrige.cv(concentration~1,pointsframe)

и это работает:

> summary(cv)
            [,1]      
mean_error  -0.01134  
me_mean     -0.0002237
MAE         6.02      
MSE         60.87     
MSNE        1.076     
cor_obspred 0.7081    
cor_predres 0.01343   
RMSE        7.802     
RMSE_sd     0.7041    
URMSE       7.802     
iqr         9.519 
Другие вопросы по тегам