DCA(Decision Curve Analysis)临床决策曲线是一种用于评价诊断模型诊断准确性的方法,在2006年由AndrewVickers博士创建,我们通常判断一个疾病喜欢使用ROC曲线的AUC值来判定模型的准确性,但ROC曲线通常是通过特异度和敏感度来评价,实际临床中我们还应该考虑,假阳性和假阴性对病人带来的影响,因此在DCA曲线中引入了阈概率和净获益的概念。
图片来源文章:Urinary Podocalyxin as a Biomarker to Diagnose Membranous Nephropath主要讲的是利用肾脏标志物uPCXμgg诊断膜性肾病的事。这幅图的横坐标为阈概率,纵坐标为净获益。当uPCXμgg达到某个值时,患者模型肾病的概率记为Pi;当Pi达某个阈值(记为Pt),就界定为阳性。
净获益的概念,净获益是指按此概率开展措施后,因操作而获益的比例+ 未获益的比例权重。决策曲线中净获益的算法如下:(表格来源:临床流行病学和循证医学)
下面我们通过一个具体的四格表来看一下决策曲线分析的基本计算,假设阈值概率为10%,得到如下四格表(表格来源:临床流行病学和循证医学):
按照上面的10%的阈值去判断,我们判断对了23人,我们判断错了10人。这时候我们的净获益=(23/100)- [(10/100)(0.1/0.9)]=0.218。同样我们可以计算当阈值概率为11%时的净获益值,也可以计算12%时的净获益值。依此类推,我们便可以获得阈值概率和净获益值的一一对应关系,还可以将此关系画成一个线图,便是决策曲线。
嗯,以上内容都是抄我上一篇文章的,上一篇我们已经说了怎么使用R语言制作,这篇来讲讲怎么使用stata制作临床决策曲线,继续使用Urinary Podocalyxin as a Biomarker to Diagnose Membranous Nephropath这篇文章自己附带的数据,也好和前面R语言制作的对比一下,stata制作临床决策曲线需要安装两个包,dca包和stdca包,dca包是用来制作logistic回归的临床决策曲线的,stdca包是用来制作cox回归临床决策曲线的
安装命令如下:
ssc install dca 或 ssc install stdca
你要是实在下载不了,可以在这个地址下载(包含有dca包和stdca包)
https://download.csdn.net/download/dege857/19256889
当然白嫖也是可以的
下载好以后把包的文件拷贝在:
C:\ado\plus\d和C:\ado\plus\s的目录下(各拷贝一次)
没有的话可以自己创建一个文件夹
OK,我们安装好包以后先打开stata并且导入文章数据
Stata会把有些大写字母自动转换成小写,影响不大,注意一下就可以了,我们看看数据,数据很多,这些只是其中一部分的数据,但是作者只用到了MN(膜性肾病)age(年龄)+eGFR(肾小球滤过率)+DM(糖尿病)+uPCXμgg(肾脏病标志物)这几个指标,作者制作模型前把年龄和肾小球滤过率都除以10,这里我们也要处理一下
g age1=age/10
g egfr1=egfr/10
生成两个变量后我们就可以开始了。文章作者制作了3个模型uPCX(单用肾脏标志物),clinicalparameters(单用临床指标),all(标志物+临床指标)
我们也和他一样分别制作3个模型,先做第一个模型,mn为结局变量,uPCXμgg为协变量:
logit mn uPCXμgg
绘制临床决策曲线
predict uPCX
dca mn uPCX
OK,这样一个简单的决策模型曲线就做好了,好像比R简单了很多,这就为不懂R的同学多了一种选择。
同理我们制作第二个模型:
logit mn age1 egfr1 dm
predict clinicalparameters
最后一个模型,这里要讲一下,stata变量不能有all这个词,我们改一下变量名,改成quanbu,意思是全部指标的意思
logit mn age1 egfr1 dm uPCXμgg
predict quanbu
最后生成图形就可以了
dca mn uPCX clinicalparameters quanbu
图形和作者文章的一模一样,也和我们使用R语言制作的一模一样,都是同一个大佬制作的当然一样了,但是比R容易上手了许多。
我们还可以对局部细节及标签修改比如:修改间距
我们还可以做出避免干预曲线(Interventions Avoided)(R语言也是可以做的,上次文章没做到)
dca mn uPCX,prob(no) intervention
这个曲线应该很有用,但我看文章很少有用,可能是我看的文章少
这个曲线大概的意思(按照作者原话)是:在 22% 的概率阈值下,干预的净减少约为每 100 名患者 25 次。 换句话说,在这个概率阈值下,根据标记对患者进行活检相当于将活检率降低了 25% 且不会遗漏诊断的策略。这应该是很牛逼的把。
这次就说到这里,还有许多功能留给大家自己探索,下回再说说stata COX回归临床决策曲线和怎么使用临床决策曲线验证外部模型(别人的模型)。
更多文章请关注公众号:零基础说科研