R

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

我正在从一个模型计算灵敏度和特异性,其中结果是测量值,暴露是真实值。据我了解,我需要使用 delta 方法或引导程序来根据方程获得置信区间(而不是仅在方程中使用

confint

下面是我使用的数据和模型的示例:

# create some fake data 
set.seed(1234)
neighb <- sample(1:2, 1846, replace=TRUE, prob=c(0.6, 0.4))
neighb <- factor(neighb)
ind <- sample(1:2, 1846, replace=TRUE, prob=c(0.65, 0.35))
ind <- factor(ind)
df <- cbind.data.frame(ind, neighb)

mq1 <- glm(neighb ~ ind, data=df, family='binomial')
coef_mq1 <- coef(mq1)

然后计算灵敏度:

m_seq1 <- (1) / (1+ (exp(-(coef_mq1[1]+1*(coef_mq1[2]))))) 
m_seq1

然后使用deltamethod计算置信区间:

library(multcomp)
b0 <- coef_mq1[1]
b1 <- coef_mq1[2]
se <- deltamethod(~((1) / (1+ (exp(-(x1+1*(x2)))))) , c(b1,b0), vcov(mq1))
m_seq1 + 1.96*se
m_seq1 - 1.96*se

我的问题是。这就像将方程式放入

deltamethod
一样简单,还是我在这里遗漏了什么?另外,是否有理由在这种方法上使用引导程序?

如果这个问题属于其他地方,比如交叉验证或重复,我们深表歉意。

logistic-regression confidence-interval
© www.soinside.com 2019 - 2024. All rights reserved.