Podczas korzystania z funkcji princomp()
w R, napotkano następujący błąd: "covariance matrix is not non-negative definite"
.Jak korzystać z funkcji princomp() w R, gdy macierz kowariancji ma zero?
Myślę, że jest to spowodowane tym, że niektóre wartości są zerowe (faktycznie bliskie zeru, ale stają się zerami podczas zaokrąglania) w macierzy kowariancji.
Czy jest jakieś obejście, aby przystąpić do PCA, gdy macierz kowariancji zawiera zera?
[FYI: uzyskanie macierzy kowariancji jest etapem pośrednim w ramach wywołania princomp()
. Plik danych do odtworzenia tego błędu można pobrać stąd - http://tinyurl.com/6rtxrc3]
Dodanie przykładowego wejścia, aby problem mógł być odtwarzany, jest przydatny dla osób, które odpowiedziały. –
Jeśli spojrzysz na 'stats ::: princomp.default' zobaczysz, że błąd występuje, gdy masz ujemne wartości własne w macierzy kowariancji. –
@ Richie Cotton: Chciałbym zapewnić. Moje dane są ogromne (10K x 10K) i nie znalazłem części powodującej błąd. Z przyjemnością dowiem się, czy istnieje sposób, w jaki mogę wyodrębnić niepokojące dane i opublikować je tutaj! – 384X21