在 R 中为模拟数据绘制 ROC 时应该考虑什么?

问题描述 投票:0回答:0

我模拟了一个数据并绘制了一些二元逻辑广义加性模型(gam)。 现在我想通过 ROC 曲线找出它们中哪些是最好的。

但我不确定是否应该使用相同的模拟数据集来绘制 ROC。因为使用相同的数据集会导致bias.

我应该split数据集并计算该数据集的预测响应然后绘制ROC吗?对于这种情况,这是正确的过程吗?如果是这样,那么拆分模拟数据集需要考虑什么?

非常感谢任何帮助。

我的模拟数据的示例 R 代码:

library(mgcv,nlme)
set.seed(1)
x1= rnorm(100)
x2= rnorm(100)
x3= rnorm(100)
x4= rnorm(100)
x5= rnorm(100)
Lpred= x1^3 + 2*cos(x2) + exp(pi*x4) + 0.8*sin(pi*x5)
prob= exp(Lpred)/(1+exp(Lpred))

y=rbinom(100,1,prob)

Model1=gam(y~s(x1,bs="cr",k=5)+s(x2,bs="cr")+
s(x3,bs="cr")+s(x4,bs="cr")+
s(x5,bs="cr"), family=binomial, method="REML")

Model2=gam(y~s(x1,bs="cr")+s(x2,bs="cr")+(x3,bs="cr"), family=binomial, method="REML")


Model3=gam(y~s(x1,bs="cr"),family=binomial, method="REML")
validation split simulation roc mgcv
© www.soinside.com 2019 - 2024. All rights reserved.