Tratando de cokrige dos variables que no están perfectamente situadas (uno tiene escaso medidas que la otra), me enfrenté a un problema que voy a ilustrar con el siguiente MRE.
Con el mosa conjunto de datos, consideramos que krige lead
como principal variable asistido por copper
mediciones de la variable auxiliar. Nos subconjunto de la lead
, para simular escaso mediciones y, por tanto, una necesidad de cokriging con el denso copper
mediciones:
library("gstat")
library("sp")
data("meuse")
coordinates(meuse) = ~x+y
g <- gstat(NULL, data=meuse[1:80,], formula=lead ~ 1) # subset
g <- gstat(g, data=meuse, formula=copper ~ 1)
v <- variogram(g)
plot(v) # zero distance semivariance dot in panel var1.var2
g <- fit.lmc(v=v, g, vgm("Sph")) # error
Se puede ver en la parte inferior izquierda del panel de la parcela una distancia cero puntos, que posteriormente se hace fit.lmc()
a fallar.
Ahora, si ningún subconjunto se hace (algo limitar el interés de cokriging, ¿no?), todo funciona bien. Esto porque, a la distancia cero punto en la cruz-semivariogram no aparece en este caso:
g <- gstat(NULL, data=meuse, formula=lead ~ 1)
g <- gstat(g, data=meuse, formula=copper ~ 1)
v <- variogram(g)
plot(v) # no zero dist dot on var1.var2 panel
g <- fit.lmc(v=v, g, vgm("Sph")) # fit fine with default fit.method
No hay ninguna razón para que este punto aparecen sólo en el crea un subconjunto de los casos, a la derecha?
Otro ejemplo de esto puede verse en este ejercicio 2009 documento por edzer de san Pebesma. En la sección 8.13, se refiere a esto como la "submuestreada caso". Pero el código no está trabajando más, probablemente por la razón mencionada anteriormente.
Es que hay una forma sencilla de evitar esto (ojalá) temporal bug?
PS: me mudé a este de la Cruz-validado porque está relacionado con el software.