LASSO z warunkami interakcji - czy jest w porządku, jeśli główne efekty zostaną zmniejszone do zera?

25

Regresja LASSO zmniejsza współczynniki do zera, zapewniając w ten sposób efektywny wybór modelu. Uważam, że w moich danych występują znaczące interakcje między zmiennymi nominalnymi i ciągłymi zmiennymi towarzyszącymi. Jednak niekoniecznie „główne efekty” prawdziwego modelu są znaczące (niezerowe). Oczywiście tego nie wiem, ponieważ prawdziwy model jest nieznany. Moim celem jest znalezienie prawdziwego modelu i jak najdokładniejsze przewidzenie wyniku.

Dowiedziałem się, że klasyczne podejście do budowy modelu zawsze zawierałoby główny efekt przed uwzględnieniem interakcji. Zatem nie może istnieć model bez głównego efektu dwóch zmiennych towarzyszących i Z, jeżeli występuje interakcja zmiennych towarzyszących X Z w tym samym modelu. Funkcja w konsekwencji starannie dobiera warunkach modelowych (np na podstawie tyłu lub do przodu AIC) przestrzeganie tej zasady.XZXZstepR

LASSO wydaje się działać inaczej. Ponieważ wszystkie parametry są karane, bez wątpienia główny efekt może zostać zmniejszony do zera, podczas gdy interakcja najlepszego (np. Walidowanego krzyżowo) modelu jest niezerowa. Znajduję to w szczególności dla moich danych podczas korzystania Rz glmnetpakietu.

Otrzymałem krytykę w oparciu o pierwszą cytowaną powyżej zasadę, tj. Mój ostateczny model Lasso z walidacją krzyżową nie zawiera odpowiednich warunków głównego efektu niektórych niezerowych interakcji. Jednak zasada ta wydaje się nieco dziwna w tym kontekście. Sprowadza się do pytania, czy parametr w prawdziwym modelu wynosi zero. Załóżmy, że tak, ale interakcja nie jest równa zero, wtedy LASSO może to zidentyfikować, znajdując w ten sposób właściwy model. W rzeczywistości wydaje się, że przewidywania z tego modelu będą bardziej precyzyjne, ponieważ model nie zawiera efektu głównego zero, który faktycznie jest zmienną szumu.

Czy mogę odrzucić krytykę opartą na tej podstawie, czy też powinienem w jakiś sposób uprzedzić, że LASSO zawiera główny efekt przed terminem interakcji?

tomka
źródło
2
Ktoś to ocenił. Byłbym zainteresowany dlaczego-
tomka
1
Czy Twoje przewidywanie celów, wnioskowanie, czy coś jeszcze razem?
Andrew M
@AndrewM Chcę jak najlepiej oszacować prawdziwy model, zinterpretować zmienne powodujące zmienne zależne, a także użyć przewidywanych wartości.
tomka
2
W przypadku pierwszego celu zwróć uwagę, że walidacja krzyżowa jest niespójna przy wyborze modelu. W rzeczywistości wykazano, że model, w którym „prawdziwy” model jest podzbiorem tego, który maksymalizuje nasze oszacowanie wydajności predykcyjnej. W przypadku drugiego celu zwróć uwagę, że lasso zapewnia mocno tendencyjne oszacowania. Myślę więc, że musisz zdecydować, jaki jest twój główny cel, i edytować swoje pytanie, aby wyjaśnić, zanim możliwe będzie zaoferowanie przydatnych porad.
Andrew M
@AndrewM moje pytanie brzmi: czy główny efekt powinien być uwzględniony w modelu podczas korzystania z LASSO? Na to pytanie można odpowiedzieć osobno dla obu moich celów. Nie sądzę, aby pytanie wymagało dalszych poprawek, ale ważne jest, aby wskazać te cele, patrz edycja w pierwszym akapicie.
tomka

Odpowiedzi:

10

