Что такое прямой отбор? (определение & #038; пример)
В статистике пошаговый отбор — это процедура, которую мы можем использовать для построения модели регрессии из набора переменных-предикторов путем поэтапного ввода и удаления предикторов в модели до тех пор, пока не исчезнет статистически обоснованная причина для ввода. или удалите больше.
Целью пошагового выбора является создание модели регрессии, включающей все переменные-предикторы, которые статистически значимо связаны с переменной ответа .
Один из наиболее часто используемых методов пошагового выбора известен как прямой выбор , который работает следующим образом:
Шаг 1: Подберите модель регрессии только для перехвата без переменных-предикторов. Рассчитайте значение AIC * для модели.
Шаг 2: Подберите все возможные модели регрессии с одним предиктором. Определите модель, которая произвела самый низкий AIC, а также имела статистически значимое снижение AIC по сравнению с моделью только для перехвата.
Шаг 3: Сопоставьте все модели регрессии с двумя возможными предикторами. Определите модель, которая дала самый низкий AIC, а также имела статистически значимое снижение AIC по сравнению с моделью с одним предиктором.
Повторяйте процесс до тех пор, пока установка модели регрессии с большим количеством переменных-предикторов больше не приведет к статистически значимому снижению AIC.
* Существует несколько показателей, которые можно использовать для расчета степени соответствия регрессионной модели, включая ошибку прогнозирования перекрестной проверки, Cp, BIC, AIC или скорректированный R2 . В приведенном ниже примере мы решили использовать 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 ln (L)
Золото:
- K: Количество параметров модели.
- ln (L) : Логарифмическое правдоподобие модели. Это говорит нам о том, насколько вероятно, что модель основана на данных.
Однако существуют и другие показатели, которые вы можете использовать для оценки соответствия регрессионных моделей, включая ошибку прогнозирования перекрестной проверки, Cp, BIC, AIC или скорректированный R2 .
К счастью, большинство статистических программ позволяют вам указать, какой показатель вы хотите использовать при непосредственном выборе.
Дополнительные ресурсы
Следующие руководства предоставляют дополнительную информацию о моделях регрессии:
Руководство по мультиколлинеарности и VIF в регрессии
Что считается хорошим значением AIC?