Zrozumienie wyników regresji kalenicy

9

Jestem nowy w regresji grzbietu. Kiedy zastosowałem liniową regresję kalenicy, otrzymałem następujące wyniki:

>myridge = lm.ridge(y ~ ma + sa + lka + cb  + ltb , temp, lamda = seq(0,0.1,0.001))
> select(myridge)
modified HKB estimator is 0.5010689 
modified L-W estimator is 0.3718668 
smallest value of GCV  at 0 

Pytania:

  • Czy można uzyskać zero GCV?
  • Co to dokładnie znaczy?
  • Czy jest problem z moim modelem?
  • Jak mogę znaleźć wartość ?R2myridge
samarasa
źródło
Zmień lamda na lambda. Myślę, że podana sekwencja została zignorowana.

Odpowiedzi:

20

Lepiej może być z pakietem karnym lub pakietem glmnet ; zarówno implementują lasso, jak i elastyczną sieć, dzięki czemu łączą właściwości lasso (wybór cech) i regresji kalenicy (obsługa zmiennych współliniowych). ukarany również grań. Te dwa pakiety są o wiele pełniej dostępne niż lm.ridge()w pakiecie MASS .

W każdym razie oznacza zerową karę, stąd oszacowania najmniejszych kwadratów są optymalne w tym sensie, że miały najniższy wynik GCV (uogólniona walidacja krzyżowa). Być może jednak nie dopuściłeś wystarczająco dużej kary; innymi słowy, szacunki najmniejszych kwadratów były optymalne dla małego zestawu wartości , które oglądałeś. Narysuj ścieżkę kalenicową (wartości współczynników w funkcji i sprawdź, czy ślady ustabilizowały się, czy nie. Jeśli nie, zwiększ zakres ocenianych wartości .λ=0λλλ

Gavin Simpson
źródło
5

Powodem, dla którego otrzymujesz 0 GCV, jest to, że użyłeś:

myridge = lm.ridge (y ~ ma + sa + lka + cb + ltb, temp, lamda = seq (0,0,1,0,001))

zamiast

myridge = lm.ridge (y ~ ma + sa + lka + cb + ltb, temp, lambda = seq (0,0,1,0,001))

Prashanth
źródło