2014-12-31 227 views
1

我正試圖確定R中來自二項logistic迴歸的預測概率的置信區間。該模型使用lrm(來自包rms)進行估計,以允許在調查時將聚類標準誤差受訪者(每個受訪出現最多3次的數據):來自predict.lrm的預測概率的置信區間

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,但這在predict.lrm時不允許type=fitted

我花了幾個小時在網上搜索如何做到這一點與lrm無濟於事(顯然)。任何人都可以指出我確定這個置信區間的方法嗎?或者,如果lrm模型不可能或困難,是否有另一種方法來估計具有聚類標準誤差的logit,其中置信區間更容易獲得?

+0

在另一個SE網站上關閉更合適。沒有數據的例子,這只是一個統計問題。此外,無論如何,弗蘭克更有可能在CrossValidated.com上看到它比他在這裏更多。 –

+0

我不清楚哪個網站更適合這類問題。問題是關於編程,但肯定涉及stat。 –

+0

@FrankHarrell我正在考慮提供'exp(fit +/- 1.96 * se)/(1+ exp(fit +/- 1.96 * se))'策略,但是在看了'?predict.lrm'後發現有一個你沒有提供的原因。我認爲或許沒有考慮協方差就有問題。正如你所看到的,我沒有理解這些例子。我錯誤地想象到,如果坐在這裏,你可能不會馬上看到它。 –

回答

2

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 
+0

感謝您的幫助 - 像魅力一樣的作品。我有一個後續問題:可以使用類似的策略來確定來自有序邏輯迴歸的預測概率的置信區間(即,落在相對於底部兩個尺度的尺度的前兩類中的一類中的概率) ? – Corn

+0

是的。查看'預測'的'kint'參數。 –