上一篇文章我们提到了生存分析中的参数回归和非参数回归,非参数回归简单易用,但如果你想求一个最佳的拟合效果或预测效果,可能参数回归更能体现你的意图(当然,前提是你能把握好生存分析的分布)。 非参数回归当然以cox回归名气最大,而参数回归中,很可能就是以Weibull回归最为知名了。上一篇我们提到了最基础的参数回归——指数回归。 指数回归很容易理解,然而实际中用的却不多,最主要就是因为它的假定太过于理想化。它假定死亡风险不变,例如,吸烟对肺癌发生的风险,如果要用指数回归,需要假定在任何时候(起码在研究的时间范围内),吸烟对肺癌的风险都是不变的,如果30岁时吸烟对肺癌的风险是1.2,那么,到了31岁、32岁、……、80岁,吸烟对肺癌的风险还是这么大。 由于指数回归的这一假定很难在实际中满足,因此实际中用的不多。多数情况下,实际中某因素的风险都是变化的,比如,可能30岁时候风险是1.2,到了50岁,就变成1.8了,等等。 今天我们要讲的Weibull回归,就放宽了指数回归的假定,可以允许某因素的死亡风险随时间变化,因此实际中更为常用。 1、Weibull分布 通常对于参数回归而言,想要放宽条件,就是通过增加参数来实现。指数回归中,其分布只有1个参数,所以它的条件必定很苛刻。正因为如此,Weibull回归在分布中增加了一个参数,通过2个参数来调节。 第一个参数,与指数分布一样,也是风险参数λ。λ越大,生存曲线下降越快。如下图显示了生存曲线随λ 不同取值的变化。 第二个参数,是一个控制形状的参数,所以叫形状参数,用p表示。p<1 表示多数病人较早死亡,少数人生存时间较长;p>1表示早期死亡例数较少,后期死亡数较多;p=1表示病人死亡数不随时间变化,此时相当于指数分布。如下图显示了生存曲线随p不同取值的变化。 不难看出来,通过增加了一个形状参数p,Weibull分布可以允许死亡风险发生变化。当p取不同值的时候,死亡风险有不同的变化(下图)。当p<1的时候(如0.5),可以看出,死亡风险一开始很大,后来慢慢变低;当p>1的时候(如p=4),死亡风险一开始较低,后来慢慢增大。 但有一种特殊的情况是,当p=1的时候,死亡风险仍然是不变的,也就是说,这种情况下相当于是指数分布。换句话说,指数分布是Weibull分布的特例,当Weibull分布中的p=1的时候,退化为指数分布。 2、Weibull回归分析 所以,如果你分析数据时,根据专业觉得可能死亡风险是变化的,可以考虑Weibull回归。那么Weibull回归分析结果长什么样呢?其实跟普通回归没什么太大区别,也是给出截距、各影响因素的参数估计值。如果说唯一有不同的地方就是,它还给出了Weibull分布的参数。 事实上,当你拟合Weibull回归的时候,软件都会给出相应的参数。这时候仔细观察一下参数p就很有意思。比如下面的Weibull回归结果(stata软件结果): 你会发现p=1.72,而且从置信区间来看,明显大于1。这说明了两件事:第一,既然p从统计学上来看不等于1,说明这不是指数分布,而是Weibull分布。第二,既然p大于1,说明在这个数据中,死亡风险一开始较低,后面逐渐增大。从生存角度则说明,一开始死亡人数可能较少,后面反而死亡人数越来越多。 如果你直接用cox回归,当然也会有参数估计值,但是没有p这些参数的估计结果。信息量就大打折扣。 当然也可以利用图形更直观地显示死亡风险情况。比如下图中比较了指数分布(绿色)和Weibull分布(粉色)的拟合情况(JMP软件结果),不难看出,Weibull分布更接近生存数据(黑色点)。 下面的图则给出了指数分布(绿色)和Weibull分布(粉色)的死亡风险情况。可以看出,指数分布中,死亡风险不变,而Weibull分布中,死亡风险是递增的。 同样,这些也是cox回归无法给出的。所以,关于生存分析的影响因素分析,绝不是cox回归的天下。有时如果你能发现生存数据的一些规律,也许会更有实际价值,而不是仅仅简单地给出参数估计值有没有统计学意义。有时也许生存本身(而不是解释因素)更值得研究。 当然,Weibull回归也不是万能的,如果你仔细观察,你会发现,虽然Weibull回归允许死亡风险变化,然而其变化要么是单调递增,要么是单调递减,也就是说,要么上升,要么下降,没有先升后降这种趋势。这也算是一种遗憾。如果你发现死亡风险不是简单的上升或下降,那Weibull回归仍不足以拟合你的生存数据,还需要更复杂的参数回归,比如log-logistic回归。 |
|