Stata:从医学诊断试验看 ROC 曲线-roctab

发布时间:2021-11-16 阅读 2658

Stata连享会   主页 || 视频 || 推文 || 知乎 || Bilibili 站

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者:Bethune 学院
邮箱bethune0507@163.com


目录


1. 医学诊断试验

1.1 什么是医学诊断试验

诊断试验是指用于确定或排除疾病的方法。这里泛指临床上所进行的各种实验室检验、器械检查和影像学检测。基本方法是将待评价的诊断试验和标准诊断 (金标准 gold standard) 做比较性研究。将受检对象 (可疑病例) 按标准诊断法分为患某病组与未患某病组,用待评价的诊断试验把结果分为阳性和阴性,汇入四格表,然后分别计算各种结果的发生概率。

1.2 诊断试验的评价指标

评价指标需要满足真实、可靠、简单、易行四个要求。

1.2.1 诊断试验的评价指标—真实性

灵敏度 (sensitivity,Se):又称真阳性率,是实际患病且被诊断试验正确判为该病患者的百分比,即患者被判为阳性的概率。反映检出患者的能力,该值愈大愈好。

漏诊率 (omission diagnostic rate,β):又称假阴性率,是实际患病而被诊断试验错误诊断为非患者的百分比,即患者被判为阴性的概率。

特异度 (specificity,Sp):又称真阴性率,是实际未患病被诊断试验正确判为非患者的百分比,即非患者被判为阴性的概率。反映鉴别非患者的能力,该值愈大愈好。

误诊率 (mistake diagnostic rate,α):又称假阳性率,是实际未患病而被诊断试验错误诊断为患者的百分比,即非患者中被判为阳性的概率。

预告值:又称预测值,预检值,检验结果的正确率。阳性预告值 (+PV) 是阳性结果中真阳性所占的百分比,它表示当诊断试验结果为阳性时患有该病的概率。

阴性预告值 (-PV) 是阴性结果中真阴性所占的百分比,它表示当诊断试验结果为阴性时未患该病的概率。

似然比 (likelihood ratio,LR):又称预测值,预检值,检验结果的正确率。是诊断试验的结果在患者中出现的概率与在非患者中出现的概率之比。

1.2.2 诊断试验的评价指标—可靠性

重复性、稳定性、可靠性 (reliability)、可重复性 (repeatability),表示在完全相同的情况下,进行重复操作获得结果彼此接近的程度,反映诊断试验的稳定性。测量中的变异是普遍存在的,几乎不可避免,应做出估计。影响可靠性的因素:

  • 实验所用试剂、仪器和实验条件变异;
  • 观察者变异;
  • 调查对象的生物学变异。

评价可靠性指标:

  • 计量资料:可用均数±标准差,或变异系数表示;
  • 计数资料:观察符合率卡帕值 (Kappa value)。

1.3 评价指标间的相互关系

1.3.1 真实性与可靠性关系

二者不是必定相关的。真实性好,不一定可靠性也好。特别要注意,可靠性虽好,但并不真实的结果。

1.3.2 灵敏度与漏诊率、特异度与误诊率互为补数

约登指数 (Youden’s Index,YI),又称正确指数,其值越大,真实性越好。

1.3.3 灵敏度与特异度

提高其中一个,必降另一个,恰当地选择截断点,兼顾 Se 和 Sp。

1.3.4 预告值与似然比

PV:直观易理解,但受患病率影响; LR:率比,不如 PV 直观,但稳定,更推荐使用。

2. ROC 曲线与 AUC 值

ROC (receiver operating characteristic curve) 又称受试者工作特征曲线,是以取不同阳性判断标准时的灵敏度为纵坐标,误诊率 (1-特异度) 为横坐标绘制所得的曲线。它表示灵敏度与特异度之间的相互关系。比如将上述糖尿病诊断试验的灵敏度和 1-特异度得到的数值点画在坐标轴上,然后将无数个这样的点连接起来,就组成了 ROC 曲线。

AUC (Area Under Curve) 被定义为 ROC 曲线下的面积,显然这个面积的数值不会大于 1。又由于 ROC 曲线一般都处于 y=x 这条直线的上方,所以 AUC 的取值范围一般在 0.5 和 1 之间。

3. Stata 实操

3.1 基本语法

roctab  refvar classvar [if] [in] [weight] [, options]
  • refvar 定义诊断金标准,有无糖尿病;
  • classvar 定义诊断的手段,比如血糖,等连续变量。

3.2 计算 AUC 值

. webuse hanley, clear
. roctab disease rating

                ROC                     Asymptotic normal  
      Obs       area     Std. err.      [95% conf. interval]
------------------------------------------------------------
      109     0.8932       0.0307        0.83295     0.95339

3.3 画出 ROC 曲线

. webuse hanley
. roctab disease rating, graph

3.4 计算更多诊断实验指标

. webuse hanley, clear
. roctab disease rating, table detail

      True |
   disease |
 status of |                         rating
   subject |         1          2          3          4          5 |     Total
-----------+-------------------------------------------------------+----------
         0 |        33          6          6         11          2 |        58 
         1 |         3          2          2         11         33 |        51 
-----------+-------------------------------------------------------+----------
     Total |        36          8          8         22         35 |       109 

Detailed report of sensitivity and specificity
------------------------------------------------------------------------------
                                           Correctly
Cutpoint      Sensitivity   Specificity   classified          LR+          LR-
------------------------------------------------------------------------------
( >= 1 )          100.00%         0.00%       46.79%       1.0000     
( >= 2 )           94.12%        56.90%       74.31%       2.1835       0.1034
( >= 3 )           90.20%        67.24%       77.98%       2.7534       0.1458
( >= 4 )           86.27%        77.59%       81.65%       3.8492       0.1769
( >= 5 )           64.71%        96.55%       81.65%      18.7647       0.3655
( >  5 )            0.00%       100.00%       53.21%                    1.0000
------------------------------------------------------------------------------
                      ROC                     Asymptotic normal  
           Obs       area     Std. err.      [95% conf. interval]
     ------------------------------------------------------------
           109     0.8932       0.0307        0.83295     0.95339

4. 参考资料

  • 临床流行病学,李立明
  • 临床研究基本概念,王吉耀

5. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh DID, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,700+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxhsongbl 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh