生存分析KM法与Cox法异同
KM 方法即Kaplan-Meier survival estimate是一种无参数方法(non-parametric)来从观察的生存时间来估计生存概率的方法。KM生存分析模型,是单变量分析(univariable analysis),在做单变量分析时,模型只描述了该单变量和生存之间的关系而忽略其他变量的影响。同时,Kaplan-Meier方法只能针对分类变量(治疗A vs 治疗B,男 vs 女),不能分析连续变量对生存造成的影响。为了解决上述两种问题,Cox比例风险回归模型(Cox proportional hazards regression model)就被提了出来。因此,Cox比例风险回归模型,可以分析连续变量对生存造成的影响,也可以多变量分析对生存的影响。Cox回归分为单因素cox回归和多因素cox回归,
单因素Cox回归
Cox回归分为单因素cox回归和多因素cox回归,今天主要介绍单因素cox回归的使用。在TCGA+biomarker这类研究中单因素cox回归用的是比较多的,大部分情况下是用来筛选变量。当有多个自变量时,比如差异分析得到了60个差异miRNA,这时候可以通过对这60个miRNA批量做单因素Cox回归,筛选结果显著的miRNA(用于下一步的多因素cox回归)。
单因素Cox回归案例展示
下图展示了多个变量与无病生存间的单因素cox回归分析结果,独立在三个数据集中分别计算,绘制出如下表格。大家可以注意到,针对每个变量,都经过数据整理成为二分类变量,每个自变量只有一行数值,说明都是将这些二分类变量进行了数值化去做的单因素cox回归。
但自变量并不一定都需要整理成分类变量,因为cox回归本来就可以针对二分类、多分类和连续变量进行分析,比如下图:针对KIF20A这个基因做个两种单因素cox回归,一种是针对KIF20A表达值的连续性变量(因此只有一行数值);一种是提前将KIF20A的表达值分为两部分,成为二分变量(自变量因子化,分层展示)。
很多时候,为了单因素和多因素COX回归结果看起来更连贯,经常也会把两种cox回归结果整理在一起进行展示,如下图:分别在两组独立数据集中做单因素和多因素Cox回顾分析。以TESTING数据集结果为例,单因素cox分析了10个变量与生存之间的关系,发现有5个变量结果显著。接下来对这5个变量进行多因素分析,发现有两个变量显著,可作为独立因子!
总结:cox回归结果的展示,主要涉及三个参数:Miedian(中位数)、HR值(****概念风险比****)、P值(统计学指标)
单因素Cox结果解释
单因素cox回归结果(参考网络,觉得说的还是挺清楚的)
1、coef是公式中的回归系数b(有时也叫做beta值),因此exp(coef)则是Cox模型中最主要的概念风险比(HR-hazard ratio):
- HR = 1: No effect
- HR < 1: Reduction in the hazard(有助于)
- HR > 1: Increase in Hazard(不利于)
2、Z值代表Wald统计量,其值等于回归系数coef除以其标准误se(coef),即z = coef/se(coef);有统计量必有其对应的假设检验的显著性P值,其说明bata值是否与0有统计学意义上的显著差别
3、exp(coef)就是 HR,等于0.59,即风险比例等于0.59。在数据中男性(male=1),女性(female=2),HR=0.59,说明性别为有助于事件结局(生:1,死:2),女性(male=2)比男性减少了0.41倍风险,女性与良好预后相关。
4、ower .95 upper .95则是exp(coef)的95%置信区间,可信区间越窄,可信度越高,你的实验越精确,越是真理。
5、Likelihood ratio test,Wald test,Score (logrank) test则是三种检验方法的p值,p值小于0.05, 说明回归方程是有统计学意义的。这三者是asymptotically equivalent;当样本数目足够大时,这三者的值是相似的;当样本数目较少时,这三者是有差别的,但是Likelihood ratio test会比其他两种在小样本中表现的更优。
案例图表解释(参考网络解释,很直观)
解释:HR就是相对风险度,HR值大于1是危险因素,小于1是保护因素(相对于生存这样个结局事件来说!)。图中的数字4为1(即每个分类变量中的对照),3简单来解释就是这个情况下它是上面那个的产生影响最终统计连续变量的几倍的事情。连贯起来解释就是针对癌胚抗原CEA这个自变量,第一行是正常CEA的人共114个,而异常CEA的人是31个,异常CEA的患者是正常CEA患者死亡风险的1.953倍,他的上下可信区间是1.068~3.569,并且经过统计是P=0.03有意义!图中1处可以发现在这里把TNM分期分为了两类,其实分几类都可以,原理都一样。分两类比较简单罢了,并且好解释。
单因素cox回归分析如何做?
- 适用于数值型变量,这类变量的cox结果只有一行。(自变量可以是连续性变量,也可以是数值化后的分类变量)
rm(list = ls())
library("survival")
library("survminer")
#载入并查看数据集
data("lung")
head(lung)
str(lung)#该数据将所有变量都转换为数值型,包括性别(1,2表示),分期(1,2,3,4表示)等。若是字符型的话,结果会有所不同!
#cox 回归分析
res.cox <- coxph(Surv(time, status) ~ ph.ecog, data = lung) #ph.ecog为数值型变量
res.cox
summary(res.cox)
- 适用于分类变量,同时展示所有协变量的结果
rm(list = ls())
library("survival")
library("survminer")
#载入并查看数据集
data("lung")
head(lung)
str(lung)#该数据都为数值型,如性别(1,2表示)。要分类展示cox回归需要将分类变量因子化
#将分类变量从数值型改为因子
lung <- within(lung, {
sex <- factor(sex, labels = c('female', 'male'))}) # female为对照
#cox回归分析(sex)
res.cox <- coxph(Surv(time, status) ~ sex, data = lung)
res.cox
summary(res.cox)
##是否分开展示看结果?结合自身结果,看整体展示和分开展示哪个好说明好解释用哪个!!
往期回顾
TCGA+biomarker——常见结果展示
TCGA+biomarker——Sample基线表
更多内容可关注公共号“YJY技能修炼”~~~