Clinical Research Foundations
临床研究设计基础
从临床观察出发,用 PECO、目标估计量、研究设计、时间零点、因果图、效应量与敏感性分析构建可审计的临床证据链。
- INPUT
- EHR records · Registry tables · Follow-up data
- OUTPUT
- PECO protocol · Analysis cohort · Bounded clinical inference
- FIGURES
- Participant Flow · Kaplan–Meier · Forest Plot · Sensitivity Map
学完这一章,你应该能够
点击勾选不是“完成任务”,而是对自己的理解做一次承诺。
临床数据不会自动产生临床证据
同一批病历既可以描述疾病负担、预测未来结局,也可以尝试估计策略效应;三者需要不同问题、设计与解释。
“用过药 A 的患者住院更少”可能因为药物,也可能因为医生把药给了更轻、随访更完整或更能耐受的患者。先设计比较,再运行模型。
Clinical records arise from care processes. Sampling, treatment assignment, measurement, missingness and censoring jointly determine which causal contrasts are identifiable.
患病率、分布、医疗负担。
个体风险与校准,不要求每个变量都是原因。
需要明确反事实比较与更强设计假设。
临床研究基础:先建立全局地图,再进入细节
从患者、时间零点和目标估计量出发,理解设计如何决定临床数据能支持的结论。
临床研究的基本单位是谁?
患者、就诊事件、器官或时间点可能形成多层数据,但独立推断单位必须由问题和采样设计定义。
一本病历有很多检查单,但通常仍来自同一位患者;检查单数量不是患者数量。
类比只帮助理解,不作为科研证据。- 1区分患者、就诊和重复测量
- 2聚类与配对结构必须进入设计和模型
STROBE 要求观察性研究透明报告设计、场景、参与者、变量、偏倚、样本量、统计方法和结果;它是报告指南,不是研究质量评分。
PECO 不是标题模板,而是分析契约
点击 P–E–C–O–T,检查每个临床概念是否已有可执行定义,并把它们压缩成一个目标估计量。
| 字段 | 可执行定义 | 怎样改变最终估计 |
|---|---|---|
| PPopulation | 初次使用抗纤维化治疗、无既往同类药物记录的成人 IPF 患者 | 决定谁进入分母,以及结论能外推到谁 |
| EExposure | 时间零点启动策略 A | 定义策略 A 的起点、允许窗口和实际接受的暴露 |
| CComparator | 时间零点启动活性比较策略 B | 给出同一时间零点下未采用策略 A 的反事实参照 |
| OOutcome | 24 个月内全因住院 | 把事件、数据来源和观察窗写成可计算规则 |
| TTime | 从首次处方日随访 24 个月 | 把入组、分配和随访起点对齐,避免 immortal-time bias |
分母来自 P;策略 A/B 来自 E/C;事件定义来自 O;风险窗口来自 T。任一字段改变,目标估计量、纳入记录和可解释人群都会一起改变,而不是只换一个标签。
问题决定设计,已有数据只决定可行性
在四类常见设计之间切换,比较采样方向、适用问题、效应量和最重要限制。
- 适合回答
- 发病风险、预后与多个结局
- 常见效应量
- Risk / rate / hazard contrasts
- 关键限制
- 混杂、失访与时间相关偏倚仍需设计控制。
随机试验通过随机分配保护基线可交换性,但仍需要透明报告入组、分配、随访、偏离和结局;CONSORT 2025 已取代 2010 版。
从临床观察到有边界结论的 20 步链条
点击任一节点,检查 WHY、INPUT、PROCESS、OUTPUT、PARAMETERS、QC、COMMON ERROR 与 NEXT。
Time Zero
时间零点
同时对齐入组资格、策略分配和随访开始。
同时对齐入组资格、策略分配和随访开始。
纳入规则与索引事件
确定共同 index date
无不死时间的起点
时间零点对齐,是临床队列最重要的设计检查之一
切换三个情景,看 eligibility、strategy assignment 与 follow-up start 是否对齐,以及 immortal time 从哪里产生。
阶段 1 / 3:Aligned new-user design。 首次处方日同时确定资格、策略与随访开始。
阈值不是固定标准。先看数据分布、组织特性、测序深度、样本重复和研究问题。
目标试验框架通过显式写出资格、策略、分配、随访、结局和分析,帮助暴露观察性分析中的时间错位与自致偏倚。
先把临床概念版本化,再把记录变成队列
原始病历记录不是一人一行的研究表;每次映射都要保留定义、时间窗、单位和来源。
缺失和失访,是诊疗过程留下的信息
缺失率只是起点;更重要的是谁缺、何时缺、为什么缺,以及缺失是否同时关联比较策略和结局。
可能由严重度、中心或治疗路径决定。
将分析模型变量、结局和辅助变量纳入插补。
改变假设并报告结论如何移动。
阈值不是固定标准。先看数据分布、组织特性、测序深度、样本重复和研究问题。
多重插补的有效性依赖插补模型、变量选择与可陈述的缺失假设;增加插补次数只降低 Monte Carlo 误差。
偏倚不是一张固定清单,而是数据如何进入比较的路径
在设计阶段写出选择、信息、混杂和时间相关偏倚,说明方向、来源和可检测信号。
纳入、完整病例、失访、检测选择。
错分、组间检测频率、病历编码。
指征、严重度、医疗可及性。
immortal time、prevalent user、延迟入组。
不是所有相关变量都应该调整
切换四种调整方案,观察 confounder、treatment response 和 specialty testing 在图中的角色。
阶段 2 / 4:Adjust severity。 调整暴露前共同原因,阻断后门路径。
阈值不是固定标准。先看数据分布、组织特性、测序深度、样本重复和研究问题。
DAG 把变量选择建立在共同原因、路径与条件化规则上;它不能从数据中自动发现真因果图,但能让假设显式、可争论。
绝对效应与相对效应回答不同的临床问题
切换结局频率,观察同一 2×2 表怎样产生 risk difference、risk ratio 与 odds ratio。
| Group | Event | No event | Total |
|---|---|---|---|
| Exposed | 400 | 600 | 1000 |
| Comparator | 200 | 800 | 1000 |
RR=2,而 OR=2.67;把 OR 叫风险倍数会夸大。
复算 2×2 表:同一批人,三种效应量
把上方 Common outcome 表中的事件与分母复算为 RD、RR、OR,并在明确二项独立样本假设后计算 RR 的近似区间。
可运行教学示例 · 安装依赖后整段执行
# Synthetic independent people, same fixed follow-up and event definition.
exposed_events <- 400
exposed_total <- 1000
comparator_events <- 200
comparator_total <- 1000
conf_level <- 0.95
cells <- c(exposed_events, exposed_total - exposed_events,
comparator_events, comparator_total - comparator_events)
stopifnot(all(is.finite(cells)), all(cells > 0), all(cells == floor(cells)),
conf_level > 0, conf_level < 1)
risk_e <- exposed_events / exposed_total
risk_c <- comparator_events / comparator_total
rd <- risk_e - risk_c
rr <- risk_e / risk_c
or <- (exposed_events / (exposed_total - exposed_events)) /
(comparator_events / (comparator_total - comparator_events))
se_log_rr <- sqrt(1 / exposed_events - 1 / exposed_total +
1 / comparator_events - 1 / comparator_total)
z <- qnorm(1 - (1 - conf_level) / 2)
ci_rr <- exp(log(rr) + c(-1, 1) * z * se_log_rr)
result <- c(risk_exposed = risk_e, risk_comparator = risk_c,
RD_percentage_points = 100 * rd, RR = rr, OR = or,
RR_lower = ci_rr[1], RR_upper = ci_rr[2])
print(round(result, 4))
# Try 20 and 10 events at the same totals; RR stays 2, RD and OR change.代码参数怎么调
先记录当前设置,每次只改变一个参数;比较下列输出检查,不用图是否好看来选择设置。
exposed_events = 400教学示例值 · 不是通用阈值
为什么用这个值:对应暴露组真实事件分子,本例只是可重算模拟输入。
- 增大 / 切换设置
- 总人数固定时提高暴露风险,RD、RR和OR均上升。
- 减小 / 回退设置
- 总人数固定时降低暴露风险,三个点估计下降。
- 核对事件定义、人数和共同随访窗口。
何时不适用 / 应停止:不能把多次事件或记录条数当独立患者;不能为显著性修改真实观察。
comparator_events = 200教学示例值 · 不是通用阈值
为什么用这个值:对照风险提供相对与绝对比较基准。
- 增大 / 切换设置
- 固定暴露组和人数时,RD、RR、OR下降。
- 减小 / 回退设置
- 三者上升;降到0时该log RR近似不能计算。
- 先读对照基线风险,再读RR。
何时不适用 / 应停止:病例对照按结局抽样时,此比例不是源人群的固定时间风险。
exposed_total / comparator_total = 1000 / 1000教学示例值 · 不是通用阈值
为什么用这个值:两组各自的独立人数,不是测量次数。
- 增大 / 切换设置
- 若事件数不变,对应风险降低;若按比例扩大四格,点估计不变而近似区间变窄。
- 减小 / 回退设置
- 事件数不变时风险提高;保持风险不变缩小人数,精度降低。
- 核对每组事件与非事件加和;更改分母后重查研究人群。
何时不适用 / 应停止:克隆记录不是增加独立样本;聚类/匹配设计需相应方差方法。
conf_level = 0.95本分析设置 · 需验证适用性
为什么用这个值:预先指定区间覆盖水平;95%是本示例选择,不是数据质量阈值。
- 增大 / 切换设置
- 临界值提高、区间变宽,点估计不变。
- 减小 / 回退设置
- 区间变窄,不能因此宣称证据增强。
- 比较0.90、0.95、0.99的区间及方向。
何时不适用 / 应停止:置信区间不量化未测混杂和测量偏倚;不能事后挑覆盖水平。
不能调整混杂、解决缺失/删失、估计HR或证明治疗因果效应;近似置信区间不包含系统偏倚。
阈值不是固定标准。先看数据分布、组织特性、测序深度、样本重复和研究问题。
生存分析同时观察事件与风险时间
每个时间点的比较来自仍在风险集中的人;删失需要清楚的规则与可辩护假设。
阈值不是固定标准。先看数据分布、组织特性、测序深度、样本重复和研究问题。
Kaplan–Meier 估计生存函数;Cox 模型比较风险集中的 hazard,并依赖 proportional-hazards 等模型假设。
调整后的模型仍然继承设计中的全部限制
模型可以条件化已测变量,却无法恢复错误时间零点、未知目标人群或系统性错分。
阈值不是固定标准。先看数据分布、组织特性、测序深度、样本重复和研究问题。
E-value 可以量化一个未测混杂因子与暴露和结局分别需要多强的关联才可能解释观察结果,但不处理选择偏倚、测量误差或错误估计量。
一张队列 Figure 如何反向追到临床问题?
切换 A–D Panel,检查入组流程、生存曲线、效应尺度和敏感性分析,并反向追踪到 PECO 与源记录。
Active-comparator cohort: strategy A versus strategy B
MedResearch Atlas Teaching Cohort · 2,480 synthetic participants · 24-month follow-up
临床参数首先改变目标人群和比较资格
回溯期、洗脱期、宽限期、随访、调整集和插补次数不能从通用阈值表复制。
Participant Flow
- 回答
- 最终分析人群从哪里来?
- 误读
- 只给最终 N,隐藏每一步排除。
Baseline Table
- 回答
- 两组在测量的基线特征上是否可比?
- 误读
- 用基线 P 值代替临床相关差异与平衡诊断。
Kaplan–Meier
- 回答
- 未发生事件的估计概率如何随时间变化?
- 误读
- 把曲线分离直接解释为因果或忽略风险集减少。
Forest Plot
- 回答
- 效应方向、大小与不确定性如何?
- 误读
- 按子组显著与否断言存在交互。
Love Plot
- 回答
- 加权或匹配前后协变量平衡如何?
- 误读
- 平衡已测混杂不等于消除未测混杂。
Missingness Map
- 回答
- 哪些变量、时点和人群更容易缺失?
- 误读
- 只报告总缺失率而忽略结构。
临床研究最常见的 8 个推断错误
沿 Error → Consequence → Better Thinking 检查设计错误如何传播到模型、Figure 和结论。
调整后的关联可以更可信,但不是无限因果
把支持范围限制在已定义人群、比较、时间、测量与假设之内。
结果可以支持什么?
在已定义人群、比较策略和随访时间内估计关联或目标效应
量化绝对与相对效应及统计不确定性
在已测变量范围内评估平衡、模型假设与稳健性
识别需要随机试验、负对照或新数据验证的薄弱环节
不能单独证明什么?
仅凭观察性显著关联证明无残余混杂的因果效应
把队列中的平均效应直接外推到所有患者或个体治疗决策
用调整后的 P 值证明机制路径
用一次敏感性分析排除所有未测混杂、选择偏倚和测量误差
用五个判断题检查临床推断
重点不是背术语,而是识别时间零点、变量角色、效应尺度、缺失假设和结论边界。
研究者把“随访 90 天内曾接受治疗”定义为暴露组,却从诊断日开始计算生存时间。首要问题是什么?
疾病严重度影响治疗选择,也影响住院;治疗后的早期反应位于治疗到住院的路径上。估计治疗总效应时优先调整什么?
暴露组风险 40%,比较组风险 20%。下列哪项正确?
某基线变量缺失 22%,且缺失与医院和疾病严重度相关。最好的第一步是什么?
调整后 HR=0.78(95% CI 0.64–0.96),并通过多项敏感性分析。最合适的结论是?
把患者数据压缩成一条可复核证据链
任何 Figure 都应能沿 Effect → Model → Cohort → Time Zero → PECO → Clinical Question 反向追踪。
Data
数据怎样产生与变化
Method
每一步为什么存在
Figure
结果怎样被看见
Evidence
结论能够走多远
参考与数据声明
本页所有参与者、事件数、生存曲线、效应量和敏感性分析均为原创教学模拟,不对应真实患者或治疗效果。本教程用于科研教育,不构成诊疗建议,也不替代伦理审查、统计方案、数据治理或专业因果推断咨询。
参考文献与进一步阅读
References 支撑本章论断;Further Reading 负责下一步学习。两者不混为一谈。
研究设计与透明报告
支撑观察性研究、随机试验对照理解,以及问题、变量、偏倚和结果的透明报告。
The Strengthening the Reporting of Observational Studies in Epidemiology (STROBE) statement: guidelines for reporting observational studies
Erik von Elm et al.. Annals of Internal Medicine, 2007.
为什么推荐:队列、病例对照和横断面研究的核心报告框架。
DOI 10.7326/0003-4819-147-8-200710160-00010 PMID 17938396 查看原文CONSORT 2025 statement: updated guideline for reporting randomised trials
Sally Hopewell et al.. BMJ, 2025.
为什么推荐:随机试验当前报告规范,用于理解设计差异。
DOI 10.1136/bmj-2024-081123 查看原文Using Big Data to Emulate a Target Trial When a Randomized Trial Is Not Available
Miguel A. Hernán, James M. Robins. American Journal of Epidemiology, 2016.
为什么推荐:把观察性因果问题写成明确的目标试验方案。
DOI 10.1093/aje/kwv254 PMID 26994063 PMC4832051 查看原文Specifying a target trial prevents immortal time bias and other self-inflicted injuries in observational analyses
Miguel A. Hernán, Sonia Hernández-Díaz, James M. Robins. Journal of Clinical Epidemiology, 2016.
为什么推荐:时间零点与 immortal-time bias。
PMID 27237061 查看原文混杂、缺失与生存分析
支撑 DAG 调整、缺失数据、生存曲线、Cox 模型与未测混杂敏感性分析。
Causal diagrams for epidemiologic research
Sander Greenland, Judea Pearl, James M. Robins. Epidemiology, 1999.
为什么推荐:用因果图定义调整集而不是按 P 值选变量。
DOI 10.1097/00001648-199901000-00008 PMID 9888278 查看原文Multiple imputation for missing data in epidemiological and clinical research: potential and pitfalls
Jonathan A. C. Sterne et al.. BMJ, 2009.
为什么推荐:多重插补的条件、实现与常见陷阱。
DOI 10.1136/bmj.b2393 PMID 19564179 PMC2714692 查看原文Nonparametric Estimation from Incomplete Observations
Edward L. Kaplan, Paul Meier. Journal of the American Statistical Association, 1958.
为什么推荐:删失数据下的生存函数估计。
DOI 10.1080/01621459.1958.10501452 查看原文Regression Models and Life-Tables
David R. Cox. Journal of the Royal Statistical Society: Series B, 1972.
为什么推荐:Cox proportional-hazards 模型。
DOI 10.1111/j.2517-6161.1972.tb00899.x 查看原文