关键词:Stata; 诊断试验; 具有协变量的ROC曲线分析
有序logistic回归模型的基本思想是将试验的有序结果(Y=1,2,3,…g)认为是由一个连续型变量经过多个分组后所得,在此基础上通过有序logistic回归模型绘制ROC曲线。参数估计时将诊断结果变量Y作为因变量,将“金标准”判断结果变量D和协变量X及交互项作为自变量,进行有序logistic回归,得到相应的参数结果。
一、案例简述
某课题组欲评价通过X线诊断纵隔淋巴结肿大的准确度。收集某医院放射科医生通过X线采用5分类(分别为“--”、“-”、“±”、“+”、“++”)评价方法得到的数据,同时采集了患者性别、年龄数据。以病理检查结果作为诊断的金标准,其中110例有纵隔淋巴结肿大(恶性),90例无纵隔淋巴结肿大(良性)。部分数据见图1,案例可从页面右上角“附件下载”处下载。
二、问题分析
本案例的分析目的是评价调整协变量后诊断试验的准确性,诊断试验结果为有序变量,可采用具有协变量的有序结果的ROC曲线分析。
三、软件操作及结果解读
(一) 软件操作
- 打开Stata软件,导入数据。点击“数据”-“数据编辑器”-“数据编辑器(编辑)”/“数据编辑器(浏览)”后可以查看到如图2所示的数据。
- 选择“数据”-“变量管理器”,在变量管理器中对各变量进行“标签”、“类型”和“值标签”设置,或输入以下代码进行设置,设置完成后数据表如图3所示。
label variable ID "编号" label variable disease "金标准结果" label variable gender "性别" label variable age "年龄" label variable test "X线诊断结果" label define disease 1 "恶性" 0 "良性" label values disease disease label define gender 1 "男性" 0 "女性" label values gender gender label define test 1 "--" 2 "-" 3 "±" 4 "+" 5 "++" label values test test
- 绘制无协变量的ROC曲线,代码如下:
roccurve disease test
绘制图形如图4所示。
计算ROC曲线下面积:
comproc disease test
结果如图5所示。
- 通过roccurve命令绘制以性别和年龄为协变量的ROC曲线,代码如下:
roccurve disease test, adjcov(gender age) adjmodel(linear)
分析过程如图6所示。
绘制图形如图7所示。
计算ROC曲线下面积:
comproc disease test, adjcov(gender age) adjmodel(linear)
结果如图8所示:
(二) 结果解读
图5显示了无协变量的ROC曲线下面积为0.820 (95%CI: 0.759~0.882)。
图6显示了以性别和年龄为协变量的ROC分析过程,结果表明,年龄和性别对诊断试验结果均有影响(tage=3.76,Page<0.001;tgender=2.72,Pgender=0.008<0.05),因此的确需要进一步调整年龄和性别来评价诊断试验的准确性。
图8显示调整了协变量性别和年龄后的ROC曲线下面积为0.846 (95%CI: 0.784~0.908)。和无协变量的ROC曲线下面积相比,协变量调整后的曲线下面积更高,说明这两个协变量使X线本身的诊断准确度被低估。经过协变量的调整后,可以正确体现X线的诊断价值。
四、结论
分析结果显示,通过无协变量的X线诊断纵隔淋巴结肿大的曲线下面积为0.820 (95%CI: 0.759~0.882)。以性别和年龄为协变量进行ROC曲线分析,结果表明年龄和性别对诊断试验结果均有影响(tage=3.76,Page<0.001;tgender=2.72,Pgender=0.008<0.05),因此的确需要进一步调整年龄和性别来评价诊断试验的准确性。调整协变量后的X线诊断纵隔淋巴结肿大的ROC曲线下面积为0.846 (95%CI: 0.784~0.908),说明年龄和性别这两个协变量使X线本身的诊断准确度被低估,X线诊断纵隔淋巴结肿大的准确度较高。
五、知识小贴士
Stata15.0及以下版本并未携带roccurve插件,需要用户自行安装。Stata16.0版本开始,已携带roccurve插件。