czy przeskalować wskaźnik / binarne / obojętne predyktory dla LASSO


30

W przypadku LASSO (i innych procedur wyboru modelu) kluczowe jest przeskalowanie predyktorów. Ogólna rekomendacja śledzę to po prostu użyć 0, 1 średni normalizację standardowego odchylenia dla zmiennych ciągłych. Ale co to ma wspólnego z manekinami?

Np. Niektóre zastosowane przykłady z tej samej (doskonałej) szkoły letniej powiązałem z przeskalowaniem zmiennych ciągłych, aby były między 0 a 1 (choć nie świetne z wartościami odstającymi), prawdopodobnie aby były porównywalne z manekinami. Ale nawet to nie gwarantuje, że współczynniki powinny być tego samego rzędu wielkości, a tym samym ukarane podobnie, główny powód przeskalowania, prawda?


2
Krótka odpowiedź - nie, nie przeskalowuj manekinów
Affine

4
Powiązane z tym
lipiec

@julieth, wielkie dzięki, daj mi znać, jeśli znalazłeś jakieś odpowiedzi od tego czasu.
László

Odpowiedzi:


27

Według Tibshirani ( METODA LASSO DO ZMIENNEGO WYBORU W MODELU COXA, Statistics in Medicine, tom 16, 385-395 (1997) ), który dosłownie napisał książkę o metodach regularyzacji, powinieneś ustandaryzować manekiny. Jednak tracisz bezpośrednią interpretację swoich współczynników. Jeśli tego nie zrobisz, twoje zmienne nie będą równe. Zasadniczo przechylasz skale na korzyść zmiennych ciągłych (najprawdopodobniej). Jeśli więc twoim głównym celem jest wybór modelu, jest to poważny błąd. Jeśli jednak bardziej interesuje Cię interpretacja, być może nie jest to najlepszy pomysł.

Zalecenie znajduje się na stronie 394:

Metoda lasso wymaga wstępnej standaryzacji regresorów, aby schemat kar był sprawiedliwy dla wszystkich regresorów. W przypadku regresorów jakościowych jeden koduje regresor zmiennymi fikcyjnymi, a następnie standaryzuje zmienne fikcyjne. Jednak, jak zauważył sędzia, względne skalowanie między zmiennymi ciągłymi i kategorialnymi w tym schemacie może być nieco arbitralne.


3
czy mógłbyś podać dokładne odniesienie do tego, gdzie Tibshirani sugeruje standaryzację manekinów.
seanv507

@ seanv507 „... koduje się regresory zmiennymi fikcyjnymi, a następnie standaryzuje zmienne fikcyjne ”. Myślę, że objaśnienie rokraty jest poprawne: ogólnie rzecz biorąc , chcesz, aby wszystkie predyktory, w tym manekiny, miały taką samą skalę i wariancję, aby kara była sprawiedliwa.
Robert Kubrick

1
@RobertKubrick Nie zgadzam się. Podstawowym powodem legalizacji jest to, że małe zmiany powinny mieć niewielkie skutki. Idealnym przypadkiem jest to, że wszystkie zmienne mają naturalną skalę fizyczną względem zmiennej zależnej i nie normalizujesz ich. Zazwyczaj nie znamy prawidłowej skali, dlatego uciekamy się do normalizacji. Jednak zmienne kategorialne mają taką naturalną skalę, a mianowicie prawdopodobieństwo, że są one 0 lub 1: Argumentowałbym, że zmienna, która jest przez większość czasu 0, jest mniej ważna niż zmienna, która zmienia się między 0/1. Zamiast tego odpowiedź Jeffa wydaje się właściwa.
seanv507

8

Warto także przeczytać wpis na blogu Andrew Gelmana: Kiedy ujednolicić dane regresji i kiedy zostawić je w spokoju . Ta część jest szczególnie istotna:

W celu porównania współczynników dla różnych predyktorów w obrębie modelu standaryzacja daje ukłon. (Chociaż nie standaryzuję danych binarnych. Koduję je jako 0/1, a następnie standaryzuję wszystkie inne dane liczbowe, dzieląc je przez dwa odchylenia standardowe, dzięki czemu mam mniej więcej taką samą skalę jak zmienne 0/1.)


1
A kiedy mówi „nie standaryzuj danych binarnych” , wydaje się, że ma na myśli jakąkolwiek pojedynczą grupę zmiennych, tj. Jakieś manekiny dla zmiennych kategorialnych?
smci

2
p(1-p)p=0,50,25

x -> x / 2σ

nieważne, wszystko wydaje się wyjaśnione tutaj: stat.columbia.edu/~gelman/research/unpublished/...
Alex

3

To bardziej komentarz, ale za długi. Jednym z najczęściej używanych oprogramowanie dla lasso (i przyjaciół) jest R użytkownika glmnet. Ze strony pomocy wydrukowanej przez ?glmnet:

standaryzuj: Flaga logiczna dla standaryzacji zmiennej x, przed dopasowaniem sekwencji modelu. Współczynniki są zawsze zwracane w oryginalnej skali. Domyślna wartość to „standaryzuj = PRAWDA”. Jeśli zmienne są już w tych samych jednostkach, możesz nie chcieć standaryzować. Zobacz szczegóły poniżej dotyczące standaryzacji y za pomocą „family =” gaussian ”.

X

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.