В статистике пошаговый отбор — это процедура, которую мы можем использовать для построения регрессионной модели из набора переменных-предикторов путем поэтапного ввода и удаления предикторов в модель до тех пор, пока не исчезнет статистически значимая причина для ввода или удаления.
Целью пошагового отбора является построение регрессионной модели, включающей все переменные-предикторы, которые статистически значимо связаны с переменной отклика .
Один из наиболее часто используемых методов пошагового выбора известен как прямой выбор , который работает следующим образом:
Шаг 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?