【发布时间】:2018-07-13 00:44:45
【问题描述】:
我使用 Frank Harrell 的 rms package 构建了一个使用 lrm function 的预测模型。
我想比较与另一个 (lrm-) 模型相比,此模型对二项式事件的预测值是否明显更好。
我使用了不同的函数,如 anova(model1, model2) 或 pscl library 的 pR2 function 来比较伪 R^2,但它们都不适用于基于 lrm 的模型。
我最好怎样做才能确定我的新模型是否明显优于旧模型?
更新:这是一个示例(我想预测骨转移的机会),以检查大小或阶段(除了其他变量)是否提供了最佳模型:
library(rms)
getHdata(prostate)
ddd <- datadist(prostate)
options( datadist = "ddd" )
mod1 = lrm(as.factor(bm) ~ age + sz + rx, data=prostate, x=TRUE, y=TRUE)
mod2 = lrm(as.factor(bm) ~ age + stage + rx, data=prostate, x=TRUE, y=TRUE)
【问题讨论】:
-
你没有给出一个例子来尝试,但是 broom::glance(model1) 会给出对数的可能性,你可以比较对数的可能性,看看是否有改进。
-
我错了,broom::glance(model1) 不起作用。
-
我添加了一个例子
-
对于预测模型,我强烈建议拟合训练集并使用测试集来评估性能。否则你可能会过拟合。
-
感谢您的建议,我当然打算这样做。我提供的代码只是一个最小的工作示例。
标签: r predictive model-comparison