Al usar la función princomp()
en R, se encuentra el siguiente error: "covariance matrix is not non-negative definite"
.Cómo usar la función de princomp() en R cuando la matriz de covarianza tiene cero?
Creo que esto se debe a que algunos valores son cero (en realidad cerca de cero, pero se vuelve cero durante el redondeo) en la matriz de covarianza.
¿Existe un problema para proceder con PCA cuando la matriz de covarianza contiene ceros?
[FYI: la obtención de la matriz de covarianza es un paso intermedio dentro de la llamada princomp()
. El archivo de datos para reproducir este error se puede descargar desde aquí - http://tinyurl.com/6rtxrc3]
Agregar una entrada de muestra para que el problema sea reproducible es útil para los respondedores. –
Si observa 'stats ::: princomp.default' verá que el error ocurre cuando tiene valores propios negativos en la matriz de covarianza. –
@ Richie Cotton: desearía poder brindarle. Mis datos son enormes (10K x 10K) y no he descubierto la parte que está causando el error. Estaré encantado de saber si hay una forma en que pueda extraer una parte problemática de los datos y publicarla aquí. – 384X21