Полный вопрос (с> 150 символами):
Как обрабатывать значения предикторов, соответствующие p = 0,25,0.50,0,75 уровням вероятности в случае возможных многоуровневых (категориальных) переменных предиктора в логистической регрессии в R?
В случае непрерывных переменных предикторов получить значения предикторов, соответствующие p = 0,25,0.50,0,75 уровням вероятности в логистической регрессии, легко.Посмотрите:
df <- data.frame(hour=c(0.50,0.75,1.00,1.25,1.50,1.75,1.75,2.00,2.25,2.50,2.75,3.00,3.25,3.50,4.00,4.25,4.50,4.75,5.00,5.50), pass=c(0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1))
df
df$pass <- as.factor(df$pass)
my_fit <- glm(df$pass ~ df$hour, data=df, na.action=na.exclude, family="binomial")
summary(my_fit)
my_table <- summary(my_fit)
my_table$coefficients[,1] <- invlogit(coef(my_fit))
my_table
plot(df$hour, df$pass, xlab="x", ylab="logit values")
LinearPredictions <- predict(my_fit); LinearPredictions
EstimatedProbability.hat <- exp(LinearPredictions)/(1 + exp(LinearPredictions))
EstimatedProbability.hat
EstimatedProbability <- c(0.25, 0.50, 0.75) # Estimated probabilities for which their x levels are wanted to be found
HoursStudied <- (log(EstimatedProbability/(1- EstimatedProbability)) - my_fit$coefficients[1])/ my_fit$coefficients[2]
HoursStudied.summary <- data.frame(EstimatedProbability, HoursStudied)
HoursStudied.summary
EstimatedProbability HoursStudied
#1 0.25 1.979936
#2 0.50 2.710083
#3 0.75 3.440230
Итак, на графике логистической регрессии добавляются y = 0,25, y = 0,50, y = 0,75 горизонтальных линий и x = 1,97, x = 2,71, x = 344 вертикальных линии.
Но как можно добавить y = 0,25, y = 0,50, y = 0,75 горизонтальных линий и их соответствующие вертикальные линии на графике логистической регрессии (через plot
или ggplot
), когда переменная предиктора является факторной переменной, возможнос более чем 2 уровнями?Или это совершенно нелогично?