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


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

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

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

Шаг 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?