2018-09-25 统计入门第1篇 cox回归
我对学习的总结是:WOLF定律
W:what
O:organization
L:logistic
F:familiar
先说what
- 什么是回归?
英国著名统计学家弗朗西斯·高尔顿(Francis Galton,1822—1911)是最先应用统计方法研究两个变量之间关系问题的人。“回归”一词就是由他引入的。他对父母身高与儿女身高之间的关系很感兴趣,并致力于此方面的研究。高尔顿发现,虽然有一个趋势:父母高,儿女也高;父母矮,儿女也矮,但从平均意义上说,给定父母的身高,儿女的身高却趋同于或者说回归于总人口的平均身高。换句话说,尽管父母双亲都异常高或异常矮,儿女身高并非也普遍地异常高或异常矮,而是具有回归于人口总平均高的趋势。更直观地解释,父辈高的群体,儿辈的平均身高低于父辈的身高;父辈矮的群体,儿辈的平均身高高于其父辈的身高。用高尔顿的话说,儿辈身高的“回归”到中等身高。这就是回归一词的最初由来。
现在回归的含义:回归是研究因变量对自变量的依赖关系的一种统计分析方法,目的是通过自变量的给定值来估计或预测因变量的均值。它可用于预测、时间序列建模以及发现各种变量之间的因果关系。 - 为什么使用回归分析
1.对某一现象建模,以更好地了解该现象并有可能基于对该现象的了解来影响政策的制定以及决定采取何种相应措施。
2.对某种现象建模以预测其他地点或其他时间的数值。基本目标是构建一个持续、准确的预测模型。 - 回归分析的作用主要有以下几点:
1)挑选与因变量相关的自变量;
2)描述因变量与自变量之间的关系强度;
3)生成模型,通过自变量来预测因变量;
4)根据模型,通过因变量,来控制自变量。
一、模型介绍:
Cox比例风险回归模型(Cox's proportional hazards regression model),简称Cox回归模型。该模型由英国统计学家D.R.Cox于1972年提出,主要用于肿瘤和其它慢性病的预后分析,也可用于队列研究的病因探索。COX回归模型,又称“比例风险回归模型(proportional hazards model,简称Cox模型)”,是由英国统计学家D.R.Cox(1972)年提出的一种半参数回归模型。该模型以生存结局和生存时间为应变量,可同时分析众多因素对生存期的影响,能分析带有截尾生存时间的资料,且不要求估计资料的生存分布类型。由于上述优良性质,该模型自问世以来,在医学随访研究中得到广泛的应用,是迄今生存分析中应用最多的多因素分析方法。
二、Cox回归分析基本原理
在介绍Cox回归模型之前,需要了解几个有关的概念。
-
生存函数(survival function): S(t)=Pr(T > t) t 表示某个时间,T表示生存的时间(寿命),Pr表示表示概率。生存函数就是寿命T大于t的概率。举例来说,人群中寿命超过50(t)岁的人在所有人中的概率是多少,就是生存函数要描述的。假定t=0时,也就是寿命超过0的概率为1;t趋近于无穷大,生存概率为0,生存函数是一个单调非增函数。t越大,S(t) 值 越小。
image.png
image.png -
那么如果我们做如下实验,分析x1~x6这6个因素对生存时间t的影响,能否用线性回归分析建立时间t与影响因素间的线性回归方差?或建立生存函数S(t)与影响因素间的线性回归方程?
image.png
t为生存时间
image.png
这里就存在几个问题:
1.生存时间t不服从正态分布
2.生存时间t含有截尾值(不知道截尾值自己查一下)
cox模型解决了这一问题,cox模型用风险函数h(t)作为因变量,并假定:
image.png
利用生存函数与危险函数进一步推导
image.png
image.png
ROC曲线和AUC
ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣。
对于分类器,或者说分类算法,评价指标主要有precision,recall,F-score1,以及我们今天要讨论的ROC和AUC。
ROC曲线的横坐标为false positive rate(FPR),纵坐标为true positive rate(TPR)
image.png
接下来我们考虑ROC曲线图中的四个点和一条线。第一个点,(0,1),即FPR=0, TPR=1,这意味着FN(false negative)=0,并且FP(false positive)=0。Wow,这是一个完美的分类器,它将所有的样本都正确分类。第二个点,(1,0),即FPR=1,TPR=0,类似地分析可以发现这是一个最糟糕的分类器,因为它成功避开了所有的正确答案。第三个点,(0,0),即FPR=TPR=0,即FP(false positive)=TP(true positive)=0,可以发现该分类器预测所有的样本都为负样本(negative)。类似的,第四个点(1,1),分类器实际上预测所有的样本都为正样本。经过以上的分析,我们可以断言,ROC曲线越接近左上角,该分类器的性能越好。
对于一个特定的分类器和测试数据集,显然只能得到一个分类结果,即一组FPR和TPR结果,而要得到一个曲线,我们实际上需要一系列FPR和TPR的值。分类器的一个重要功能“概率输出”,即表示分类器认为某个样本具有多大的概率属于正样本(或负样本)我们根据每个测试样本属于正样本的概率值从大到小排序。下图是一个示例,图中共有20个测试样本,“Class”一栏表示每个测试样本真正的标签(p表示正样本,n表示负样本),“Score”表示每个测试样本属于正样本的概率。
image.png
我们从高到低,依次将“Score”值作为阈值threshold,当测试样本属于正样本的概率大于或等于这个threshold时,我们认为它为正样本,否则为负样本。举例来说,对于图中的第4个样本,其“Score”值为0.6,那么样本1,2,3,4都被认为是正样本,因为它们的“Score”值都大于等于0.6,而其他样本则都认为是负样本。每次选取一个不同的threshold,我们就可以得到一组FPR和TPR,即ROC曲线上的一点。这样一来,我们一共得到了20组FPR和TPR的值,将它们画在ROC曲线的结果如下图:
image.png
AUC值的计算
AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。
首先AUC值是一个概率值,当你随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值。当然,AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类。
既然已经这么多评价标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。