Stabilność modelu w przypadku dużego problemu , małego

22

Wprowadzenie:

Mam zestaw danych z klasycznym „dużym problemem p, małym n”. Liczba dostępnych próbek n = 150, a liczba możliwych predyktorów p = 400. Wynik jest zmienną ciągłą.

Chcę znaleźć najważniejsze „deskryptory”, tj. Te, które są najlepszymi kandydatami do wyjaśnienia wyniku i pomocy w zbudowaniu teorii.

Po badaniach na ten temat odkryłem, że LASSO i elastyczna siatka są powszechnie stosowane w przypadku dużych p, małych n. Niektóre z moich predyktorów są wysoce skorelowane i chcę zachować ich zgrupowania w ocenie ważności, dlatego zdecydowałem się na elastyczną sieć . Przypuszczam, że mogę użyć bezwzględnych wartości współczynników regresji jako miary ważności (popraw mnie, jeśli się mylę; mój zestaw danych jest znormalizowany).

Problem:

Ponieważ moja liczba próbek jest niewielka, jak mogę uzyskać stabilny model?

Moje obecne podejście polega na znalezieniu najlepszych parametrów dostrajania (lambda i alfa) w wyszukiwaniu siatki w 90% zbioru danych z 10-krotnym uśrednianiem wyników MSE w ramach krzyżowej weryfikacji. Następnie trenuję model z najlepszymi parametrami dostrajania na całym 90% zbioru danych. Jestem w stanie ocenić mój model za pomocą R podniesionego do kwadratu na wstrzymaniu 10% zbioru danych (co stanowi tylko 15 próbek).

Powtarzając tę ​​procedurę, znalazłem dużą wariancję ocen kwadratowych R. Również liczba niezerowanych predyktorów jest różna, a także ich współczynniki.

Jak mogę uzyskać bardziej stabilną ocenę znaczenia predyktorów i bardziej stabilną ocenę wydajności modelu końcowego?

Czy mogę wielokrotnie uruchamiać procedurę, aby utworzyć wiele modeli, a następnie średnie współczynniki regresji? Czy powinienem użyć liczby wystąpień predyktora w modelach jako jego oceny ważności?

Obecnie mam około 40-50 niezerowanych predyktorów. Czy powinienem mocniej karać liczbę predyktorów, aby uzyskać lepszą stabilność?

dimi
źródło
1
Może regresja uregulowana to po prostu za mało? Czy wypróbowałeś jakieś podejście do uczenia maszynowego?
jakie podejścia ML odpowiednie dla ciągłej lub porządkowej zmiennej zależnej sugerujesz?
dimi
2
Losowy las, SVR ... Aby wybrać funkcję, możesz wypróbować jakąś odpowiednią metodę (powinna być bardziej stabilna), taką jak ACE lub Boruta.

Odpowiedzi:

11

Rzadkie algorytmy nie są stabilne: twierdzenie o braku obiadu

Myślę, że tytuł wiele mówi, jak zauważyłeś.

[...] rzadki algorytm może mieć nietypowe optymalne rozwiązania i dlatego jest źle wykorzystany

Sprawdź losowe lasso i wykład Petera Buhlmanna .

Aktualizacja:

Uważam, że ten artykuł jest łatwiejszy do naśladowania niż artykuł Meinshausena i Buhlmanna zatytułowany „Wybór stabilności”.

W „ Random Lasso ” autorzy rozważają dwie ważne wady lasso dla dużych , małych n problemów, to znaczy:pn

  1. W przypadku, gdy istnieje kilka skorelowanych zmiennych, lasso wybiera tylko jedną lub kilka, co prowadzi do niestabilności, o której mówisz
  2. n

Główny pomysł na losowe lasso, który jest w stanie poradzić sobie z obydwoma wadami lasso, jest następujący

n

Próbki Bootstrap są rysowane w celu symulacji wielu zestawów danych. Ostateczne współczynniki uzyskuje się przez uśrednienie wyników każdej próbki bootstrap.

Byłoby wspaniale, gdyby ktoś mógł rozwinąć i wyjaśnić ten algorytm w odpowiedziach.