Jedną z trudności w udzieleniu odpowiedzi na to pytanie jest to, że trudno jest pogodzić LASSO z ideą „prawdziwego” modelu w większości rzeczywistych aplikacji, które zazwyczaj mają nieistotną korelację między zmiennymi predykcyjnymi. W takim przypadku, podobnie jak w przypadku dowolnej techniki selekcji zmiennych, konkretne predyktory zwrócone z niezerowymi współczynnikami przez LASSO będą zależeć od kaprysów próbkowania z populacji podstawowej. Możesz to sprawdzić, wykonując LASSO na wielu próbkach ładowania początkowego z tego samego zestawu danych i porównując zestawy zwracanych zmiennych predykcyjnych.

Ponadto, jak zauważył @AndrewM w komentarzu, stronniczość szacunków przedstawionych przez LASSO oznacza, że ​​nie będziesz przewidywał wyników „tak dokładnie, jak to możliwe”. Raczej przewidujesz wyniki, które są oparte na konkretnym wyborze nieuniknionego kompromisu wariancji.

Biorąc pod uwagę te trudności, mam nadzieję, że chciałbyś poznać sam, a nie tylko zaspokoić krytyka, wielkość głównych efektów zmiennych, które przyczyniają się do interakcji. Dostępny jest pakiet w R, glinternet , który wydaje się robić dokładnie to, czego potrzebujesz (chociaż nie mam z tym doświadczenia):

Group-Lasso INTERACT-NET. Pasuje do liniowych modeli interakcji parami, które spełniają silną hierarchię: jeśli współczynnik interakcji zostanie oszacowany jako niezerowy, wówczas jego dwa powiązane główne efekty również mają niezerowe współczynniki oszacowane. Uwzględnia zmienne kategorialne (czynniki) z dowolną liczbą poziomów, zmiennymi ciągłymi i ich kombinacjami.

Alternatywnie, jeśli nie masz zbyt wielu predyktorów, możesz zamiast tego rozważyć regresję grzbietu, która zwróci współczynniki dla wszystkich zmiennych, które mogą być znacznie mniej zależne od kaprysu konkretnej próbki danych.

EdM
źródło
9

