临床影响曲线(Clinical Impact Curve, CIC)是一种在临床医学研究和公共健康领域用于评估诊断测试、治疗方案或预测模型在实际临床实践中可能产生的影响的工具。它通过图形方式展示了在不同阈值或决策点下,预期将有多少人被正确或错误地诊断、治疗或分类,从而帮助医生、研究者和决策者理解特定医疗干预措施的潜在影响。
临床影响曲线主要考虑以下两个方面:
1)真阳性率(敏感性)和假阳性率(1-特异性):这些指标衡量了诊断测试或预测模型正确识别患有某种疾病或条件的人(真阳性率)和错误地将健康人标记为患病(假阳性率)的能力。
2)人群中的疾病患病率:这个指标反映了在特定人群中有多少人实际上患有被诊断的疾病或条件。
通过结合这些信息,临床影响曲线可以显示出在不同的预测概率阈值下,预计会有多少人被划分为高风险(可能需要进一步诊断或治疗)或低风险(可能不需要进一步干预)。这有助于医疗专业人员和政策制定者评估不同医疗干预措施的成本效益,以及它们在大规模应用时的潜在影响。
例如,如果某种新的诊断测试对于检测一种罕见疾病具有较高的敏感性,但同时也有较高的假阳性率,那么在应用这种测试时,虽然可以较少地错过真正的病例,但也可能导致大量健康人被错误地诊断为疾病患者。这种情况下,临床影响曲线可以帮助评估在不同阈值下的诊断决策如何平衡这种权衡,从而为实际应用中的决策提供依据。
基于logistic回归
library(rmda) #调用rmda包
#然后导入数据集
simple<- decision_curve(ods ~ com + preo + defi + timem + CD34, data = X7,
family = binomial(link ='logit'), #使用logistic回归来拟合模型
thresholds= seq(0,1, by = 0.01), #代码解读:thresholds横坐标阈概率的范围,一般是0-1, by是指每隔多少距离计算一个数据点
confidence.intervals = 0.95, #95%置信区间
study.design = 'case-control', #研究类型:case-control or cohort
population.prevalence = 0.4) #患病率,根据自身课题进行更改
plot_clinical_impact(simple,
population.size = 1000, #样本量1000
cost.benefit.axis = T, #显示损失-收益坐标轴
n.cost.benefits= 8,
col = c('red','blue'),
confidence.intervals= T)
CIC曲线的X轴是高风险阈值,Y轴是千人风险人数,红色线代表模型预测的发生结局事件的人数,蓝色线代表实际发生的人数;图片下方的成本效益比值与风险阈值是相对应。
以上图为例,在x轴上风险阈值为0.2的地方,用我们构建的临床预测模型预测的发生风险的人数大约在600人,而实际发生风险的人数大概在370人。也就是模型说你发病600,可是实际370,两个数字相差还是很大的。
在x轴上风险阈值为0.6的地方,用我们构建的临床预测模型预测的发生风险的人数大约在380人,而实际发生风险的人数大概在300人,优于0.2阈值。
可以得出结论,即阈值大于0.6后,模型预测和实际发生高度匹配,临床预测有效率高。