簡體   English   中英

如何識別logit GLM中的截止值

[英]How to identify cutoff in a logit GLM

為物流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")

編輯

如下所示,我找到了截止值; 但是,我想進行ROC分析以驗證其特異性和敏感性。 運行此代碼是否足夠?

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

你可以使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM