В статистике пошаговый отбор — это процедура, которую мы можем использовать для построения регрессионной модели из набора переменных-предикторов путем поэтапного ввода и удаления предикторов в модель до тех пор, пока не исчезнет статистически значимая причина для ввода или удаления.
Целью пошагового отбора является построение регрессионной модели, включающей все переменные-предикторы, которые статистически значимо связаны с переменной отклика .
Один из наиболее часто используемых методов пошагового выбора известен как обратный выбор , который работает следующим образом:
Шаг 1: Подберите модель регрессии, используя все переменные-предикторы p.Рассчитайте значение AIC * для модели.
Шаг 2: Удалите предикторную переменную, которая приводит к наибольшему снижению AIC, а также приводит к статистически значимому снижению AIC по сравнению с моделью со всеми p предикторными переменными.
Шаг 3: Удалите переменную-предиктор, которая приводит к наибольшему снижению AIC, а также приводит к статистически значимому снижению AIC по сравнению с моделью с переменными-предикторами p-1 .
Повторяйте процесс до тех пор, пока удаление какой-либо переменной-предиктора больше не приведет к статистически значимому снижению 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 backward stepwise regression
backward <- step(all, direction='backward', scope= formula (all), trace=0)
#view results of backward stepwise regression
backward$anova
Step Df Deviance Resid. Df Resid. Dev AIC
1 NA NA 21 147.4944 70.89774
2 - cyl 1 0.07987121 22 147.5743 68.91507
3 - vs 1 0.26852280 23 147.8428 66.97324
4 - carb 1 0.68546077 24 148.5283 65.12126
5 - gear 1 1.56497053 25 150.0933 63.45667
6 - drat 1 3.34455117 26 153.4378 62.16190
7 - disp 1 6.62865369 27 160.0665 61.51530
8 - hp 1 9.21946935 28 169.2859 61.30730
#view final model
backward$coefficients
(Intercept) wt qsec am
9.617781 -3.916504 1.225886 2.935837
Вот как интерпретировать результаты:
Во-первых, мы подбираем модель, используя все 10 переменных-предикторов, и вычисляем AIC модели.
Затем мы удалили переменную ( cyl ), которая привела к наибольшему снижению AIC, а также имела статистически значимое снижение AIC по сравнению с моделью с 10 предикторами.
Затем мы удалили переменную ( vs ), которая привела к наибольшему снижению AIC, а также имела статистически значимое снижение AIC по сравнению с моделью с 9 переменными-предикторами.
Затем мы удалили переменную ( углевод ), которая привела к наибольшему снижению AIC, а также имела статистически значимое снижение AIC по сравнению с моделью с 8 переменными-предикторами.
Мы повторяли этот процесс до тех пор, пока удаление какой-либо переменной больше не приводило к статистически значимому снижению AIC.
Окончательная модель получается:
миль на галлон = 9,62 – 3,92*масса + 1,23*qsec + 2,94*am
Примечание по использованию AIC
В предыдущем примере мы решили использовать AIC в качестве метрики для оценки соответствия различных моделей регрессии.
AIC означает информационный критерий Акаике и рассчитывается как:
АИК = 2К – 2 лн (Л)
куда:
- K: Количество параметров модели.
- ln (L) : логарифмическая вероятность модели. Это говорит нам, насколько вероятна модель, учитывая данные.
Однако есть и другие показатели, которые вы можете использовать для оценки соответствия регрессионных моделей, включая ошибку прогнозирования перекрестной проверки, Cp, BIC, AIC или скорректированный R 2 .
К счастью, большинство статистических программ позволяют вам указать, какую метрику вы хотели бы использовать при обратном отборе.
Дополнительные ресурсы
В следующих руководствах представлена дополнительная информация о моделях регрессии:
Введение в прямой выбор
Руководство по мультиколлинеарности и VIF в регрессии
Что считается хорошей ценностью AIC?