Co to jest regresja grzbietowa i LASSO?
Regresja grzbietowa (ang. ridge regression) i LASSO (ang. least absolute shrinkage and selection operator) to odmiany regresji wielorakiej z karą za duże współczynniki. Kara celowo ściąga oszacowania w stronę zera. Daje to niewielkie obciążenie, ale mniejszą wariancję i zwykle lepsze przewidywania w nowej próbie. Przydają się, gdy predyktorów jest dużo w stosunku do liczby osób albo są silnie skorelowane.
Czym się różnią
λ to siła kary: przy λ = 0 dostajesz zwykłą metodę najmniejszych kwadratów. Hoerl i Kennard (1970) zaproponowali regresję grzbietową jako odpowiedź na współliniowość. Zmniejsza ona wszystkie współczynniki, ale żadnego nie zeruje. Tibshirani (1996) pokazał, że kara w LASSO część współczynników ustawia dokładnie na zero, więc metoda jednocześnie ściąga i wybiera predyktory. Wartość λ dobiera się zwykle przez walidację krzyżową. Połączenie obu kar to elastic net.
Przykład
Dobrostan 120 osób przewidywano z 20 skorelowanych skal, z których tylko trzy miały realny związek z wynikiem (dane symulowane). Zwykła regresja dała w próbie uczącej R² = .539, ale w nowej próbie 120 osób tylko .415. Regresja grzbietowa podniosła R² w nowej próbie do .430, a LASSO do .480. LASSO zostawiło 5 z 20 predyktorów: trzy prawdziwe i dwa z małymi współczynnikami (−0.139 i −0.029). Regresja grzbietowa zachowała wszystkie, ale np. współczynnik pierwszej skali spadł z 0.633 do 0.475.
Jak opisać w pracy
Na co uważać
- Predyktory muszą mieć wspólną skalę. Kara zależy od jednostek, dlatego zmienne się standaryzuje (glmnet robi to domyślnie).
- To narzędzie do przewidywania, nie do testowania hipotez. Zwykłe wartości p i przedziały ufności nie pasują do ściągniętych współczynników.
- Wybór LASSO bywa niestabilny przy silnie skorelowanych zmiennych: inna próba może zostawić inny predyktor z pary. Nie traktuj go jak dowodu, że pozostałe zmienne nie mają znaczenia.
Kara chroni przed przeuczeniem lepiej niż metoda krokowa. Cały proces budowy modelu opisujemy we wpisie modele predykcyjne.
Ridge i LASSO w R
Kod porównuje zwykłą regresję, regresję grzbietową i LASSO w nowej próbie testowej.
Regresja z karą w pakiecie glmnet
R
library(glmnet)
set.seed(1)
cv_l <- cv.glmnet(X[ucz, ], y[ucz], alpha = 1) # LASSO, lambda z 10-krotnej walidacji krzyżowej
cv_r <- cv.glmnet(X[ucz, ], y[ucz], alpha = 0) # regresja grzbietowa
ols <- lm(y[ucz] ~ X[ucz, ])
r2 <- function(pred) 1 - sum((y[test] - pred)^2) / sum((y[test] - mean(y[test]))^2)
round(c(OLS = r2(cbind(1, X[test, ]) %*% coef(ols)),
ridge = r2(predict(cv_r, X[test, ], s = "lambda.min")),
LASSO = r2(predict(cv_l, X[test, ], s = "lambda.min"))), 3)
b_l <- coef(cv_l, s = "lambda.min")[-1, 1]
round(b_l[b_l != 0], 3)Wynik w R
OLS ridge LASSO
0.415 0.430 0.480
x1 x2 x3 x5 x10
0.550 0.370 0.233 -0.139 -0.029 Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 z pakietem glmnet.
- R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
- glmnet (wersja 5.0): Friedman, J., Hastie, T., & Tibshirani, R. (2010). Regularization paths for generalized linear models via coordinate descent. Journal of Statistical Software, 33(1), 1–22. https://doi.org/10.18637/jss.v033.i01
Najczęstsze pytania
Kiedy wybrać LASSO, a kiedy regresję grzbietową?
LASSO, gdy spodziewasz się, że tylko część predyktorów ma znaczenie, i chcesz prostszego modelu. Ridge, gdy wiele skorelowanych predyktorów wnosi po trochę. Elastic net łączy obie kary.
Czy współczynniki z LASSO mają wartości p?
Nie w zwykłym sensie. Kara obciąża oszacowania, więc klasyczne p i CI z regresji nie mają zastosowania. Oceniaj model błędem przewidywania w nowej próbie.
Co oznacza lambda.min i lambda.1se w glmnet?
lambda.min daje najmniejszy błąd w walidacji krzyżowej. lambda.1se to najsilniejsza kara, przy której błąd mieści się w jednym błędzie standardowym od minimum, więc model jest prostszy.
Powiązane hasła
Poradniki, w których użyjesz tego pojęcia
Modele predykcyjne: walidacja i kalibracja
Liczebność, przeuczenie, walidacja krzyżowa i bootstrap, LASSO i ridge, kalibracja, wynik Briera i TRIPOD+AI – na danych do pobrania, z kodem R.
Czytaj →PoradnikRegresja wieloraka krok po kroku
Model i hipotezy, przygotowanie danych, założenia i diagnostyka, ΔR², interpretacja b, β i sr², kod R, SPSS i opis APA – na jednym przykładzie.
Czytaj →Potrzebujesz wsparcia w analizie danych?
Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.
Wyceń analizęOferta dla studentówBibliografia i dalsza literatura naukowa (APA 7)
- Hoerl, A. E., & Kennard, R. W. (1970). Ridge regression: Biased estimation for nonorthogonal problems. Technometrics, 12(1), 55–67. https://doi.org/10.1080/00401706.1970.10488634
- Tibshirani, R. (1996). Regression shrinkage and selection via the lasso. Journal of the Royal Statistical Society: Series B (Methodological), 58(1), 267–288. https://doi.org/10.1111/j.2517-6161.1996.tb02080.x
Cytowania BibTeX
@article{hoerl1970ridge, author={Hoerl, Arthur E. and Kennard, Robert W.}, title={{Ridge regression: Biased estimation for nonorthogonal problems}}, journal={Technometrics}, year={1970}, volume={12}, number={1}, pages={55--67}, doi={10.1080/00401706.1970.10488634}}@article{tibshirani1996regression, author={Tibshirani, Robert}, title={{Regression shrinkage and selection via the lasso}}, journal={Journal of the Royal Statistical Society: Series B (Methodological)}, year={1996}, volume={58}, number={1}, pages={267--288}, doi={10.1111/j.2517-6161.1996.tb02080.x}}