Что такое прямой отбор? (Определение и пример)


В статистике пошаговый отбор — это процедура, которую мы можем использовать для построения регрессионной модели из набора переменных-предикторов путем поэтапного ввода и удаления предикторов в модель до тех пор, пока не исчезнет статистически значимая причина для ввода или удаления.

Целью пошагового отбора является построение регрессионной модели, включающей все переменные-предикторы, которые статистически значимо связаны с переменной отклика .

Один из наиболее часто используемых методов пошагового выбора известен как прямой выбор , который работает следующим образом:

Шаг 1: Подберите регрессионную модель только для перехвата без переменных-предикторов. Рассчитайте значение AIC * для модели.

Шаг 2: Сопоставьте каждую возможную модель регрессии с одним предиктором. Определите модель, которая произвела самый низкий AIC, а также имела статистически значимое снижение AIC по сравнению с моделью только для перехвата.

Шаг 3: Сопоставьте каждую возможную модель регрессии с двумя предикторами. Определите модель, которая произвела самый низкий AIC, а также имела статистически значимое снижение AIC по сравнению с моделью с одним предиктором.

Повторяйте процесс до тех пор, пока подгонка регрессионной модели с большим количеством переменных-предикторов не перестанет приводить к статистически значимому снижению AIC.

* Существует несколько показателей, которые можно использовать для расчета качества соответствия регрессионной модели, включая ошибку прогнозирования перекрестной проверки, Cp, BIC, AIC или скорректированный R 2.В приведенном ниже примере мы решили использовать AIC.

В следующем примере показано, как выполнить прямой выбор в R.

Пример: Прямой выбор в R

В этом примере мы будем использовать встроенный набор данных mtcars в R:

#view first six rows of *mtcars*head(mtcars)

 mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1

Мы подгоним модель множественной линейной регрессии, используя мили на галлон (мили на галлон) в качестве переменной отклика и все остальные 10 переменных в наборе данных в качестве потенциальных переменных-предикторов.

В следующем коде показано, как выполнить пошаговый выбор вперед:

#define intercept-only model
intercept_only <- lm(mpg ~ 1, data=mtcars)

#define model with all predictors
all <- lm(mpg ~ ., data=mtcars)

#perform forward stepwise regression
forward <- step(intercept_only, direction='forward', scope= formula (all), trace= 0 )

#view results of forward stepwise regression
forward$anova

 Step Df Deviance Resid. Df Resid. Dev AIC
1 NA NA 31 1126.0472 115.94345
2 + wt -1 847.72525 30 278.3219 73.21736
3 + cyl -1 87.14997 29 191.1720 63.19800
4 + hp -1 14.55145 28 176.6205 62.66456

#view final model
forward$coefficients

(Intercept) wt cyl hp 
 38.7517874 -3.1669731 -0.9416168 -0.0180381

Вот как интерпретировать результаты:

Во-первых, мы подгоняем модель только для перехвата. Эта модель имела AIC 115,94345 .

Затем мы подгоняем каждую возможную модель с одним предиктором. Модель, которая произвела самый низкий AIC, а также имела статистически значимое снижение AIC по сравнению с моделью только для перехвата, использовала предиктор wt.Эта модель имела AIC 73,21736 .

Затем мы подгоняем каждую возможную модель с двумя предикторами. Модель, которая давала самый низкий AIC, а также имела статистически значимое снижение AIC по сравнению с моделью с одним предиктором, добавляла предиктор cyl.Эта модель имела AIC 63.19800 .

Затем мы подгоняем каждую возможную модель с тремя предикторами. Модель, которая дала самый низкий AIC, а также имела статистически значимое снижение AIC по сравнению с моделью с двумя предикторами, добавила предиктор hp.Эта модель имела AIC 62,66456 .

Затем мы подгоняем каждую возможную модель с четырьмя предикторами. Выяснилось, что ни одна из этих моделей не приводила к значительному снижению AIC, поэтому мы остановили процедуру.

Таким образом, окончательная модель получается:

миль на галлон = 38,75 - 3,17 * вес - 0,94 * цилиндр - 0,02 * гип

Оказывается, попытка добавить в модель больше переменных-предикторов не приводит к статистически значимому снижению AIC.

Таким образом, мы заключаем, что наилучшей моделью является модель с тремя переменными-предикторами: wt, cyl и hp.

Примечание по использованию AIC

В предыдущем примере мы решили использовать AIC в качестве метрики для оценки соответствия различных моделей регрессии.

AIC означает информационный критерий Акаике и рассчитывается как:

АИК = 2К – 2 лн (Л)

куда:

  • K: количество параметров модели.
  • ln (L) : логарифмическая вероятность модели. Это говорит нам, насколько вероятна модель, учитывая данные.

Однако есть и другие показатели, которые вы можете использовать для оценки соответствия регрессионных моделей, включая ошибку прогнозирования перекрестной проверки, Cp, BIC, AIC или скорректированный R 2 .

К счастью, большинство статистических программ позволяет вам указать, какую метрику вы хотели бы использовать при выполнении прямого выбора.

Дополнительные ресурсы

В следующих руководствах представлена дополнительная информация о моделях регрессии:

Руководство по мультиколлинеарности и VIF в регрессии
Что считается хорошей ценностью AIC?

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.