我有一个连续自变量(假设"高度"(和一个二进制自变量(假设"得到一份工作"(。我想看看身高的临界值最能预测一个人找到工作的能力。我也想看看这个模型有多准确。我假设了一个多项式逻辑模型。我想要一条 ROC 曲线,所以我在 R 中使用了 ROCR 包。这是我的代码:
mymodel <- multinom(job~height, data = dataset)
pred <- predict(mymodel,dataset,type = 'prob')
roc_pred <- prediction(pred,dataset$job)
roc <- performance(roc_pred,"tpr","fpr")
plot(roc,colorize=T)
现在,这是我的问题。当我为绘图着色时,它为我提供了用于制作绘图的截止值范围。不过,我对截止值实际上是什么有点困惑。截止值是高度吗?还是具有一定身高的某个数据点(人(能够找到工作的概率?我有一种感觉是后者,但我对前者感兴趣。如果是后者,如何获取高度的截止值?
我找到了一个视频来解释你看到的截止值:https://www.youtube.com/watch?v=YdNhNfJ4Vl8
有许多不同的方法可以估计最佳临界值:Youden指数,灵敏度+特异性,到角落的距离等等(请参阅本文( 我建议您使用pROC
库来执行此操作
library(pROC)
roc <- roc(fit, obs, percent = TRUE)
roc.out <- coords(roc, "best", ret = c("threshold", "sens", "spec"), transpose = TRUE)
方法 "best" 使用 Younden 指数(J- index( Youden 指数的最大值为 1(完美检验(,当检验没有诊断值时,最小值为 0。当灵敏度=1−特异性时,即在ROC图中由相等的线(对角线(表示时,会出现最小值。相等线与 ROC 曲线之间的垂直距离是该特定截止点的 J 指数。J 指数由 ROC 曲线本身表示。