Jak uzasadnione jest wybranie w modelu LASSO, aby uzyskać liczbę niezerowych predyktorów, jakich pragnie?

11

Kiedy określam swoją lambda poprzez walidację krzyżową, wszystkie współczynniki stają się zerowe. Mam jednak pewne wskazówki z literatury, że niektóre z predyktorów powinny zdecydowanie wpłynąć na wynik. Czy śmieci to arbitralne wybranie lambda, aby było tak wiele rzadkości, jak się chce?

Chcę wybrać 10 najlepszych predyktorów spośród 135 dla modelu Coxa, a rozmiary efektów niestety są małe.

miura
źródło
6
Wygląda na to, że powinieneś używać informacyjnego przeora, ponieważ masz informacje nieoparte na danych.
probabilityislogic
W głębi duszy wydaje mi się, że byłoby to poprawne, niestety kompletnie brakuje mi zdolności statystycznych, by nawet teraz zacząć to robić.
miura
1
Wygląda na to, że mylisz dwie różne rzeczy: (1) Jeśli literatura mówi ci, aby używać określonych predyktorów, włącz je do wszystkich modeli. (2) Zamiast tego wydaje się, że interpretujesz to jako wskazanie, że powinieneś wybrać pewną liczbę spośród wielu predyktorów, niezależnie od tego, czy obejmują one te określone w literaturze. Czy możesz wyjaśnić, co tak naprawdę próbujesz osiągnąć?
whuber

Odpowiedzi:

4

Jeśli chcesz mieć co najmniej określoną liczbę predyktorów z pewnym zakresem wartości określonych w literaturze, po co wybierać podejście oparte na czystym LASSO? Jak sugeruje @probabilityislogic, powinieneś używać informacyjnego priory dla tych zmiennych, o których wiesz trochę. Jeśli chcesz zachować niektóre właściwości LASSO dla pozostałych predyktorów, być może możesz użyć wcześniejszego z podwójnym rozkładem wykładniczym dla siebie, tj. gęstości w postaci gdzie

p(βi)=λ2exp(λ|βi|),
λto mnożnik lagrange'a odpowiadający rozwiązaniu czysto LASSO. To ostatnie stwierdzenie wynika z faktu, że w nieobecności zmiennych z pouczającymi priorytetami jest to kolejny sposób wyprowadzenia LASSO (poprzez maksymalizację trybu tylnego przy założeniu normalności dla reszt).
Néstor
źródło
3

Istnieje dobry sposób na wykonanie LASSO, ale użycie stałej liczby predyktorów. Jest to regresja najmniejszego kąta (LAR lub LARS) opisana w pracy Efrona. Podczas procedury iteracyjnej tworzy szereg modeli liniowych, każdy nowy ma jeszcze jeden predyktor, dzięki czemu można wybrać jeden z pożądaną liczbą predyktorów.

Innym sposobem jest lub . Jak wspomniał Nestor, stosując odpowiednie priory, możesz włączyć wcześniejszą wiedzę do modelu. Przydatna może być tak zwana maszyna wektorowa istotności firmy Tipping.l1l2

Aleksiej Zajcew
źródło
3
Chociaż LARS i lasso są ściśle powiązane, dla stałej liczby predyktorów mogą nawet nie zawierać tych samych zmiennych. Można wybrać się wartość kara za lasso, który daje żądaną liczbę czynników predykcyjnych, ale wybór w żadnym przypadku nie będzie wyjątkowy! W związku z tym PO nie zapewnił jeszcze dobrze zdefiniowanej procedury, która stanowi część problemu. Dla LARS jest dobra korzyść, że wartości kary dające pewną liczbę predyktorów tworzą przedział, więc wybranie punktu końcowego (który?) Lub środkowego lub innego kryterium jest nieco łatwiejsze.
kardynał
1
Tak, to prawda, że ​​LARS i LASSO nie są identyczne, ale można wprowadzić prostą modyfikację LARS sugerowaną przez autorów w oryginalnym artykule, aby uzyskać rozwiązania LASSO z wykorzystaniem techniki opartej na LARS.
Aleksiej
Tak, Alexey, to prawda. Wydaje mi się, że mój komentarz dotyczy przede wszystkim tego, dlaczego przeniósł się do LARS. Zwykle równie łatwo można wybrać wartość parametru kary dla lasso, która daje pożądaną liczbę predyktorów. Najważniejszym punktem, który pozostaje bez odpowiedzi, jest sposób dokonywania unikalnego wyboru i konsekwencje, jakie mogą mieć w przypadku PO. :)
kardynał
2

Nie, tego nie da się obronić. Ogromną przeszkodą, którą mają pokonać procedury wyboru modelu, jest to, że liczebność prawdziwego wsparciajest nieznany. (Mamy tutaj, że to „prawdziwy” współczynnik.) Ponieważnie jest znana, to procedura wyboru modelu musi wyczerpująco przeszukiwać wszystkie możliwych modeli; jednak gdybyśmy wiedzieli, moglibyśmy po prostu sprawdzić modele , co jest znacznie mniejsze.|S|=|{j:βj0}|β|S|2p|S|(p|S|)

Teoria lasso polega na tym, że parametr regularyzacji jest wystarczająco duży, aby wybrany model był wystarczająco rzadki. Może być tak, że twoich 10 funkcji jest za dużo lub za mało, ponieważ nie jest trywialne przekształcenie dolnej granicy w górną granicę.λλ|S|

Niech będzie naszym szacunkiem opartym na danych dla , i . Być może więc starasz się upewnić, że , aby odzyskać przynajmniej odpowiednie funkcje? A może próbujesz ustalić, że , abyś wiedział, że wszystkie znalezione funkcje są warte zachodu? W takich przypadkach procedura byłaby bardziej uzasadniona, gdybyś miał wcześniejsze informacje o względnych rozmiarach .β^βS^={j:β^j0}SS^S^SS

Zauważ też, że możesz pozostawić niektóre współczynniki niepenalizowane, na przykład wykonując lasso w glmnet.

użytkownik795305
źródło