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


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

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

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

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

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