Odpowiedzi:
Poniższy artykuł: Zachowanie składników w analizie głównych składników z zastosowaniem do danych mikromacierzy cDNA przez Cangelosi i Goriely daje dość ładny przegląd standardowej reguły kciuka w celu wykrycia liczby składników w badaniu. (Wykres Scree, Wyjaśnienie proporcji całkowitej wariancji, Reguła średniej wartości własnej, Wykres log-wartości własnej itp.) Większość z nich jest dość łatwa do wdrożenia w R.
Ogólnie rzecz biorąc, jeśli twoja fabuła jest bardzo niejednoznaczna, musisz po prostu „wybrać swoją truciznę”. Żadne dane nie są absolutnie dobre ani złe, ponieważ w rzeczywistości liczba używanych komputerów zależy od zrozumienia problemu. Jedynym zestawem danych, który można „naprawdę” poznać, jest wymiarowość, to ten, który sam zbudowałeś. :-) Główne składniki na koniec dnia zapewniają optymalny rozkład danych w oparciu o dane RSS (gdzie jako produkt uboczny otrzymujesz każdy składnik, który reprezentuje główny tryb zmienności) i obejmuje lub wyklucza określoną liczbę składników dyktuje twoje postrzeganie wymiarów twojego problemu.
Jeśli chodzi o osobiste preferencje, podoba mi się podejście Minki do tego automatycznego wyboru wymiarów dla PCA, które opiera się na probabilistycznej interpretacji PCA, ale znowu zaczynasz grę polegającą na próbowaniu modelowania prawdopodobieństwa twoich danych dla danej wielkości. (Link udostępnia kod Matlab, jeśli chcesz zastosować się do tego uzasadnienia.)
Spróbuj lepiej zrozumieć swoje dane. na przykład. Czy naprawdę wierzysz, że 99,99% zmienności twojego zbioru danych wynika ze zmiennych towarzyszących twojego modelu? Jeśli nie, prawdopodobnie nie musisz uwzględniać wymiarów, które wykazują tak mały odsetek całkowitej wariancji. Czy uważasz, że w rzeczywistości element odzwierciedla odchylenie poniżej progu zauważalnych różnic? To znowu prawdopodobnie oznacza, że włączenie tego komponentu do analizy jest niewielkie.
W każdym razie powodzenia i dokładnie sprawdź swoje dane. (Ich kreślenie czyni również cuda.)
W ciągu ostatnich kilku lat bardzo ładnie pracowano nad tym problemem, odkąd pierwotnie zadano to pytanie i udzielono na nie odpowiedzi. Bardzo polecam następujący artykuł Gavisha i Donoho: Optymalny twardy próg dla pojedynczych wartości wynosi 4 / sqrt (3)
Ich wynik opiera się na analizie asymptotycznej (tj. Istnieje dobrze zdefiniowane optymalne rozwiązanie, gdy matryca danych staje się nieskończenie duża), ale pokazują imponujące wyniki liczbowe, które pokazują, że asymptotycznie optymalna procedura działa dla małych i realistycznie dużych zbiorów danych, nawet przy różnych hałasach modele.
Zasadniczo optymalna procedura sprowadza się do oszacowania szumu, , dodawanego do każdego elementu macierzy. Na tej podstawie obliczasz próg i usuwasz główne składniki, których pojedyncza wartość spada poniżej progu. W przypadku macierzy kwadratowej stała proporcjonalności 4 / sqrt (3) pojawia się, jak sugerowano w tytule:n × n
Wyjaśniają także przypadek nie kwadratowy w pracy. Mają tutaj ładny dodatek do kodu (w MATLAB), ale algorytmy byłyby łatwe do zaimplementowania w R lub gdziekolwiek indziej: https://purl.stanford.edu/vg705qn9070
Ostrzeżenia:
Problem z kryterium Kaisera (wszystkie wartości własne większe niż jeden) polega na tym, że liczba wyodrębnionych czynników wynosi zwykle około jednej trzeciej liczby przedmiotów lub skal w akumulatorze, niezależnie od tego, czy wiele dodatkowych czynników to hałas. Równoległa analiza i kryterium piargowe są na ogół bardziej dokładnymi procedurami określania liczby czynników do wyodrębnienia (zgodnie z klasycznymi tekstami Harmona i Ledyarda Tuckera, a także nowszą pracą Wayne'a Velicera.
psy
lubpsych
w programach R, SPSS, SAS i MATLAB, aby określić liczbę składników i czynników. Korzystanie z analizy równoległej i testu MAP Velicera bardziej ogólnie.