Наказанная регрессия: среднеквадратическое значение «ребра» больше, чем для простого «лм» - PullRequest
0 голосов
/ 13 февраля 2019

Работа с набором данных "простата" в пакете "ElemStatLearn".


set.seed(3434)

fit.lm = train(data=trainset, lpsa~., method = "lm")
fit.ridge = train(data=trainset, lpsa~., method = "ridge")
fit.lasso = train(data=trainset, lpsa~., method = "lasso")

Сравнение RMSE (для bestTune в случае гребня и лассо)

fit.lm$results[,"RMSE"]
[1] 0.7895572

fit.ridge$results[fit.ridge$results[,"lambda"]==fit.ridge$bestTune$lambda,"RMSE"]
[1] 0.8231873

fit.lasso$results[fit.lasso$results[,"fraction"]==fit.lasso$bestTune$fraction,"RMSE"]
[1] 0.7779534

Сравнение абсолютных значений коэффициентов

abs(round(fit.lm$finalModel$coefficients,2))
(Intercept)   lcavol  lweight  age    lbph    svi     lcp     gleason    pgg45
       0.43   0.58    0.61     0.02   0.14    0.74    0.21    0.03       0.01 

abs(round(predict(fit.ridge$finalModel, type = "coef", mode = "norm")$coefficients[8,],2))
              lcavol    lweight   age    lbph    svi    lcp    gleason    pgg45
              0.49      0.62      0.01   0.14    0.65   0.05   0.00       0.01

abs(round(predict(fit.lasso$finalModel, type = "coef", mode = "norm")$coefficients[8,],2))
              lcavol   lweight   age    lbph    svi    lcp    gleason   pgg45
              0.56     0.61      0.02   0.14    0.72   0.18   0.00      0.01 

Мой вопрос: как RMSE "гребня" может быть выше, чем у простого "lm".Разве это не разрушает саму цель наказанной регрессии против простого «лм»?

Кроме того, как может абсолютное значение коэффициента «веса» быть на самом деле выше в гребне (0,62), чем в лм (0,61)?Оба коэффициента изначально положительны без abs ().

Я ожидал, что гребень будет работать аналогично лассо, что не только уменьшит RMSE, но и уменьшит размер коэффициентов по сравнению с простым "lm".

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...