6 votos

cokriging: media distancia entre semivarianza en casos de submuestreo [error de gstat]

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.

-1voto

ruby Puntos 16

Lo encontré. No hay ningún error. Simplemente use el subconjunto también en la segunda línea y debería funcionar.

 g <- gstat(NULL, data=meuse[1:80,], formula=lead ~ 1) # subset
g <- gstat(g, data=meuse[1:80,], formula=copper ~ 1)
...
 

Tenga un buen día.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X