Załóżmy, że mam zestaw danych punktów 2D i chcę wykryć kierunki wszystkich lokalnych maksimów wariancji w danych, na przykład:
PCA nie pomaga w tej sytuacji, ponieważ jest to rozkład ortogonalny i dlatego nie może wykryć obu linii wskazanych przeze mnie na niebiesko, a raczej jego wynik może wyglądać jak ten pokazany przez zielone linie.
Proszę polecić dowolną technikę, która może być odpowiednia do tego celu. Dzięki.
Odpowiedzi:
Niezależna analiza komponentów powinna być w stanie zapewnić dobre rozwiązanie. Jest w stanie rozłożyć komponenty nieortogonalne (jak w twoim przypadku), zakładając, że twoje pomiary wynikają z mieszaniny zmiennych statystycznie niezależnych.
W Internecie znajduje się wiele dobrych samouczków, a kilka darmowych implementacji do wypróbowania (na przykład w Scikit lub MDP ).
Kiedy ICA nie działa?
Podobnie jak inne algorytmy, ICA jest optymalna, gdy mają zastosowanie założenia, dla których została uzyskana. Konkretnie,
ICA zwraca oszacowanie macierzy mieszania i niezależnych składników.
Gdy twoje źródła są gaussowskie, ICA nie może znaleźć komponentów. Wyobraź sobie, że masz dwa niezależne komponenty,x1 i x2) , które są N.( 0 , I) . Następnie,
gdzie||.|| . jest normą dwuwymiarowego wektora. Jeśli zostaną zmieszane z transformacją ortogonalną (na przykład rotacjąR ), mamy, ||Rx||=||x|| , co oznacza, że rozkład prawdopodobieństwa nie zmienia się pod rotacją. Dlatego ICA nie może znaleźć matrycy miksowania z danych.
źródło
Istnieją procedury podobne do PCA w przypadku tak zwanej „skośnej” sprawy. W oprogramowaniu statycznym, takim jak SPSS (i być może również w jego darmowym klonie) PSPP można znaleźć równoważnie zwane „skośnymi rotacjami”, a ich wystąpienia nazywane są „ob eliminacją”, „promaxem” i czymś więcej. Jeśli dobrze rozumiem rzeczy, oprogramowanie próbuje „wyprostować” ładunki czynnikowe, ponownie obliczając ich współrzędne w ortogonalnej, euklidesowej przestrzeni (jak na przykład pokazano na twoim zdjęciu) na współrzędne przestrzeni, której osie są nie ortogonalne, być może z pewna technika znana z regresji wielokrotnej. Ponadto myślę, że działa to tylko iteracyjnie i pochłania jeden lub więcej stopni swobody w testach statystycznych modelu.
porównania PCA i obrotu ukośnego
Podręcznik referencyjny SPSS (w serwisie IBM) dotyczący obrotu ukośnego zawiera nawet formuły do obliczeń.
[Aktualizacja] (Upps, przepraszam, właśnie sprawdziłem, czy PSPP nie zapewnia „rotacji” typu ukośnego)
źródło
Nie mam z tym dużego doświadczenia, ale uogólnione PCA Vidala, Ma i Sastry'ego zostało stworzone z myślą o bardzo podobnym problemie.
źródło
Inne odpowiedzi dały już kilka użytecznych wskazówek na temat technik, które można rozważyć, ale wydaje się, że nikt nie zauważył, że twoje założenie jest błędne: linie pokazane na niebiesko na schemacie NIE są lokalnymi maksymami wariancji.
Aby to zobaczyć, zwróć uwagę na wariancję kierunkuw jest dany przez w⊤Σw , gdzie Σ oznacza macierz kowariancji danych. Aby znaleźć lokalne maksima, musimy wyzerować pochodną tego wyrażenia. Tak jakw jest ograniczony, aby mieć długość jednostki, musimy dodać termin λ(w⊤w−1) gdzie λ to mnożnik Lagrange'a. Różniczkując, otrzymujemy następujące równanie:
To znaczy żew powinien być wektorem własnym macierzy kowariancji, tj. jednym z głównych wektorów. Innymi słowy, PCA daje wszystkie lokalne maksima, nie ma innych.
źródło