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.
Odpowiedzi:
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
źródło
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.l1 l2
źródło
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:β∗j≠0}∣∣ β∗ |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:β^j≠0} S∗⊆S^ S^⊆S∗ S∗
Zauważ też, że możesz pozostawić niektóre współczynniki niepenalizowane, na przykład wykonując lasso w
glmnet
.źródło