Który jest bardziej dokładny glm lub glmnet?


10

R glm i glmnet używają różnych algorytmów.

Kiedy używam obu, zauważam nietrywialne różnice między oszacowanymi współczynnikami.

Interesuje mnie, kiedy jedna jest bardziej dokładna od drugiej, i czas na rozwiązanie / kompromis.

W szczególności mam na myśli przypadek, w którym ustawia się lambda = 0 w glmnet st, szacuje się to samo, co glm.


1
Pytasz o różnice w wydajności i dokładności, gdy lambda = 0, gdzie te dwa teoretycznie powinny być identyczne. Myślę, że powinieneś dodać to do swojego pytania.
smci

Odpowiedzi:


14

Glmnet służy do regresji elastycznej siatki. Powoduje to karanie wielkości szacowanych współczynników (poprzez połączenie kar L1 i L2). Próbuje wyjaśnić jak najwięcej wariancji danych w modelu, przy zachowaniu niewielkich współczynników modelu. Znalazłem te slajdy pomocne w ich zrozumieniu.

Glm nie używa kary.

Efekt, jak rozumiem, że przy elastycznej siatce możesz zaakceptować pewne odchylenie w zamian za zmniejszenie wariancji estymatora. To, co jest najlepsze, musi zależeć od tego, jak zdefiniujesz „najlepsze” pod względem stronniczości i wariancji. (Np. Wiem, że glmnet ma zalety, gdy masz wiele funkcji w porównaniu do obserwacji)


link wydaje się być zepsuty
ndoogan

link działa teraz
smci

Cóż, po prostu wyjaśniasz, co robi glmnet - ale OP odnosiło się do sytuacji, gdy ustawiłeś lambda = 0 w glmnet, w którym to przypadku wynik powinien w zasadzie zwracać to samo, co (niezapenalizowane) glm (z wyjątkiem niektórych małych liczb różnice związane z metodą cyklicznego dopasowania zejścia współrzędnych stosowaną w glmnet).
Tom Wenseleers,
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.