# 生存曲线阅读指南

## 适用场景
- 时间-事件数据（time-to-event）
- 比较不同组别的生存/复发/进展时间
- 评估预后因素的独立效应

---

## 核心阅读维度

### 1. 曲线形态
- **中位生存时间（MST）**：曲线下降到50%时对应的时间。
  - 如果曲线始终>50% = 中位未达到，应报告"中位生存期未达到"
  - 注意：MST是样本统计量，不是个体预测
- **早期/晚期分离**：
  - 早期分离（曲线在前6个月就分开）= 治疗/因素有快速效应
  - 晚期分离 = 效应随时间累积
  - 始终不分离 = 组间无差异
- **平台期**：曲线在某段时间水平 = 事件风险暂时消失（如治愈）

### 2. 删失数据（Censoring）
- **删失标记**：曲线上通常有小竖线表示删失
- **删失比例**：如果>50%样本删失，估计不可靠（随访时间太短或失访太多）
- **信息删失 vs 随机删失**：
  - 信息删失（因副作用退出）= 偏差风险
  - 随机删失 = 可接受
- ** competing risks **：如果有竞争风险（如癌症死亡 vs 其他原因死亡），标准Kaplan-Meier会高估累积发生率

### 3. 统计显著性
- **Log-rank检验**：比较两条/多条曲线的整体差异。
  - p<0.05 = 组间生存分布有差异
  - 注意：log-rank检验对晚期差异敏感，对早期差异不敏感
- **Hazard Ratio（HR）**：
  - HR>1 = 暴露组风险高（如死亡更快）
  - HR<1 = 暴露组风险低（如死亡更慢）
  - HR=1 = 无差异
  - **必须看95% CI**：如果CI包含1，即使HR≠1也不显著
- **Breslow检验 / Tarone-Ware**：如果对早期差异更感兴趣，log-rank可能不够敏感

### 4. 样本量与统计效力
- **每组事件数（number of events）**：
  - 总事件数 < 10×变量数 = Cox回归过拟合风险
  - 例如：10个协变量，需要至少100个事件
- **最小随访时间**：是否足够长？（如5年生存率，但中位随访仅2年 = 不可信）

### 5. Cox回归假设
- **比例风险假设（PH assumption）**：HR在不同时间点是否恒定？
  - 检验方法：Schoenfeld残差、log-log图
  - 如果违反：需要分层Cox、时变系数或加速失效模型（AFT）
- **线性假设**：连续协变量的对数风险是否线性？
  - 可用martingale残差检验

---

## 常见陷阱

| 陷阱 | 说明 | 如何识别 |
|------|------|---------|
|  immortal time bias | 从治疗后开始算生存，但治疗前有"免疫"时间 | 看时间0的定义是否合理 |
|  lead-time bias | 筛查提前发现疾病，造成"生存期延长"假象 | 问：是否报告了 lead-time 校正？ |
|  overfitting in Cox | 变量数 > 事件数/10 | 看事件数和变量数的比例 |
|  忽略竞争风险 | 竞争事件存在时，KM曲线高估累积发生率 | 问：是否用了Fine-Gray竞争风险模型？ |
|  中位生存未标注 | 曲线始终>50%，但作者说"中位生存X月" | 这是不可能的，应质疑 |

---

## 批判性提问模板

1. "中位随访时间是多少？是否足够观察主要终点？"
2. "删失比例是多少？删失原因是否随机？"
3. "HR的95% CI是否包含1？如果包含，差异不显著"
4. "是否检验了比例风险假设？如果违反，用了什么替代方法？"
5. "如果存在竞争风险，是否用了适当的统计方法？"
6. "Cox回归的变量数/事件数比例是否合理？"
