Расчет коэффициентов шансов для каждого квинтиля - PullRequest
0 голосов
/ 02 февраля 2019

Я использую модель логистической регрессии.вот мой код и вывод.

f1<-glm(outcome~atsi_yes,data = train_df,family = binomial)

# Printing summary of the model
summary(f1)
summary(f1)$coeff

# We can see that:
#   
#   The intercept= -0.05638043 which corresponds to the log odds for atsi_yes (where atsi_yes = 0) being in positive outcome.
# 
# The coefficient for atsi_yes = 1.20222767 which corresponds to the log of odds ratio between both the instances of atsi_yes (i.e. 1 and 0).

# Calculating The Log Odds
exp(coef(f1))

# Calculating The Log Odds Manually
train_df$outcome <-  as.numeric(train_df$outcome)
o1<-train_df %>%
  group_by(atsi_yes,outcome) %>%
  summarise(freq=n()) %>%
  mutate(all=sum(freq),prob=freq/all,odds=prob/(1-prob),logodds=log(odds)) %>%
  round(.,5)

pander(o1)
# -----------------------------------------------------------------
#   atsi_yes   outcome   freq     all     prob     odds    logodds  
# ---------- --------- ------- ------- -------- -------- ----------
#   0          1      21087   41018   0.5141   1.058    0.05638  
# 
#   0          2      19931   41018   0.4859   0.9452   -0.05638 
# 
#   1          1       572    2371    0.2412   0.318     -1.146  
# 
#   1          2      1799    2371    0.7588   3.145     1.146   
# -----------------------------------------------------------------


logistic.display(f1)


# For profile likelihood intervals for this quantity

library(MASS)
exp(cbind(coef(f1), confint(f1)))  

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

enter image description here

...