Я пытаюсь использовать метод обратного исключения, чтобы получить модель множественной регрессии с четырьмя предикторами:
Вот мои команды:
#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, но я не знаю, есть ли функция, которую я мог бы использовать, где я могу включить аргумент, определяющий, какие критерии я могу использовать, или кто-нибудь знает отличный способ автоматизации этого процесса.