美文网首页Cook RR语言与统计分析统计
2018-09-30 如何理解survivalROC包的统计

2018-09-30 如何理解survivalROC包的统计

作者: 凤凰_0949 | 来源:发表于2018-09-30 23:19 被阅读503次

    生存分析中的ROC是怎么来的,ROC是对二分类资料的评价指标,那对于生存资料呢?

    诊断试验中ROC曲线,一般金标准都是二分类变量,比如有病与无病(见下表)。ROC曲线以假阳性率(1-speficicity)作为横坐标,以真阳性率(sensitivity)作为纵坐标,曲线上的点代表不同临界点所对应的灵敏度和特异度对子。通常将ROC曲线左上角那一点定为最佳临界点,此点的Youden指数(sensitivity-(1-specificity))最大。 image.png
    如果金标准是生存分析资料(生存时间overall survival time与生存状态 status),能否进行ROC分析呢?能!这就是时间依赖的ROC分析。
    • 首先我们分析生存资料的特点:
      (1)包含有结局和时间两个方面的信息。
      (2)结局资料一般为二分类资料,即结局是两个对立相互排斥的事件,如生存和死亡,有效和无效。
      (3)生存资料一般需经过前瞻性随访观察才能获得,随访往往从某一统一的时间点开始,到某规定的时间点结束,所以生存资料有时候也称为随访资料。
      (4)由于失访等原因使一些研究对象的生存时间难推断,导致部分生存时间数据不完整。
    • 生存资料的数据类型
      (1)完全数据:观察起点到发生结局事件的时间明确,完整的资料。
      (2)截尾数据:指由于其他因素导致观察对象的生存时间难以明确判断,这种生存时间数据称为截尾数据。此类数据右上角标记“+”。
    • 中位生存时间
      是指寿命中位数,表示有且只有50%的观察对象可以活这么长时间。由于存在截尾数据,中位生存时间需要利用生存函数或生存曲线令生存率为50%时,推算出生存时间。
    • 生存函数
      生存概率又称生存率或生存函数,它表示一个病人的生存时间长于时间t的概率,S(t)表示。
      以时间t为横轴,S(t)为纵坐标


      image.png

      ROC曲线是评价二值分类模型一种图形化方法。要弄懂ROC曲线的含义,首先要搞清楚下面这些概念:
      真正(True Positive , TP)被模型预测为正的正样本;
      假负(False Negative , FN)被模型预测为负的正样本;
      假正(False Positive , FP)被模型预测为正的负样本;
      真负(True Negative , TN)被模型预测为负的负样本。
      关于这个模型,这里举个栗子,A、B、C和D这四个人名字中有字母的是坏人,其余是好人,按照这么一个分类模型,A被归类为坏人,而实际上A是个好人,所以A是一个假负样本,B、梦熊和机智的怪阿姨则是真正样本。
      ROC曲线的横坐标为假正率(False Positive Rate, FPR或称为特异性Specificity),FPR = FP /(FP + TN)(被预测为正的负样本结果数 /负样本实际数),纵坐标为真正率(True Positive Rate,FPR或称为灵敏度Sensitivity),TPR = TP /(TP + FN)(正样本预测结果数 / 正样本实际数)。
      点(0,1):FPR=0, TPR=1. -----> 完美分类器;
      点(1,0):FPR=1, TPR=0. -----> 完全错误的分类器;
      点(1,1):分类器预测所有的样本都是正例;
      点(0,0):分类器预测所有的样本都是负例;
      y=x:随机分类器。
      一个好的分类模型应该尽可能靠近图形的左上角,而一个随机猜测模型应位于连接点(TPR=0,FPR=0)和(TPR=1,FPR=1)的主对角线上。
      ROC曲线下方的面积(Area Underthe ROC Curve, AUC)提供了评价模型平均性能的另一种方法。如果模型是完美的,那么它的AUC = 1,如果模型是个简单的随机猜测模型,那么它的AUC = 0.5,如果一个模型好于另一个,则它的曲线下方面积相对较大。换句话说AUC越大,分类模型越完美,说明分类条件越有意义。
      其一是真正类率(true positive rate ,TPR), 计算公式为TPR=TP / (TP + FN),刻画的是分类器所识别出的正实例占所有正实例的比例。另外一个是负正类率(false positive rate, FPR),计算公式为FPR= FP / (FP + TN),计算的是分类器错认为正类的负实例占所有负实例的比例。
      在用基因表达量构建cox多因素回归模型后,我们得到了一个模型表达式


    在RStudio中我们得到的公式如下:


    image.png

    每个coef值就是对应基因的回归系数,这样就可以计算风险函数
    每一个样本可以通过回归模型得到一个预测生存的概率
    而我们用生存概率的中位值为基准,对患者生存分组高低风险组
    用预测生存概率与实际患者生存概率(3年或者5年)进行比较,可以计算如下值:
    真正(True Positive , TP)被模型预测为正的正样本;
    假负(False Negative , FN)被模型预测为负的正样本;
    假正(False Positive , FP)被模型预测为正的负样本;
    真负(True Negative , TN)被模型预测为负的负样本。
    进一步通过公式得到横纵坐标:
    其一是真正类率(true positive rate ,TPR), 计算公式为TPR=TP / (TP + FN)
    另外一个是负正类率(false positive rate, FPR),计算公式为FPR= FP / (FP + TN)


    image.png
      [1] 1.000000000 1.003739767 1.007657787 1.003371314 0.999478253
      [6] 0.994723114 0.993662466 0.988839751 0.983798865 0.979476825
     [11] 0.983132665 0.986985992 0.982022682 0.973123048 0.968767419
     [16] 0.963311391 0.964725581 0.965179152 0.955138320 0.944520226
     [21] 0.939544855 0.935336643 0.930877664 0.927219518 0.921198612
     [26] 0.924697519 0.919033140 0.913448266 0.917021872 0.912368937
     [31] 0.907961696 0.908006753 0.909778279 0.913431262 0.915360070
     [36] 0.906253391 0.901427674 0.892519538 0.883401105 0.887292260
     [41] 0.889338278 0.893599621 0.898224257 0.889352187 0.890626150
     [46] 0.881791375 0.886851339 0.876380812 0.869672909 0.865315947
     [51] 0.855727298 0.850384627 0.855626323 0.857953999 0.851641371
     [56] 0.841369214 0.834472745 0.831696904 0.827362880 0.826691204
     [61] 0.816696509 0.821924772 0.816167822 0.809117525 0.806028778
     [66] 0.797033297 0.788031563 0.788721456 0.767372809 0.758552287
     [71] 0.756401597 0.760039258 0.749974630 0.743244234 0.734442771
     [76] 0.725448415 0.720283380 0.715124702 0.703299178 0.706720027
     [81] 0.703134404 0.706643020 0.696726456 0.685721089 0.674460274
     [86] 0.667861985 0.656372667 0.641863602 0.632051352 0.624949651
     [91] 0.616057660 0.611693628 0.601393745 0.591923069 0.583104097
     [96] 0.574307636 0.568542067 0.564989189 0.556026245 0.555685101
    [101] 0.558246518 0.561125567 0.552186636 0.542075488 0.532881204
    [106] 0.536266252 0.524809339 0.515588486 0.505068684 0.496247820
    [111] 0.500281149 0.505368585 0.496561066 0.487368748 0.494447958
    [116] 0.485531940 0.476543753 0.467739718 0.458933845 0.470586788
    [121] 0.468113457 0.460217392 0.454561465 0.445778654 0.436809673
    [126] 0.427594537 0.418807131 0.409964015 0.401173482 0.377197377
    [131] 0.381638735 0.372839787 0.362629905 0.353487134 0.344590384
    [136] 0.335392359 0.326599725 0.317345911 0.308522995 0.301017478
    [141] 0.292189280 0.284975785 0.275830580 0.266990931 0.257785933
    [146] 0.250349724 0.241494252 0.232298124 0.226881817 0.218013711
    [151] 0.207928198 0.200274649 0.189759740 0.180900761 0.169368685
    [156] 0.160476482 0.165160245 0.156308261 0.148492848 0.141670452
    [161] 0.132529867 0.117643850 0.112541948 0.103692496 0.094827012
    [166] 0.085941124 0.077028711 0.068080932 0.068931943 0.061272838
    [171] 0.052519576 0.043766313 0.035013051 0.026259788 0.017506525
    [176] 0.017506525 0.008753263 0.000000000
    

    一共178个样本,每个样本都会得到一个概率值
    通过对TPR和FPR计算得到ROC曲线


    image.png

    相关文章

      网友评论

        本文标题:2018-09-30 如何理解survivalROC包的统计

        本文链接:https://www.haomeiwen.com/subject/affgoftx.html