Jak mogę stwierdzić, że w wynikach PCA nie ma wzorca?

9

Mam ponad 1000 próbek danych z 19 zmiennymi. Moim celem jest przewidzenie zmiennej binarnej na podstawie pozostałych 18 zmiennych (binarnych i ciągłych). Jestem całkiem pewien, że 6 zmiennych predykcyjnych jest powiązanych z odpowiedzią binarną, chciałbym jednak dalej analizować zestaw danych i szukać innych powiązań lub struktur, których mógłbym brakować. Aby to zrobić, zdecydowałem się na użycie PCA i klastrowania.

Podczas uruchamiania PCA na znormalizowanych danych okazuje się, że należy zachować 11 składników, aby zachować 85% wariancji. wprowadź opis zdjęcia tutaj Wykreślając wykresy par otrzymuję to: wprowadź opis zdjęcia tutaj

Nie jestem pewien, co będzie dalej ... Nie widzę żadnego znaczącego wzorca w pca i zastanawiam się, co to oznacza i czy mogło to być spowodowane faktem, że niektóre zmienne są binarne. Po uruchomieniu algorytmu klastrowania z 6 klastrami otrzymuję następujący wynik, który nie jest dokładnie poprawą, chociaż niektóre obiekty BLOB wydają się wyróżniać (żółte). wprowadź opis zdjęcia tutaj

Jak zapewne możesz powiedzieć, nie jestem ekspertem od PCA, ale widziałem kilka samouczków i jak to może być potężne, aby zobaczyć struktury w przestrzeni wielowymiarowej. Dzięki słynnemu zestawowi danych MNIST (lub IRIS) działa świetnie. Moje pytanie brzmi: co powinienem teraz zrobić, aby uzyskać więcej sensu z PCA? Klastrowanie nie wydaje się zbierać niczego pożytecznego. Jak mogę stwierdzić, że nie ma wzorca w PCA lub co mam teraz spróbować znaleźć wzorce w danych PCA?

mickkk
źródło
Dlaczego robisz PCA, aby znaleźć predyktory? Dlaczego nie zastosować innej metody? np. możesz uwzględnić je wszystkie w regule logistycznej, możesz użyć LASSO, możesz zbudować model drzewa, jest workowanie, wzmacnianie itp.
Peter Flom
Co konkretnie rozumiesz przez „wzorzec”, w którym PCA dobrze jest ujawnić?
ttnphns
@ttnphns staram się znaleźć pewną podgrupę obserwacji, które mogą mieć coś wspólnego, aby lepiej wyjaśnić wynik odpowiedzi binarnej, którą próbuję przewidzieć (częściowo zainspirowany tym przez Dailyanalytics.ca/2014/ 06 /… ). Również przy użyciu pca i grupowania w zestawie danych tęczówki przydatne jest izolowanie gatunku ( scikit-learn.org/stable/auto_examples/decomposition/... ), chociaż jest to bardzo łatwe, ponieważ znamy już liczbę klastrów.
mickkk
@PeterFlom Uruchomiłem już regresję logistyczną i losowy model lasu i działają one przyzwoicie, jednak chciałbym dokładniej zbadać dane.
mickkk

Odpowiedzi:

7

Wyjaśniłeś, że wykres wariancji mówi mi, że PCA nie ma tu sensu. 18.11 to 61%, więc potrzebujesz 61% swoich zmiennych, aby wyjaśnić 85% wariancji. Moim zdaniem tak nie jest w przypadku PCA. Używam PCA, gdy 3-5 czynników 18 wyjaśnia 95% wariancji.

AKTUALIZACJA: Spójrz na wykres skumulowanego procentu wariancji wyjaśnionego liczbą komputerów. Wynika to z pola modelowania struktury terminów stóp procentowych. Widzisz, jak 3 składniki wyjaśniają ponad 99% całkowitej wariancji. Może to wyglądać na wymyślony przykład reklamy PCA :) To jednak prawdziwa rzecz. Tenory stóp procentowych są tak bardzo skorelowane, dlatego PCA jest bardzo naturalne w tej aplikacji. Zamiast zajmować się kilkadziesiąt tenorów, masz do czynienia tylko z 3 elementami.

wprowadź opis zdjęcia tutaj

