Вибачте, якщо це питання стикається з невеликим принципом.
Я хочу використовувати вибір змінної LASSO для множинної лінійної регресійної моделі в Р. У мене є 15 предикторів, один з яких є категоричним (це спричинить проблему?). Після встановлення і я використовую такі команди:у
model = lars(x, y)
coef(model)
Моя проблема, коли я використовую coef(model)
. Це повертає матрицю з 15 рядками, кожен раз додаючи один додатковий предиктор. Однак немає пропозицій щодо того, яку модель вибрати. Я щось пропустив? Чи є спосіб, коли я можу отримати пакет lars повернути лише одну " найкращу " модель?
Є й інші повідомлення, які пропонують використовувати glmnet
замість цього, але це здається складнішим. Спроба полягає в наступному, використовуючи ті ж і . Я щось тут пропустив ?: у
cv = cv.glmnet(x, y)
model = glmnet(x, y, type.gaussian="covariance", lambda=cv$lambda.min)
predict(model, type="coefficients")
Остаточна команда повертає список моїх змінних, більшість з коефіцієнтом, хоча деякі з них = 0. Це правильний вибір " найкращої " моделі, обраної LASSO? Якщо я підходити до лінійної моделі з усіма своїми змінними, які мали коефіцієнти, not=0
я отримую дуже схожі, але дещо інші оцінки коефіцієнтів. Чи є причина цієї різниці? Чи було б прийнятним переглянути лінійну модель за допомогою цих змінних, обраних LASSO, і прийняти це як мою остаточну модель? Інакше я не бачу жодних p-значень за значимістю. Я щось пропустив?
Чи
type.gaussian="covariance"
переконайтеся, що для цього glmnet
використовується безліч лінійних регресій?
Чи впливає автоматична нормалізація змінних взагалі на коефіцієнти? Чи є спосіб включити терміни взаємодії в процедуру LASSO?
Я хочу використовувати цю процедуру більше як демонстрацію того, як можна використовувати LASSO, ніж для будь-якої моделі, яка фактично буде використовуватися для будь-якого важливого висновку / прогнозування, якщо це щось змінить.
Дякую, що знайшли час, щоб прочитати це. Будь-які загальні коментарі щодо LASSO / lars / glmnet також будуть дуже вдячні.