1 min read

20230323-logistic regression

前言

看到了一个非常好的统计学教程,来自Dr. 王敏杰

简单实现

模型拟合和预测 Code:

# fitting model
model_logit <- glm(admit ~ gre,
  data = gredata,
  family = binomial(link = "logit")
)

summary(model_logit)


# Coefficient
coef(model_logit)[2]



# prediction

# return log_odds
predict(model_logit)

# return posibility
predict(model_logit, type = "response")

# another approach to returen posibility
fitted(model_logit)

要点

  • 这个模型拟合的结果的是,logit(Pi),也就是log(Odd)
log(\frac{Pi}{1-Pi})
  • 模型系数输出的含义
    • log(odd) scale: 默认predict的结果,模型系数(alpha)表示的含义,x每增加1个单位,log-odd就会增加alpha
    • odd scale: 模型系数(alpha)表示的含义,x每增加1个单位,odd就会增加alpha,如果是疾病,就是患病的概率增加alpha。大于1,表示是危险因素。
    • probability scale: 概率值Pi。这个结果等于exp(pred_log_odds)/(1 + exp(pred_log_odds))

  • predict默认返回的是log_odds(Pi)的结果,如果要用predict返回概率值,需要定义type = ‘response’
  • 或者使用fitted