Tengo una muy escasa conjunto de mediciones de una cantidad, alrededor de 10 mediciones en diferentes lugares a través de un continente. La distribución de los lugares es muy irregular. Me gustaría suave en valores en un espaciados regularmente red en el continente.
De hecho tenemos una mucho más denso conjunto de observaciones de una magnitud relacionada y se están desarrollando técnicas para crear un mapa de la primera cantidad, utilizando dos conjuntos de mediciones. La intención es la de estimar la exactitud de este enfoque híbrido utilizando dejar uno fuera de la validación cruzada (pruebas de cada uno de los 10 sitios en vez de haber creado el mapa con todos los demás, además de las mediciones adicionales). Como referencia, primero hay que ver el grado de precisión de un mapa, utilizando LOOCV, creado a partir de la original de red de 10 estaciones. También debo señalar que esta cantidad varía a lo largo de la escala de tiempo de minutos y queremos producir un mapa en tiempo casi real.
Yo no soy un experto en técnicas geoespaciales, sin embargo he de comprender los conceptos básicos de Kriging y tras la comprobación de la vista de tareas de CRAN, parece autoKrige en el automap paquete sería una función adecuada a emplear. Los resultados que estoy obteniendo son nada parecido a lo que yo esperaba por lo que cualquier ayuda se agradece.
Aquí está un ejemplo de un conjunto de entrada de datos de entrenamiento (todos los datos disponibles para un determinado tiempo):
lat lon value
-27.53 152.92 98
-35.32 149.00 79
-34.05 150.67 81
-12.45 130.95 92
-42.92 147.32 73
-22.25 114.08 91
-29.03 167.97 108
-31.94 115.95 89
Como se puede ver, la cantidad fijada como objetivo tiene un rango de valores más ampliamente espaciados área.
Puedo convertir de una estructura de datos que contiene lat, lon y el valor en un spatialPointsDataFrame haciendo
coordinates(xtrain) = ~lon + lat
coordinates(xtest) = ~lon + lat
proj4string(xtrain) <-CRS("")
proj4string(xtest) <-CRS("")
donde xtest contiene la cuadrícula de puntos que quiero que muestra el mapa. Entonces me Krige esta usando
result <- autoKrige(value~1,xtrain,xtest)
Yo graficar los resultados
plot(result)
y obtener la siguiente imagen
Como se puede ver, el resultado es esencialmente el valor de la media en todos los puntos. Mi entendimiento es que autoKrige debería haber determinado los mejores valores de la Kriging parámetros y produjeron algo más realista que esto. Sólo para ilustrar, el rango de los valores previstos en la cuadrícula es de 0,22, lo que es claramente mucho menos que el 30 punto de dispersión visto en los valores de entrada.
Así, a dónde voy mal? Estoy utilizando mal el paquete de R, o es mi problema más fundamental en la manera en que yo estoy tratando de emplear el Kriging?