Jak zastosować regresję do głównych składników, aby przewidzieć zmienną wyjściową?

9

Przeczytałem o podstawach analizy głównych składników z tutoriala 1 , link1 i link2 .

Mam zestaw danych 100 zmiennych (w tym zmienną wyjściową Y), chcę zredukować zmienne do 40 za pomocą PCA, a następnie przewidzieć zmienną Y za pomocą tych 40 zmiennych.

Problem 1: Po uzyskaniu głównych składników i wybraniu pierwszych 40 składników, jeśli zastosuję na nim regresję, dostanę funkcję, która pasuje do danych. Ale jak przewidzieć zmienną Y na podstawie oryginalnych danych? Aby przewidzieć zmienną, na wejściu mam zmienne (100-1) i skąd mam wiedzieć, które 40 zmiennych wybrać z moich pierwotnych zmiennych 100-1?

Problem 2: Odwracam PCA i odzyskuję dane z tych 40 głównych komponentów. Ale dane zostały zmienione, ponieważ wybrałem tylko pierwsze 40 składników. Czy zastosowanie regresji do tych danych ma sens?

Używam Matlab / Octave.

munjal007
źródło
Jakiego oprogramowania lub programu używasz do PCA? Na przykład w SPSS analizę tę można łatwo wykonać i można ustawić liczbę głównych składników, które chcesz wyodrębnić, i możesz zobaczyć, które z nich są wybrane w wyniku. Oczywiście zastosowanie regresji w tych danych ma jakikolwiek sens, ponieważ PCA służy tylko do zmniejszania wymiarów.
merveceng
1
Jeśli jesteś zainteresowany wyłącznie prognozami, powinieneś mieć świadomość, że Hastie, Tibshirani i Friedman zalecają regresję LASSO zamiast regresji głównych składników, ponieważ LASSO podobno robi to samo (poprawa zdolności predykcyjnej poprzez zmniejszenie liczby zmiennych w modelu), ale lepszy. LASSO jest obecnie również powszechnie dostępny w pakietach statystycznych.
shadowtalker
@ssdecontrol: Do Hastie i in. polecasz w szczególności lasso zamiast regresji głównych składników? PCR jest znacznie bliżej związany z regresją grzbietu niż z lasso: nie narzuca żadnej rzadkości (tj. Nie dokonuje wyboru cech, w przeciwieństwie do lasso), raczej karze wszystkie ciężary podobne do grzbietu. Być może zalecają elastyczną siatkę zamiast PCR, ale jest to lasso i grzbiet.
ameba
1
@amoeba Właśnie poszedłem i sprawdziłem plik PDF online. Albo tekst się zmienił, albo źle go zrozumiałem za pierwszym razem. Wniosek nie jest taki, że „lasso jest lepsze”, ale że „PCR, PLS i regresja grzbietu zwykle zachowują się podobnie” i że grzbiet może być lepszy, ponieważ jest ciągły. Dzięki za bycie szczerym!
shadowtalker

Odpowiedzi:

7

Nie wybierasz podzbioru swoich oryginalnych zmiennych 99 (100-1).

Każdy z głównych składników to liniowe kombinacje wszystkich 99 zmiennych predykcyjnych (zmienne x, IV, ...). Jeśli użyjesz pierwszych 40 głównych składników, każdy z nich jest funkcją wszystkich 99 oryginalnych zmiennych predykcyjnych. (Przynajmniej ze zwykłym PCA - istnieją rzadkie / uregulowane wersje, takie jak SPCA Zou, Hastie i Tibshirani, które dostarczą składniki oparte na mniejszej liczbie zmiennych).

Rozważ prosty przypadek dwóch dodatnio skorelowanych zmiennych, które dla uproszczenia założymy, że są jednakowo zmienne. Wtedy pierwszy główny składnik będzie (ułamkową) wielokrotnością sumy obu zmiennych, a drugi będzie (ułamkową) wielokrotnością różnicy dwóch zmiennych; jeśli dwa nie są jednakowo zmienne, pierwszy główny składnik będzie bardziej obciążał bardziej zmienny, ale nadal będzie obejmował oba.

Zaczynasz więc od 99 zmiennych x, na podstawie których obliczasz 40 głównych składników, stosując odpowiednie wagi dla każdej z pierwotnych zmiennych. [NB w mojej dyskusji Zakładam i „s są już skoncentrowane.]yX

Następnie używasz 40 nowych zmiennych, tak jakby były one predyktorami same w sobie, tak jak w przypadku dowolnego problemu z regresją wielokrotną. (W praktyce istnieją bardziej wydajne sposoby uzyskiwania oszacowań, ale odłóżmy na bok aspekty obliczeniowe i po prostu zajmijmy się podstawowym pomysłem)

W odniesieniu do drugiego pytania nie jest jasne, co rozumiesz przez „odwrócenie PCA”.

Twoje komputery to liniowe kombinacje oryginalnych wariantów. Załóżmy, że twoje pierwotne zmienne są w , a obliczasz (gdzie to a to macierz , która zawiera główne masy składników dla używanych składników), a następnie: estimate poprzez regresję.XZ=XWXn×99W99×4040y^=Zβ^PC

Następnie możesz napisać powiedzieć (gdzie , oczywiście), więc możesz napisać to jako funkcję oryginalnych predyktorów; Nie wiem, czy to, co masz na myśli przez „odwrócenie”, ale jest to znaczący sposób spojrzeć na pierwotnej relacji między i . Oczywiście nie jest to to samo, co współczynniki, które uzyskuje się, szacując regresję na oryginalnych X-ach - jest to regulowane przez wykonanie PCA; nawet jeśli w ten sposób uzyskasz współczynniki dla każdego z oryginalnych X-ów, mają one tylko współczynnik df liczby zamontowanych elementów.y^=Zβ^PC=XWβ^PC=Xβ^β^=Wβ^PCyX

Zobacz także Wikipedię na temat regresji głównych składników .

Glen_b - Przywróć Monikę
źródło