【问题标题】:How to identify cutoff in a logit GLM如何识别 logit GLM 中的截止值
【发布时间】:2019-04-06 14:54:04
【问题描述】:

为逻辑 GLM 生成一些数据:

set.seed(123)
x1 = rnorm(2000)           
z = 1 + 3*x1 + 3*exp(x1)         
pr = 1/(1+exp(-z))         
y = rbinom(2000,1,pr)

df = data.frame(y=y,x1=x1)

运行模型:

mod <- glm(y ~ x1,data=df,family=binomial(link=logit))

Logit 图:

library(visreg)
library(ggplot2)
visreg(mod, 'x1', scale='response', rug=2, gg=TRUE)+
  theme_bw(18)

我需要计算 x1 的截止值,它定义了 y=1 的 50% 概率。 我想我需要predict 函数:

pred <- predict(mod, type = "response")

编辑

按照below 的建议,我找到了截止点;但是,我想进行 ROC 分析以验证其特异性和敏感性。 运行这段代码就够了吗?

prob=predict(mod,type=c("response"))
df$prob=prob
library(pROC)
g <- roc(y ~ prob, data = df)
plot(g)
g

【问题讨论】:

    标签: r prediction glm roc


    【解决方案1】:

    您可以从MASS 使用dose.p。试试看:

    library(MASS)
    dose.p(mod, p = 0.5)
    #               Dose         SE
    #p = 0.5: -0.8457261 0.02039277
    

    使用predictx1[as.numeric(names(pred[round(pred, 2) == 0.5]))] 提供从x1 接近(最接近的百分之一)截止的点

    [1] -0.8497043 -0.8490611 -0.8445834 -0.8468964 -0.8491746
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-05
      相关资源
      最近更新 更多