4 votos

Error de Gstat krige(): Matriz de covarianza singular en la posición [917300,3.6109e+06,0]: saltando

Recientemente, me encuentro con un extraño problema al utilizar krige() en la biblioteca gstat. Este error no existía hace unos meses porque estoy usando el mismo código con los mismos datos que usé con éxito antes. Pero ahora estoy obteniendo una matriz de covarianza singular en los puntos de la cuadrícula en los que quiero krigear los valores desconocidos. No he cambiado nada en el código anterior. Solo lo abrí y lo ejecuté, y ahora no se ejecuta. Buscando encontré una solución set=list(cn_max = 1e10) de una comunicación entre Edzer y Hengl bajo el título "[R-sig-Geo] 'LDLfactor' error en la función 'krige'". Sin embargo, luego krige() da un error de sintaxis sobre cn_max. También leí la pregunta "Error en In predict.gstat in R" en este sitio, pero tampoco me funciona.

¿Por qué recibo este error de repente?

4voto

Josh Peterson Puntos 108

Esto se debe a la biblioteca de matrices utilizada por gstat. Históricamente (gstat fue liberado como código abierto en 1997) utilizaba la rutina LDLfactor en la biblioteca meschach. Hace unos 6 meses eliminé este código y lo sustituí por BLAS/LAPACK que son nativos en R. LAPACK utiliza la descomposición de Choleski. LDLfactor permite algunas matrices no positivas, donde Choleski provocará un error en esto.

Por lo tanto, su problema es aparentemente una matriz definida no positiva que no fue detectada por LDL, pero sí por Choleski.

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