Mentre si utilizza la funzione princomp()
in R, si verifica il seguente errore: "covariance matrix is not non-negative definite"
.Come usare la funzione princomp() in R quando la matrice di covarianza ha zero?
Penso, questo è dovuto al fatto che alcuni valori sono pari a zero (in realtà vicino a zero, ma diventa zero durante l'arrotondamento) nella matrice di covarianza.
Esiste un modo per aggirare il PCA quando la matrice di covarianza contiene zeri?
[FYI: l'ottenimento della matrice di covarianza è un passaggio intermedio all'interno della chiamata princomp()
. Il file di dati per riprodurre questo errore può essere scaricato da qui - http://tinyurl.com/6rtxrc3]
L'aggiunta di un input di esempio per rendere riproducibile il problema è utile per i risponditori. –
Se guardi a 'stats ::: princomp.default' vedrai che l'errore si verifica quando hai autovalori negativi nella matrice di covarianza. –
@ Richie Cotton: Vorrei poter fornire. I miei dati sono enormi (10K x 10K) e non ho capito la parte che sta causando l'errore. Sarò felice di sapere se c'è un modo in cui posso estrarre una parte preoccupante dei dati e postarla qui! – 384X21