Pardis
źródło
1
Ładne linki (+1).
jbowman
Dziękuję za uwagi. Rozważyłem również losowe lasso, ale czy pasowałoby to w przypadku kolinearności ?
dimi
2
Co dzieje się przy przybliżonej kolinearności między zmiennymi objaśniającymi? W konwencjonalnym algorytmie wyszukiwania do przodu w analizie regresji często mamy do czynienia z sytuacją, w której dwie zmienne x1 i x2 mają podobną moc wyjaśniającą. Jeśli x1 jest w modelu, nie ma potrzeby dołączania x2; i odwrotnie, jeśli x2 jest w modelu, nie ma potrzeby dołączania x1. Jeśli dobrze zrozumiem twoją procedurę, będziesz skłonny uwzględnić x1 połowę czasu i x2 połowę czasu, co prowadzi do prawdopodobieństwa stabilności o około 50% każdy. Jeśli tak, możesz fałszywie stwierdzić, że żadna zmienna nie jest potrzebna.
dimi
Wyobrażam sobie, że podobnie mogę w tym przypadku użyć losowej elastycznej siatki.
dimi
Dodałem kolejny link, który moim zdaniem lepiej odpowiada na twoje pytanie.
Pardis,
6

Moje obecne podejście polega na znalezieniu najlepszych parametrów dostrajania (lambda i alfa) w wyszukiwaniu siatki w 90% zbioru danych z 10-krotnym uśrednianiem wyników MSE w ramach krzyżowej weryfikacji. Następnie trenuję model z najlepszymi parametrami dostrajania na całym 90% zbioru danych. Jestem w stanie ocenić mój model za pomocą R podniesionego do kwadratu na wstrzymaniu 10% zbioru danych (co stanowi tylko 15 próbek).

Jak stabilne są parametry strojenia?

Czy widzisz duże różnice między dobrością dopasowania (np. MSE z optymalizacją krzyżową optymalnego parametru) a 10% niezależnym testem?

Byłby to objaw nadmiernego dopasowania:

M.S.mi=fa(solrjarepzarzammitmirs)M.S.mi=fa(solrjarepzarzammitmirs)

Czy mogę wielokrotnie uruchamiać procedurę, aby utworzyć wiele modeli, a następnie średnie współczynniki regresji? Czy powinienem użyć liczby wystąpień predyktora w modelach jako jego oceny ważności?

Istnieje kilka możliwości budowy takich agregowanych modeli:

  • modele liniowe można uśrednić, uśredniając współczynniki
  • mm

Wyszukiwane hasła to „modele zagregowane”, „agregacja bootstrapu”, „workowanie”.

Myśl poboczna: niektóre typy danych miały oczekiwaną i możliwą do interpretacji kolinearność, która może powodować „przeskakiwanie” selekcji zmiennych między mniej więcej równymi rozwiązaniami.

cbeleites obsługuje Monikę
źródło
3

Nie ma z tego wyjścia. Jak niektórzy powiedzieli, modele są z natury niestabilne (w przeciwnym razie statystyki nie byłyby potrzebne).

Ale sama niestabilność przynosi informacje. Zamiast próbować się go pozbyć, próbowałem to przeanalizować.

Przeprowadzam symulacje krzyżowe wiele razy, a następnie uzyskuję współczynniki dla najlepszych wybranych parametrów w każdym przebiegu i zestawiam je razem.

λα

Następnie wyodrębniam współczynniki regresji dla każdej pary parametrów, co daje mi rozkład wartości dla każdego parametru. W ten sposób mogę użyć wartości średniej / mediany do opisania siły predyktora i jej odchylenia standardowego / IQR do opisania jego zmienności, to znaczy jej stabilności.

Bardzo stabilny predyktor oznacza, że ​​można oczekiwać, że jego efekt będzie podobny również w przypadku nowych danych; predyktor, który jest niestabilny nawet w twoich danych, prawdopodobnie byłby bardzo niestabilny nawet w przypadku nowych danych.

Bakaburg
źródło