Обратное исключение в R (Автоматизация процесса) - PullRequest
0 голосов
/ 19 февраля 2020

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

Вот мои команды:

#Packages
library(Stat2Data)
library(mosaic)
library(car)
library(dplyr)

#Load data (this dataset is included in the Stat2Data package)
data("MLBStandings2016")
#Drop Team names, Wins and Losses(I only want quantitative variables)
MLBdata <- MLBStandings2016[c(-3,-4,-1,-2)]

#I begin with a full model(16 predictors) with Winning percentage as the response
full=lm(WinPct~.,data=MLBdata)
summary(full)

#Find the MSE for the full model(I will be using MSE(basically Mallow's Cp) as the criteria for choosing models)
MSE <- ((summary(full))$sigma^2)

#Use the step( ) command for backward elimination
step(full, scale=MSE, direction="backward")

Проблема в том, что обратное исключение Процесс (используя Cp Мэллоу в качестве критерия исключения) останавливается, когда остаются еще восемь предикторов, а это не то, что я хочу.

В качестве альтернативы я попытался использовать значение p отдельных терминов в качестве критерия для исключения предикторов; команды следующие:

#I load a new package
library(olsrr)
#use the ols function to do backward elimination
ols_step_backward_p(full)

У меня все еще есть та же проблема, когда процесс исключения останавливается слишком рано (до того, как осталось только четыре предиктора).

Я думаю, может быть, я следует использовать R ^ 2 ИЛИ прилагать R ^ 2, но я не знаю, есть ли функция, которую я мог бы использовать, где я могу включить аргумент, определяющий, какие критерии я могу использовать, или кто-нибудь знает отличный способ автоматизации этого процесса.

...