Typowe procedury wyboru zmiennych oparte na danych (na przykład do przodu, do tyłu, krokowo, wszystkie podzbiory) mają tendencję do uzyskiwania modeli o niepożądanych właściwościach, w tym:
- Współczynniki odchylone od zera.
- Błędy standardowe, które są zbyt małe, a przedziały ufności, które są zbyt wąskie.
- Testuj statystyki i wartości p, które nie mają reklamowanego znaczenia.
- Szacunki dotyczące dopasowania modelu są zbyt optymistyczne.
- Zawarte terminy, które mogą być bez znaczenia (np. Wykluczenie terminów niższego rzędu).
Utrzymują się jednak różne procedury selekcji. Biorąc pod uwagę problemy z wyborem zmiennych, dlaczego te procedury są konieczne? Co motywuje ich użycie?
Kilka propozycji rozpoczęcia dyskusji ....
- Pragnienie interpretowalnych współczynników regresji? (Nieudany w modelu z wieloma IV?)
- Wyeliminować wariancję wprowadzoną przez zmienne nieistotne?
- Wyeliminować niepotrzebne kowariancje / zwolnienia wśród zmiennych niezależnych?
- Zmniejsz liczbę oszacowań parametrów (problemy z mocą, wielkość próby)
Czy są jeszcze inni? Czy problemy rozwiązane przez techniki selekcji zmiennych są mniej lub bardziej ważne niż problemy wprowadzane przez procedury selekcji zmiennych? Kiedy należy ich używać? Kiedy nie należy ich używać?
modeling
feature-selection
Brett
źródło
źródło
Odpowiedzi:
Wybór zmiennych (bez kary) tylko pogarsza sytuację. Wybór zmiennych prawie nie ma szans na znalezienie „właściwych” zmiennych, co powoduje duże zawyżenie efektów pozostałych zmiennych i ogromne zaniżenie standardowych błędów. Błędem jest sądzić, że selekcja zmiennych w zwykły sposób pomaga obejść problem „dużego p małego n”. Najważniejsze jest to, że ostateczny model wprowadza w błąd pod każdym względem. Jest to związane ze zdumiewającym stwierdzeniem, które przeczytałem w artykule epidemiologicznym: „Nie mieliśmy wystarczającej wielkości próby, aby opracować model wielowymiarowy, więc zamiast tego przeprowadziliśmy wszystkie możliwe testy dla tabel 2x2”.
Za każdym razem, gdy dany zestaw danych jest wykorzystywany do eliminacji zmiennych, przy podejmowaniu decyzji za pomocą Y, wszystkie wielkości statystyczne zostaną zniekształcone. Typowy wybór zmiennych to miraż.
Edycja : (Kopiowanie komentarzy od dołu ukrytych przez fold)
Nie chcę być samolubna, ale moja książka Strategie modelowania regresji zagłębia się w to dogłębnie. Materiały online, w tym materiały informacyjne, można znaleźć na mojej stronie internetowej . Niektóre dostępne metody to penalizacja (regresja kalenicy), penalizacja L 1 (lasso) i tak zwana elastyczna siatka (połączenie L 1 i L 2 ). Lub użyj redukcji danych (ślepa na odpowiedź Y ) przed wykonaniem regresji. Moja książka poświęca na to więcej miejsca niż kary.L.2) L.1 L.1 L.2) Y
źródło
Po pierwsze, wady, o których wspomniałeś, to skutki niewłaściwego wyboru funkcji , tj. Przeładowanie, niedokończenie lub przeregulowanie.
Wszystkie odpowiednie poziomy dają wgląd w to, co naprawdę napędza dany proces, więc mają wartość objaśniającą. Minimalny poziom optymalny (zgodnie z projektem) daje możliwie niedopasowany model pracujący na możliwie jak najmniej uporządkowanych danych.
Prawdziwi FS chcą po prostu osiągnąć jeden z tych celów (zwykle ten drugi).
źródło
Wybór zmiennych jest konieczny, ponieważ większość modeli nie radzi sobie dobrze z dużą liczbą nieistotnych zmiennych. Te zmienne wprowadzą tylko szum do twojego modelu lub, co gorsza, spowodują nadmierne dopasowanie. Dobrym pomysłem jest wykluczenie tych zmiennych z analizy.
Co więcej, nie można uwzględnić wszystkich zmiennych, które istnieją w każdej analizie, ponieważ istnieje nieskończona ich liczba. W pewnym momencie musisz narysować linię i dobrze jest to zrobić w sposób rygorystyczny. Stąd cała dyskusja na temat wyboru zmiennych.
Większość problemów z wyborem zmiennych można rozwiązać przez walidację krzyżową lub za pomocą modelu z wbudowaną penalizacją i wyborem funkcji (np. Elastyczna siatka dla modeli liniowych).
Jeśli interesują Cię niektóre wyniki empiryczne związane z wieloma zmiennymi powodującymi nadmierne dopasowanie, sprawdź wyniki konkursu „ Nie przepełniaj” na Kaggle.
źródło