通俗阐释 比例风险(Cox)回归模型
1. 引言
比例风险回归模型,又称Cox回归模型,是由英国统计学家D.R.Cox与1972年提出的一种半参数回归模型。模型可以用来描述了不随时间变化的多个特征对于在某一时刻死亡率的影响。它是一个在生存分析中的一个重要的模型。
比例风险回归模型是我在学习广义线性模型的时候看到的一个例子,出于好奇,就想学习一下它是啥玩意儿。我一直忿忿不平的是,写书写资料的人往往喜欢写一堆数学公式,却把建立模型Motivation的给去掉了,而科学的创新往往就是来自这一点点灵感,公式的推导只是其中很机械化、很trivial、但也很重要的一部分工作。
关于Cox回归模型,笔者在学习时感到难以理解的有两点,一是Cox回归模型中比例风险假设的现实意义和合理性;二是Cox回归模型的极大似然估计有点Tricky,直接看公式会让人难以理解。
我写本文能为大家提供一点对模型的直观、通俗的理解。
2. *Motivation
假如你现在要研究一个人从出生开始,到t时刻时死亡的概率为多大。那么它会受什么影响呢?直观的来看:
- 一方面,它会受时间推移的影响。一个健康的人,随着年纪的增大,他死亡的概率也会不可避免的越来越大;
- 另一方面,它会受一些客观因素影响,比如,一个吸烟的人在某一时刻t死亡的概率,比一个不抽烟的同龄人概率会更大;再比如,一个富豪,每年都花大价钱为自己养生、雇佣营养师为自己控制饮食起居,那么他可能就比我这个穷屌丝死亡的概率更小。
综上所述,我们抽象出了两部分的因素,一部分受时间的影响,你可以理解为是理想情况下、不受任何外界影响下的死亡的概率、是一个基准;另一部分受客观因素的影响,这些因素会影响整体的概率,使得它在基准上增加或减少。
理解了这一部分,就不难理解模型的基本假设了。
3. 危险率
我前面用的说法“t时刻时死亡的概率”是非常不严谨、难以量化的。这个概念更应该是统计意义上的概率。我们不妨称它为危险率
在时刻t的危险率被定义为: t 时 刻 将 要 死 掉 的 人 数 t 时 刻 仍 存 活 的 总 人 数 \frac {t时刻将要死掉的人数}{t时刻仍存活的总人数} t时刻仍存活的总人数t时刻将要死掉的人数,可以理解为“某一时刻危险人群的比例”。举例来讲,假设在t时刻之前,原来有10个人,t时刻后有3人去世了,那么这时的危险率显然应该被定义为 3 10 \frac{3}{10} 103。
在此我们要建模的,就是这个危险率 与 时间和客观因素 关系。
4. 模型基本假设
- 符号定义
- X X X:客观因素,由m个影响因素组成: X = ( X 1 , X 2 , . . . , X m ) X=(X_1,X_2,...,X_m) X=(X1,X2,...,Xm)
- t t t:时间
- h ( t , X ) h(t,X) h(t,X):当时间为 t t t,客观因素为 X X X的时候的危险率
- 假设的内容: h ( t , X ) = λ 0 ( t ) e x p ( β ⋅ X ) h(t,X)=\lambda_0(t) exp(\beta \cdot X) h(t,X)=λ0(t)exp(β⋅X)
在这里, λ 0 ( t ) \lambda_0(t) λ0(t)是一个仅与时间有关的函数,其选择具有充分的灵活度,一种可能的选择是采用概率论中的Weibull分布、指数分布等。
β \beta β是模型的参数。由于只要给定数据,就能够求出模型的参数 β \beta β。
对公式进行变形,得到:
l n ( h ( t , X ) ) = β ⋅ X + l n ( λ 0 ( t ) ) ln(h(t,X))=\beta \cdot X +ln(\lambda_0(t)) ln(h(t,X))=β⋅X+ln(λ0(t))
分析这个公式,结论如下,模型中各危险因素与时间相互独立,同时,对数危险率与各个危险因素呈线性相关。这就是Cox回归中的两个基本假设。
4. 引理:与其他函数的联系
-
生存函数,客观因素为X时,在t时刻仍然存活的概率: S ( t , X ) = P ( T > t , X ) S(t,X)=P(T>t,X) S(t,X)=P(T>t,X),(tips:活着,真实寿命T比t长)
-
死亡函数,客观因素为X时,在t时刻已经死亡的概率: F ( t , X ) = P ( T ≤ t , X ) F(t,X)=P(T\leq t,X) F(t,X)=P(T≤t,X),(tips:死了,真实寿命T不超过t)
-
死亡密度函数,客观因素为X时,在t时刻已经死亡的概率密度: f ( t , x ) = l i m Δ t → 0 P ( t < T < t + Δ t , X ) Δ t = F ( t , X ) ′ f(t,x)=lim_{\Delta t \to 0} \frac {P(t<T<t+\Delta t,X)}{\Delta t}=F(t,X)' f(t,x)=limΔt→0Δt