Corn
Corn

Reputation: 21

Confidence intervals for predicted probabilities from predict.lrm

I am trying to determine confidence intervals for predicted probabilities from a binomial logistic regression in R. The model is estimated using lrm (from the package rms) to allow for clustering standard errors on survey respondents (each respondent appears up to 3 times in the data):

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

I am able to estimate a predicted probability for the outcome using predict.lrm:

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

What I want to determine is a 95% confidence interval for this predicted probability. I have tried specifying se.fit=T, but this not permissible in predict.lrm when type=fitted.

I have spent the last few hours scouring the Internet for how to do this with lrm to no avail (obviously). Can anyone point me toward a method for determining this confidence interval? Alternatively, if it is impossible or difficult with lrm models, is there another way to estimate a logit with clustered standard errors for which confidence intervals would be more easily obtainable?

Upvotes: 2

Views: 2610

Answers (1)

Frank Harrell
Frank Harrell

Reputation: 2230

The help file for predict.lrm has a clear example. Here is a slight modification of it:

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

For some problems you may want to use the gendata or Predict functions, e.g.

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

Upvotes: 4

Related Questions