'data.frame': 23 obs. of 3 variables:
$ time : num 9 13 13 18 23 28 31 34 45 48 ...
$ status: num 1 1 0 1 1 0 1 1 0 1 ...
$ x : Factor w/ 2 levels "Maintained","Nonmaintained": 1 1 1 1 1 1 1 1 1 1 ...
26 生存分析
The fact that some people murder doesn’t mean we should copy them. And murdering data, though not as serious, should also be avoided.
— Frank E. Harrell 1
生存分析可以用于用户流失分析,注册、激活、活跃。 分析次日留存、7日留存、15日留存。有学生来上体验课,多久来付费上课。 有一个人医院看病之后,多久办理住院。 最早,生存分析用于研究飞机出去之后,有多少返回的。还是要回归到原始文献去了解基本概念,及其背后的思考和应用
以一个问题提出本章主题,讲述和展示一个数据集。建立模型,拟合模型,结果解释。
26.1 问题背景
急性粒细胞白血病生存数据
26.2 模型拟合
R 软件内置了 survival 包,它是实现生存分析的核心 R 包 (Terry M. Therneau 和 Patricia M. Grambsch 2000)
leukemia.surv <- survfit(Surv(time, status) ~ x, data = aml)
library(ggplot2)
library(ggfortify)
autoplot(leukemia.surv, data = aml) +
theme_minimal()
拟合模型
模型输出
Call: survfit(formula = Surv(time, status) ~ x, data = aml)
n events median 0.95LCL 0.95UCL
x=Maintained 11 7 31 18 NA
x=Nonmaintained 12 11 23 8 NA
26.3 Cox-Box 比例风险回归与生存分析的关系
Box-Cox 变换 (Box 和 Cox 1964)、Cox 回归模型
-
survival::coxph()
比例风险回归模型 -
MASS::boxcox()
Box-Cox 变换 -
glmnet::glmnet(family = "cox")
Cox 回归模型
26.4 Tobit regression 与生存分析的关系
Tobit (Tobin’s Probit) regression 起源于计量经济学中的 Tobit 模型,James Tobin 提出的,用于截尾数据,生存分析中的一种加速失效模型 (accelerated failure model) (Tobin 1958)
-
VGAM::vglm(family = tobit(Upper = 800))
依赖少,稳定,推荐使用 - VGAM 包的扩展包 VGAMdata 和 VGAMextra
-
AER::tobit()
依赖多
26.5 Logit, Probit and Tobit Regression
- 逻辑回归,响应变量是无序的分类变量,假定服从二项、多项分布,拟合函数
glm()
和nnet::multinom()
- Probit 回归,响应变量是有序的分类变量,拟合函数
MASS::polr()
- Tobit 回归,响应变量是有删失/截尾的