【问题标题】:Confidence intervals for predicted probabilities from predict.lrmpredict.lrm 中预测概率的置信区间
【发布时间】:2014-12-31 21:07:17
【问题描述】:

我正在尝试从 R 中的二项式逻辑回归确定预测概率的置信区间。该模型是使用 lrm(来自包 rms)估计的,以允许对调查受访者进行聚类标准误差(每个受访者出现数据中最多 3 次):

library(rms)
model1<-lrm(outcome~var1+var2+var3,data=mydata,x=T,y=T,se.fit=T)
model.rob<-robcov(model1,cluster=respondent.id)

我可以使用predict.lrm 估计结果的预测概率:

predicted.prob<-predict(model.rob,newdata=data.frame(var1=1,var2=.33,var3=.5),
type="fitted")

我想要确定的是这个预测概率的 95% 置信区间。我已经尝试指定se.fit=T,但是当type=fitted 时,这在predict.lrm 中是不允许的。

过去几个小时我一直在互联网上搜索如何使用lrm 进行此操作,但无济于事(显然)。谁能指出我确定这个置信区间的方法?或者,如果 lrm 模型不可能或很难,是否有另一种方法来估计具有聚类标准误差的 logit,其置信区间更容易获得?

【问题讨论】:

  • 在另一个 SE 站点上更合适地关闭。如果没有数据示例,这只是一个统计问题。此外,无论如何,弗兰克在 CrossValidated.com 上看到它的可能性比他在这儿的可能性更大。
  • 我不清楚哪个网站更适合此类问题。问题是关于编程的,但肯定涉及到统计数据。
  • @FrankHarrell 我正在考虑提供exp(fit +/- 1.96*se)/(1+ exp(fit +/- 1.96*se) ) 策略,但在查看?predict.lrm 后发现您没有提供该策略是有原因的。我认为可能存在不考虑协方差的问题。如您所见,我没有仔细阅读这些示例。我错误地认为,如果它坐在这里,你可能不会马上看到它。

标签: r rms


【解决方案1】:

predict.lrm 的帮助文件有一个清晰的示例。这里稍微修改一下:

L <- predict(fit, newdata=data.frame(...), se.fit=TRUE)
plogis(with(L, linear.predictors + 1.96*cbind(- se.fit, se.fit)))

对于某些问题,您可能需要使用gendataPredict 函数,例如

L <- predict(fit, gendata(fit, var1=1), se.fit=TRUE)  # leave other vars at median/mode
Predict(fit, var1=1:2, var2=3)   # leave other vars at median/mode; gives CLs

【讨论】:

  • 感谢您的帮助 - 就像一个魅力。我有一个后续问题:是否可以使用类似的策略来确定来自有序逻辑回归的预测概率的置信区间(即,落在量表的前两个类别之一而不是后两个类别中的概率) ?
  • 是的。请参阅 kintPredict 的参数。
猜你喜欢
  • 2015-07-12
  • 2018-05-05
  • 2020-01-03
  • 2013-08-31
  • 1970-01-01
  • 2016-06-28
  • 2021-01-22
  • 2021-01-22
  • 2013-07-07
相关资源
最近更新 更多