Aksakal
źródło
Tak właśnie podejrzewałem. Nie zwróciłem na to uwagi bezpośrednio, ponieważ nie wiem zbyt wiele o PCA, aby wypowiedzieć się tak śmiało. Czy można bezpiecznie powiedzieć, że gdy potrzeba więcej niż x% komponentów, PCA nie jest zbyt pomocna? Mam na myśli, że w przykładach zastosowania, które widziałem, zwykle niewiele składników wyjaśnia największą wariancję.
mickkk
@mickkk, nie ma ścisłej zasady. Dla mnie wskazaniem jest wypukłość, wyjaśnienie wariancji wykresu. Jeśli narysujesz go jako skumulowany procent całkowitej wariancji wyjaśniony liczbą komputerów, to chcesz zobaczyć bardzo wklęsły wykres. Twój byłby zbliżony do liniowego: wydaje się, że każdy element zawiera w przybliżeniu te same informacje o danych, w takim przypadku dlaczego w ogóle używać PCA zamiast oryginalnych danych?
Aksakal,
Edycja z nowym przykładem była bardzo pomocna.
mickkk
5

Jeśli masz N>1000 próbki i tylko p=19predyktory rozsądne byłoby użycie wszystkich predyktorów w modelu. W takim przypadku krok PCA może być niepotrzebny.

Jeśli masz pewność, że tylko podzbiór zmiennych jest naprawdę objaśniający, skorzystanie z rzadkiego modelu regresji, np. Elastic Net, może ci to pomóc.

Również interpretacja wyników PCA przy użyciu danych wejściowych typu mieszanego (binarny vs rzeczywisty, różne skale itp., Patrz pytanie CV ) nie jest tak prosta i możesz tego uniknąć, chyba że istnieje wyraźny powód.

przypuszczenia
źródło
4

Zinterpretuję twoje pytanie tak zwięźle, jak potrafię. Daj mi znać, jeśli to zmieni twoje znaczenie.

Jestem całkiem pewien, że 6 zmiennych predykcyjnych jest powiązanych z odpowiedzią binarną [ale] Nie widzę żadnego znaczącego wzorca w pca

Nie widzę też żadnego „znaczącego wzorca” poza konsekwencją twoich wykresów par. Wszystkie są z grubsza okrągłymi plamami. Jestem ciekawy, czego się spodziewałeś. Wyraźnie oddzielne klastry punktowe niektórych par wykresów? Kilka działek bardzo zbliżonych do liniowych?

Twoje wyniki PCA - wykresy par typu blob i tylko 85% wariancji uchwyconych w 11 głównych komponentach - nie wykluczają przeczucia, że ​​6 zmiennych jest wystarczających do przewidywania odpowiedzi binarnej.

Wyobraź sobie te sytuacje:

  1. Powiedz, że wyniki PCA pokazują, że 99% wariancji jest wychwytywanych przez 6 głównych składników.

    Może to wydawać się potwierdzeniem przeczucia około 6 zmiennych predykcyjnych - być może możesz zdefiniować płaszczyznę lub inną powierzchnię w tej 6 wymiarowej przestrzeni, która bardzo dobrze klasyfikuje punkty, i możesz użyć tej powierzchni jako binarnego predyktora. Co prowadzi mnie na numer 2 ...

  2. Powiedz, że twoje 6 głównych komponentów ma wykresy par, które wyglądają tak

    „Wzór” na wykresach par.

    Ale kolorujmy dowolną odpowiedź binarną

    „Wzór” jest bezużyteczny.

    Mimo że udało ci się uchwycić prawie całą (99%) wariancję w 6 zmiennych, nadal nie masz gwarancji przestrzennej separacji, aby przewidzieć twoją odpowiedź binarną.

Możesz potrzebować kilku liczbowych progów (które mogą być wykreślone jako powierzchnie w tej 6 wymiarowej przestrzeni), a przynależność punktu do binarnej klasyfikacji może zależeć od złożonego wyrażenia warunkowego złożonego z relacji tego punktu do każdego z tych progów. Ale to tylko przykład tego, jak można przewidzieć klasę binarną. Istnieje mnóstwo struktur danych i metod reprezentowania, szkolenia i prognozowania. To jest zwiastun. Cytować,

Często najtrudniejszą częścią rozwiązania problemu uczenia maszynowego może być znalezienie odpowiedniego estymatora dla zadania.

kdbanman
źródło
1
Buźka jest naprawdę dobra, ponieważ jest nieskorelowana! Lubię to.
ameba
@amoeba, czy możesz mieć uśmiechniętą twarz z nieskorelowanych komputerów?
Aksakal,
@Aksakal, tak, wydaje się, że wykres rozproszenia buźki wykazuje zerową korelację. Kdbanman, doceniam aktualizację, +1.
ameba
@amoeba, ok, masz na myśli korelację liniową .
Aksakal