Как обучить модель множественной линейной регрессии, чтобы найти лучшую комбинацию переменных? - PullRequest
0 голосов
/ 01 июля 2019

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

Ответы [ 2 ]

3 голосов
/ 01 июля 2019

Пакет glmulti сделает это довольно эффективно:

Автоматический выбор модели и усреднение модели.Предоставляет оболочку для glm и других функций, автоматически генерируя все возможные модели (с учетом ограничений, установленных пользователем) с указанным ответом и пояснительными переменными, и находя лучшие модели с точки зрения некоторого информационного критерия (AIC, AICc или BIC).Может обрабатывать очень большое количество моделей-кандидатов.Имеет генетический алгоритм для поиска лучших моделей, когда исчерпывающий отбор кандидатов невозможен.

Следуют незапрошенные рекомендации:

ОДНАКО. skullskullskull Обратите внимание, что при таком подходе можно найти модель, минимизирующую внутри выборки ошибку (добров соответствии с вашими фактическими данными), у него есть две основные проблемы, которые заставят вас дважды подумать об их использовании.

  • этот тип выбора модели на основе данных будет почти всегда уничтожить вашу способность делать надежные выводы (вычислять p-значения, доверительные интервалы и т. Д.).См. этот перекрестный вопрос .
  • , он может превысить ваши данные (хотя использование критериев информации, перечисленных в описании пакета, поможет в этом)
1 голос
/ 01 июля 2019

Существует несколько различных способов охарактеризовать «лучшую» модель, но AIC является распространенным, и база R предлагает step(), а пакет MASS предлагает stepAIC().

summary(lm1 <- lm(Fertility ~ ., data = swiss))
slm1 <- step(lm1)
summary(slm1)
slm1$anova
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...