Jestem spóźniony na przyjęcie, ale oto kilka moich przemyśleń na temat twojego problemu.

  1. lasso wybiera, co ma charakter informacyjny. Rozważmy lasso jako metodę uzyskania najwyższej wydajności predykcyjnej przy najmniejszej liczbie funkcji. Jest całkowicie w porządku, że w niektórych przypadkach lasso wybiera interakcję, a nie główne efekty. Oznacza to po prostu, że główne efekty nie mają charakteru informacyjnego, ale interakcje są.

  2. Po prostu zgłaszasz to, czego się dowiedziałeś. Użyłeś jakiejś metody i przyniosła ona pewne rezultaty. Zgłaszasz to w przejrzysty sposób, który pozwala na powtarzalność. Moim zdaniem twoja praca jest skończona. Wyniki są obiektywne, znalazłeś to, co znalazłeś i nie jest twoim obowiązkiem uzasadnianie, dlaczego nie znalazłeś czegoś innego.

  3. Wszystkie jednostki są arbitralne. Interakcje są tylko jednostkami. Powiedzmy, że studiujesz kolory. Kolory mogą być uwzględnione w modelu jako długość fali lub długość fali logarytmicznej, jako 3 zmienne RGB lub jako interakcja odcienia i odcienia i tak dalej. Nie ma z natury poprawnej lub niepoprawnej reprezentacji kolorów. Wybierz ten, który najlepiej pasuje do twojego problemu. Interakcje to także tylko jednostki, z których można dowolnie korzystać. Obszar okna, to tylko interakcja jego wysokości i szerokości, czy należy uwzględnić wysokość i szerokość okna w swoim modelu? Prędkość to po prostu interakcja masy i prędkości. A prędkość to tylko interakcja czasu i odległości. Manhours to po prostu interakcja czasu i liczby pracujących osób. Matematycznie dawka leczenia * wiek jest taki sam jak wzrost * szerokość. Powiedzenie „musisz zawsze uwzględniać główne efekty” jest przereklamowane.

  4. lasso nie aproksymuje modelu rzeczywistego, nie jest przeznaczony do wnioskowania, a wybrane zmienne są niestabilne. Jeśli skorelowałeś predyktory informacyjne, lasso ma tendencję do wybierania jednego i popychania pozostałych do 0, dlatego twój model pominie znaczną część zmiennych informacyjnych. Ponadto, jak wskazano w komentarzach, jeśli znajdziesz najlepszą lambda w krzyżowej walidacji, lasso wybierze więcej zmiennych niż prawdziwy model. Inną kwestią jest to, że wybory z lasso są niestabilne. Jeśli więc ponownie uruchomisz lasso na innej próbce niż populacja, zakończysz na innym zestawie wybranych zmiennych. Dlatego nie przykładaj dużej wagi do wyboru zmiennych. Ponadto, beta są tendencyjne i dlatego nie można ich używać do klasycznego testowania hipotez parametrycznych. Istnieją jednak sposoby na obejście tego (następny punkt)

  5. wnioskowanie z lasso. Lasso może służyć do wnioskowania na temat predyktorów. Najprościej jest go załadować i policzyć, ile razy wybrana jest każda zmienna, podzielić przez liczbę próbek i uzyskać wartości p. P w tym przypadku jest prawdopodobieństwem wyboru zmiennej przez lasso. Nadal możesz uzyskać znaczące efekty interakcji i nieznaczne efekty główne, ale to nie jest problem, może się to zdarzyć również przy normalnym testowaniu hipotez. Świetne podejście do tego tematu znajduje się w Hastie i in. glin. darmowa książka: Statystyczne uczenie się ze sparsity, rozdział 6 http://web.stanford.edu/~hastie/StatLearnSparsity/ Bootstrap można wykonać dla całego zakresu wartości lambda, co da ścieżkę stabilności dla wszystkich zmiennych. Można to rozszerzyć za pomocą metody wyboru stabilności, aby znaleźć zestaw znaczących zmiennych skorygowanych o błąd rodzinny.http://onlinelibrary.wiley.com/doi/10.1111/j.1467-9868.2010.00740.x/abstract Istnieją również inne metody wnioskowania z lasso, które mogą być przydatne. Mianowicie adaptacyjne lasso lub spreparowane lasso. Recenzja z implementacją R znajduje się tutaj DOI: 10.1214 / 15-STS527 lub IMO bardziej dostępne wyjaśnienie w książce Buhlmanm, van de Geer: Statistics for High-Dimensional Data http://www.springer.com/la/book/9783642201912

  6. Inne rzeczy związane z lasso, o których należy pamiętać. O ile wiem grzbiet lub elastyczna siatka ma tendencję do przewyższania lasso. Jeśli istnieje wiedza domena na temat zmiennych, można zastosować lasso grupowe lub rzadkie lasso grupowe, aby zmusić lasso do zachowania lub odrzucenia całej grupy predyktorów zamiast traktowania ich indywidualnie (np. Ścieżki genów, zmienne zmienne czynnikowe). W przypadku danych przestrzennych lub uporządkowanych można zastosować skondensowane lasso. Randomizowane lasso, wprowadzone we wspomnianym powyżej dokumencie dotyczącym wyboru stabilności, ma tendencję do tworzenia rzadszych modeli o takiej samej wydajności jak standardowe lasso.

rep_ho
źródło
1
naprawdę podobało mi się # 3
użytkownik4581,
0

Mam aplikację, w której szczególnie chcę, aby niewielka liczba efektów głównych nie była karana. Niech Y = X.main beta + X.inter beta.inter + eps

a) fit.Y = OLS (X.main, Y). Niech tylda.Y = Y - przewidywanie (dopasowanie.Y, X.main) b) dopasowanie [, j] = OLS (X.main, X.inter [, j]) dla j = 1 ... k. Niech tilde.X.inter [, j] = X.inter [, j] - przewiduj (fit.j, X.main) c) fit = Lasso (tilde.X.inter, tilde.y). Współczynnik efektu głównego jest równy fit.Y - coef (fit) * fit [, 1: dim (X.inter) [2]]. Współczynnik efektu interakcji jest równy coef (dopasowanie)

W krokach aib nie trzeba wykonywać podziału próbki. To działa dla mnie!

Vira
źródło