精读笔记 · West, Welch & Galecki (3rd ed.)

《Linear Mixed Models: A Practical Guide Using Statistical Software》全书精读笔记 —— 读给临床统计程序员

这本书的九个案例来自动物实验、课堂研究和牙科,但它讲的数据结构与临床试验完全同构:聚类、重复测量、 纵向、聚类纵向。这份笔记按原书章节推进,每一章补三件书里没有的东西——这个概念在试验里对应什么、 SAS 怎么写、哪里会踩坑。配套的 MMRM clinical note 是第 2、6、7 章交汇处那一段生产代码的完整展开。

底本  第 3 版(SAS 9.4 / SPSS 28 / Stata 17 / R 4.1.2 / HLM 8) 改写  案例数据集替换为去标识化的 ADaM 形态;研究编号以 NNNN 代替
这份笔记不是什么

它不是原书的替代品,也不复述每个公式的推导。它记录的是读完一章之后应该留下的判断力: 什么时候该用哪个结构、软件默认在什么地方骗你、以及书里的动物实验案例怎样翻译成多中心试验的语言。 需要完整推导时回到原书;需要能直接跑的代码时看 MMRM clinical note 和它的 mmrm_check.sas。

1全书地图:九个案例,四种数据形状

先把书的骨架看清,再读各章就不会混。

这本书的结构是"方法 + 软件 + 案例"三线并行:第 2 章讲方法,第 3–8 章每章一个案例、换一个软件, 第 9 章讲功效。它的真正价值在于——六种数据形状各给了一个完整的可复现分析。

章数据形状书的案例软件临床试验里的对应物
3两水平聚类幼鼠 ∈ 窝(出生体重)SAS受试者 ∈ 中心;中心间变异、ICC
4三水平聚类学生 ∈ 教室 ∈ 学校HLM受试者 ∈ 中心 ∈ 地区/国家
5重复测量大鼠脑区 × 处理SPSS同一受试者的多个部位/多次实验室测量
6纵向自闭症儿童 2/3/5/9/13 岁R多次访视的疗效终点 → MMRM 主分析
7聚类纵向牙贴面(牙齿 ∈ 患者 × 3/6 月)Stata多中心 + 多次访视;协方差结构建模
8交叉随机效应SAT 成绩(学生 × 教师)R评估者 × 受试者交叉
9—功效与样本量多软件设计效应、脱落对功效的影响
读法建议

如果你只关心临床试验的疗效终点,第 2 章 + 第 6 章 + 第 7 章 是核心三角,第 3 章(中心效应)和第 9 章 (功效)按需。第 4、5、8 章解决的是"数据比我想的更嵌套/更交叉"的情形。第 2 章是全书的密度最高处, 值得读两遍——第二遍是为了第 2.3 节的隐含边际模型,那是理解 MMRM 的钥匙。

2第 1 章 导论:LMM 到底解决了什么问题

一句话定位,以及全书最关键的一次区分。

普通线性模型要求残差独立、方差恒定。聚类数据和纵向数据天生违反它:同一中心的受试者彼此更像, 同一受试者的多次访视彼此更像。忽略这一点不会让点估计明显偏,但会严重低估标准误——把本不显著的结果 做成显著。LMM 的做法是把这种相依结构显式建模,而不是假装不存在。

2.1 固定效应 vs 随机效应

维度固定效应随机效应
数学身份未知常数参数不可观测的随机变量(通常假定正态)
典型变量治疗组、性别、基线值、年龄中心、诊所、教室、窝、受试者
研究兴趣参数本身(回归系数)效应的变异程度(方差分量)
水平来源研究者关心的全部水平从更大总体中抽样得到的水平
能否预测直接估计可给出每组的 EBLUP
判断口诀

把这批水平换成另一批(换个中心、换个教室),结论还应该成立、而且这些水平本身不是研究对象 → 随机效应。这些水平就是你关心的全部(试验组 vs 对照组)→ 固定效应。 治疗组永远不应该是随机效应。判断标准不是"水平数多少",而是"要不要把结论推广到该因子的更大总体"。

2.2 在试验里的落点

书中的数据临床对应建模含义
幼鼠 ∈ 同一窝受试者 ∈ 同一中心中心 = 随机截距,估计中心间变异
学生 ∈ 教室 ∈ 学校受试者 ∈ 中心 ∈ 地区三水平嵌套
大鼠脑多次测量受试者多次访视重复测量 / MMRM 的原型
自闭症儿童生长曲线纵向终点随时间变化随机截距 + 随机斜率
牙贴面(聚类 + 纵向)多中心 + 多次访视随机效应 + 相关残差并存
随机区组设计交叉试验的序列 / 周期区组作为随机效应

三个实践要点。中心效应:多中心试验里中心通常作随机截距,但监管关注的是总体治疗效应, 不建议过度解读单个中心的 EBLUP。ICC(组内相关系数)刻画"中心间变异占总变异的比例",越大越不能 忽略聚类结构。EBLUP 可用于中心层面的质量监测(发现异常中心),但不该作为疗效结论的依据。

易错:群组数太少还硬上随机效应

中心数很少(如 < 10–15)时方差分量估计极不稳定,甚至估成 0。三个中心去估一个"中心间方差", 是在估一个几乎不可识别的参数。此时更稳妥的是把中心当固定效应,或转向 GEE 类方法。 这条在真实试验里比书里讲的更常遇到——因为很多 II 期试验中心数就是个位数。

3第 2 章(上):四类数据与模型设定

选模型的前提是把数据形状叫对名字。

3.1 四类数据

类型定义临床例子关键关切
聚类数据每个分析单位只测一次,嵌套于群组受试者 ∈ 中心群组间变异、ICC
重复测量数据同一单位在重复测量因子各水平下多次测量同一受试者的多个部位相关结构;脱落通常不是问题
纵向数据多时间点测量,时间跨度较长多次访视的疗效终点脱落是核心关切
聚类纵向嵌套 + 多次测量同时存在多中心 + 多次访视随机效应与相关残差并存

重复测量与纵向的界线值得单独记:前者缺失通常只因仪器故障,后者缺失主要来自患者脱落。 后者直接决定你要不要为缺失数据假设辩护——这是试验里几乎全部的情形。

同一份"相关",四种来源 聚类 受试者 ∈ 中心 组内更像 重复测量 多部位 / 多条件 同一单位内相关 纵向 多次访视 + 脱落 脱落是核心关切 聚类纵向 多中心 + 多次访视 随机效应 + 相关残差 四个格子填的都是同一件事:同一个"组"里的观测彼此更像。差别只在于那个组是什么—— 中心、受试者、受试者随时间、还是两者叠加。选错格子,模型就错在根上。 绿色实块 = 已观测;虚线格 = 脱落;蓝框 = 另一层嵌套。
Figure 1 | 四种数据形状。临床试验里几乎总是第三种或第四种——也就是必须处理脱落的那两种。

3.2 矩阵形式(全书的核心式子)

Y_i = X_i * beta + Z_i * u_i + e_i

u_i ~ N(0, D)      随机效应的协方差
e_i ~ N(0, R_i)    残差的协方差
符号含义与它对临床的所指
Yₕ第 i 个对象的因变量向量,长度可因对象而异——这正是 LMM 能吃不平衡数据的原因
Xₕ固定效应设计矩阵(nₕ × p)。含截距时第一列全为 1
βp 个固定效应参数——治疗效应住在这里
Zₕ随机效应设计矩阵(nₕ × q)。列数通常少于 Xₕ;只有随机截距时就是一列 1
Dq × q 对称正定,随机效应的方差协方差
Rₕnₕ × nₕ 对称正定,残差协方差

与标准线性模型的唯一根本差别:同一对象各次观测的残差可以相关;不同对象之间残差独立; 残差与随机效应独立。剩下的一切都是这个假设的推论 [doc]。

3.3 嵌套 vs 交叉

嵌套 = A 的某水平只能出现在 B 的一个水平内(教室 ∈ 学校)。交叉 = A 的某水平可跨 B 的多个水平测量 (处理 × 性别)。多中心试验里受试者嵌套于中心;但如果受试者在不同访视由不同评估者评估, 评估者与受试者是交叉的。搞错会直接导致模型错误,而且不会报错。

交叉效应还有一个工程含义:设计矩阵不再是分块对角,计算量显著更大。R 的 lmer() 与 SAS 的 PROC HPMIXED 用稀疏矩阵优化,大数据 + 交叉因子时优先用这两个。

4第 2 章(中):协方差结构——D 与 R

全书最实用的一节,也是最容易因为"忘了写"而出错的地方。

4.1 两个矩阵,两套选择

矩阵结构参数个数含义
D(随机效应)非结构化 UNq(q+1)/2方差、协方差全部自由估计。随机系数模型常用
D方差分量 VCq各有自己的方差,协方差全设为 0——即假定各随机效应不相关
Rₕ(残差)对角 Diagonal1默认 残差独立同方差,σ²I
Rₕ复合对称 CS2任意两次观测相关相同、方差恒定
RₕAR(1)2相隔 k 单位的协方差 = σ²ρᵏ;隐含等间隔
RₕToeplitz2K − 1每条对角线各自一个参数,比 AR(1) 灵活
最重要的一个事实

本书讨论的所有软件过程,都把对角结构作为 Rₕ 的默认。不显式指定就等于 Rₕ = σ²I——纵向数据的时间相关根本没被建模,标准误仍然错 [doc]。 在试验里这意味着:写了 RANDOM 却没写 REPEATED,或者写了 REPEATED 却漏了 TYPE=,跑出来的是一个看起来正常、结论错误的模型。

4.2 随机截距 vs 随机斜率

只加随机截距 = 假定"每个受试者的基线不同,但治疗效应相同"。加随机斜率才允许 "每个受试者的时间/治疗效应不同"。选错会错误地约束个体间差异——这在探索"哪些人应答更好"时是致命的, 但在估计总体平均治疗效应时,随机斜率往往不是必需的。这个取舍由 estimand 决定,不是由拟合优度决定。

4.3 组特异协方差

书里第 3、5、7 章都有实例:不同组(如男女、不同治疗组)的 D、Rₕ 结构相同但参数取值不同,用于建模异方差。SAS 用 GROUP= 实现。

repeated avisitn / subject=usubjid type=un group=trtp;

临床场景:试验组应答更离散时,允许两组的方差不同。代价是参数翻倍,且它必须是 SAP 里预先声明的 决定——看到残差图不漂亮再加,就是事后挑选。

5第 2 章(下):边际模型、ML/REML、Kenward–Roger

理解 MMRM 的钥匙。这一节值得读两遍。

5.1 隐含边际模型

带随机效应的 LMM 对 uₕ 积分掉,得到

V_i = Z_i D Z_i' + R_i

三个要点:(一)LMM 与其隐含边际模型共享同一组协方差参数;(二)LMM 的约束更严——LMM 要求 D 和 Rₕ 各自正定,隐含边际模型只要求 Vₕ 正定; (三)LMM 的估计实际是在隐含边际模型的框架内完成的。

由此得到的实用推论

随机截距 + 方差恒定的残差,其隐含边际模型就是复合对称(CS) [doc]。所以"加随机截距"与"直接指定 CS 残差结构"在线性模型下是同一个模型——差别只在你想推断什么。这句话同时解释了为什么 MMRM 不写 RANDOM:它跳过了中间那一步,直接建模 Vₕ。

5.2 两条铁律

检验对象用什么估计原因
固定效应MLREML 的似然依赖固定效应设计矩阵,比较不同固定效应模型时似然值不可比
协方差参数REMLREML 修正了 ML 因估计固定效应损失自由度而对方差分量的低估

还有一条常被违反的前提:LRT 的两个模型必须拟合于同一个数据子集。有缺失时,不同协变量会导致模型 自动剔除的观测不同,此时似然值不可比——必须先固定同一个分析集。

5.3 固定效应标准误被低估,以及 KR

无论 ML 还是 REML,Var(β̂) 都因为用 V̂ 代替真实 V 而向下偏倚;ML 因为 V̂ 本身有偏,问题更重。 Kenward & Roger (1997) 的调整把 V̂ 的变异也计入,并给出近似的分母自由度 [lit]。

在试验里这意味着

样本量只有几百、访视缺失又严重的 II/III 期试验,DDFM=KR 是把 I 类错误压回名义水平的手段, 不是可选项。配套的 mmrm_check.sas 有一条断言专门确认 KR 的分母自由度确实与默认的 containment 不同——如果相同,说明选项没生效。

5.4 非正定(Not Positive Definite)

协方差参数估计可能收敛到参数空间边界甚至边界之外,导致 G 估计非正定。诱因有三:数据性质、 组内观测过于相似、模型设定错误。处理顺序:

  1. 换初值——或先用 EM 迭代取初值。
  2. 重新缩放协变量——参数量级相差几个数量级时小的那个容易被推到边界。例:研究持续数天却用分钟 记录时间 → 时间方差分量极小 → 改成小时可显著改善数值稳定性。这一条在真实项目里最常被忽略。
  3. 去掉不必要的随机效应——通常先去高阶项。但也有例外:第 6 章自闭症分析先去掉截距的随机效应、 保留年龄线性和二次项的随机效应,这需要充分论证。
  4. 改拟合隐含边际模型——约束更少。
  5. SAS 的 NOBOUND 去掉正定性约束。
  6. 直接拟合非结构化边际模型——所有对象在相同的少数时间点测量时的标准做法(即 MMRM)。

后两条(边际模型)不能对随机效应及其方差做推断,且同样不保证收敛。

6第 2 章(末):检验、信息准则、诊断、EBLUP/ICC/混叠

6.1 模型构建的两条路线

路线起点步骤与风险
自上而下
(Verbeke & Molenberghs)
最饱和的
均值结构
先定固定效应 → 再选 D → 再选 Rₕ → 最后简化均值。临床试验应当走这条:均值结构由 SAP 定死,不为拟合优度让路。
逐步向上
(HLM 派系)
空模型无条件均值 → 加 Level-1 预测变量 → 随机系数检验 → 加 Level-2 解释变量。探索性研究常用;在确证试验里会破坏 α 控制。

6.2 EBLUP 与收缩

EBLUP = 经验最佳线性无偏预测,是随机效应的预测值。三个特性必须记住:

6.3 ICC

ICC = sigma2_between / (sigma2_between + sigma2_within)

经验阈值:ICC > 0.05 就有建模价值;> 0.1 强烈建议加随机截距。三水平数据只算两层会高估 ICC——漏掉的那一层被算进了"组内"还是"组间"取决于你怎么切,总之是错的。

6.4 Aliasing(混叠)

两类:内禀混叠——某个效应无法被数据唯一确定(如每个受试者只有一个访视,却想估受试者随机截距 和残差,两者不可分);协方差参数混叠——两个协方差参数估的是同一个东西(如 CS 结构下再想估 随机截距方差与残差相关)。

警告信号与处理

信号:协方差估计的 SE 极大或缺失、Z 值不报告、迭代日志里出现"parameters are not uniquely determined"、不同初值给出不同答案、两个参数的估计值几乎相等。处理:报告可识别的合并参数, 而不是硬报某一个 D 元素——审稿人挑的就是这个。在 MMRM 里,UN 结构下"漏写 TYPE="与"随机截距 + 对角残差"的混叠是最常见的一种。

6.5 协变量中心化

中心化不改变治疗对比,但降低截距与协变量之间的共线,让收敛更稳、截距可解释。必须写明是哪种: 总体均值中心化(跨所有组)还是组均值中心化(组内)——两者在多水平模型里含义不同,混用会导致系数解释错位。 论文审稿挑的就是"中心化方法没写明"。

7第 3 章:两水平聚类 —— 多中心试验的中心效应

幼鼠 ∈ 窝,翻译成受试者 ∈ 中心。

书里第 3 章用 PROC MIXED / PROC GLIMMIX 分析幼鼠出生体重,窝是随机截距。 在试验里这就是基线期的中心效应分析:中心间差异有多大?要不要在后续模型里吸收它?

7.1 模型

Y_ij = beta_0 + beta_1 * TRTP_ij + s_j + e_ij

s_j ~ N(0, sigma2_site)      中心随机截距
e_ij ~ N(0, sigma2)          受试者内残差

7.2 SAS:随机截距 + 边界 LRT + ICC

/* 基线记录:一行一个受试者 */
proc sort data=adlbc out=base nodupkey;
   by usubjid;
   where avisitn = 0;
run;

proc glimmix data=base;
   class siteid usubjid trtp;
   model aval = trtp / solution ddfm=kr;
   random intercept / subject=siteid;
   /* 边界 LRT:检验 中心间方差 = 0 */
   covtest 'site_var' 0 .;
   ods output covparms = covparms;
run;

/* ICC = 中心间方差 / (中心间方差 + 残差方差) */
proc sql;
   select sum(case when covparm = 'Intercept' then estimate else 0 end)
          / sum(estimate) as icc
   from covparms;
quit;
为什么这一章用 GLIMMIX 而 MMRM 用 MIXED

这不是偏好问题。PROC GLIMMIX 有 COVTEST 语句,可以对协方差参数做似然比 检验——包括方差分量为 0 这种边界情形(此时检验统计量是 0.5·χ²(0) + 0.5·χ²(1) 的混合分布,不能用普通 χ²)。PROC MIXED 没有 这个语句。所以:需要做"这个随机效应要不要保留"的检验时用 GLIMMIX;连续终点的 MMRM 主分析用 MIXED。 两者不要混为一谈,也不要反过来用。

7.3 输出怎么读

Covariance Parameter Estimates 第一行是中心间方差,第二行是受试者内残差。COVTEST 的 P 值回答"中心随机效应是否必要"。Solution for Fixed Effects 里治疗组的对比——在基线期它应该 不显著(随机化的检验),显著才说明有问题。

What to take away

中心 ICC 哪怕只有 0.05–0.1,也足以让忽略它的标准误偏小。但在监管视角下,中心效应更多是敏感性分析 的议题而非主分析的焦点——总体治疗效应才是 estimand。把它算出来是为了知道模型该不该吸收它。

8第 4 章:三水平 —— 受试者 ∈ 中心 ∈ 地区

书里用 HLM,试验里用 SAS 写同样的事。

学生 ∈ 教室 ∈ 学校,对应受试者 ∈ 中心 ∈ 地区/国家。三水平的价值在于把变异分解到正确的层级: 如果 15% 的变异来自地区、5% 来自中心,那么只建模中心会低估标准误。

proc mixed data=adsl method=reml;
   class regionid siteid trtp;
   model aval = trtp / solution ddfm=kr;
   random intercept / subject=regionid;
   random intercept / subject=siteid(regionid);
run;
嵌套必须写出来

subject=siteid 与 subject=siteid(regionid) 是不同的模型:前者把 siteid 当作全局唯一的标识,等于声明了一个两水平模型;后者才声明了三层的嵌套关系。真实数据里 siteid 常常是 "01"、"02" 这种在每个地区重复出现的编号——此时漏写 (regionid) 会把不同地区的同名中心合并成一个,静默地出错。这一条在真实项目里是高频缺陷。

ICC 在多层下要按层分解:

ICC_region = sigma2_region / (sigma2_region + sigma2_site + sigma2_res)
ICC_site   = (sigma2_region + sigma2_site) / (...)

9第 5 章:重复测量 —— 多次实验室测量与随机系数

书里用 SPSS,模型是随机系数;与第 6 章 MMRM 的区别要分清。

大鼠在多个脑区、多种处理条件下测量——重复测量因子不是时间,因此没有脱落问题。临床对应: 同一受试者的多个部位、多种刺激条件、或安全性实验室的多个参数(按 PARAMCD 分别建模)。

9.1 随机系数模型

proc mixed data=rep;
   class usubjid region trt;
   model aval = trt region trt*region / solution ddfm=kr;
   random intercept region / subject=usubjid type=un;
run;

type=un 在 RANDOM 上意味着随机截距与随机斜率可以相关—— 例如"基线高的受试者变化也更快"。若设为 type=vc(或省略协方差),等于假定二者独立, 这是一个真实但常常未经论证的约束。

9.2 与第 6 章 MMRM 的区别

维度第 5 章 随机系数第 6 章 MMRM
时间/位置的处理常作连续变量(随机斜率)作分类变量(每个访视一个参数)
随机效应显式建模(RANDOM)不设,直接建模 Vₕ
推断目标对象特异(条件)总体平均(边际)
缺失关切通常无脱落是核心
临床主用途探索个体轨迹差异注册试验主要终点

10第 6 章:纵向数据 —— 通向 MMRM

全书对临床最重要的一章。它的完整展开在另一篇笔记里。

自闭症儿童在 2、3、5、9、13 岁多次测量——时间点少且固定、脱落是核心关切、要推断总体平均。 这正是注册试验里连续型纵向终点的标准形态。

书里沿随机系数的路子走(RANDOM intercept age);而监管实践走的是另一条路: 不设随机效应,直接把 Vₕ 建成非结构化。两条路在线性模型下常常数学等价, 差别在推断目标——监管机构要的是总体平均治疗效应,边际模型直接给出的就是这个量。

这一章的完整实现

生产代码、每个选项的代价、六个输入场景、四个缺陷、以及一个可运行的校验程序,全部在 MMRM for a longitudinal continuous endpoint 里, 程序在 mmrm_check.sas。这里只留一句结论: MMRM 不填补任何东西——它把已观测的那部分放进似然,缺失的那部分根本不出现。这就是它在 MAR 下 无偏、在 MNAR 下同样无能为力的全部原因。

11第 7 章:协方差结构建模 —— 怎么选,以及选错会怎样

书里用牙贴面案例(Stata),结构选择的完整流程在这里。

11.1 选择策略

结构参数定位理由
UNK(K+1)/2主分析不对方差与相关施加任何模式,不会因结构错设而偏倚。代价是参数平方增长、小样本可能不收敛。
TOEP2K − 1第一降级同一时间滞后共享一个相关,但方差仍可各访视不同——比 AR(1) 更贴近真实。
AR(1)2谨慎隐含等间隔。访视在 0/4/8/12/16/24 周时用它需要论证;不等间隔会破坏假设。
CS2仅敏感性等价于随机截距模型的隐含边际结构。作为主分析假设过强。
%macro fit(type);
   proc mixed data=adbds method=reml;
      class usubjid trtp(ref='Placebo') avisitn;
      model chg = base_c trtp avisitn trtp*avisitn / ddfm=kr;
      repeated avisitn / subject=usubjid type=&type;
      ods output FitStatistics = fit_&type;
   run;
%mend fit;
%fit(un) %fit(toep) %fit(ar(1)) %fit(cs)
最大的风险不在统计,在流程

用 AIC/BIC 挑结构,然后报告挑中的那个,是数据驱动的选择,会破坏 α 控制,是审评必问的点。 正确的顺序是:在 SAP 里写死主分析结构 + 有序的降级路径(UN → TOEP → AR(1) → sandwich), 揭盲后照着走。信息准则只在探索性分析或设计阶段有位置。行业里已经有人把这条流程自动化成宏—— PharmaSUG 2015 SP02 的 %mmrm 支持 sel_method=ORDER,按给定顺序取第一个收敛的 结构,而不是取 AIC 最小的。这才是"预先规定"该有的样子 [lit]。

11.2 混叠在结构选择里的表现

UN 结构下若再试图估"随机截距 + 对角残差",两个来源估的是同一份协方差——这就是协方差参数混叠。 表现是估计值不稳定、SE 巨大、不同初值给不同答案。处理:去掉其中一个来源(通常是去掉 RANDOM,这正是 MMRM 的做法),或报告可识别的合并量。

12第 8 章:交叉随机效应 —— 评估者 × 受试者

书里案例最少、但试验里最容易被漏掉的一章。

SAT 成绩的例子里,学生与教师是交叉的(一个学生被多位教师教过,一位教师教过多位学生)。 临床对应:不同访视由不同评估者评分(HAM-D、PANSS 这类量表尤其常见)。评估者与受试者交叉, 而评估者通常嵌套于中心——一个三层的交叉-混合结构。

proc mixed data=adqs;
   class usubjid raterid siteid trtp avisitn;
   model chg = base_c trtp avisitn trtp*avisitn / solution ddfm=kr;
   random intercept / subject=raterid;              /* 评估者:交叉 */
   random intercept / subject=siteid;               /* 中心:嵌套 */
   repeated avisitn / subject=usubjid type=un;      /* 受试者内相关 */
run;
代价与取舍

交叉效应的设计矩阵不再是分块对角,计算量显著更大。若评估者人数少或每位评估者覆盖的受试者极少, 方差分量不可识别——此时把它当固定效应或直接忽略(并用固定效应吸收中心)更现实。但忽略前要先问: 评估者偏倚会不会系统性地区分治疗组?在开放标签试验里,这个问题的答案是"会",那它就必须进模型。

13第 9 章:功效与样本量 —— 设计效应是那个被漏掉的乘子

第 3 版新增,也是把前面的方差分量用回来的地方。

13.1 设计效应

聚类/纵向设计下的样本量不等于独立观测下的样本量。设计效应(Design Effect):

DE = 1 + (m - 1) * ICC

其中 m 是每组的观测数,ICC 是组内相关。所需的有效样本量是 n_independent × DE [lit]。

最常犯的错

用独立观测的公式算样本量,然后发现功效不足。ICC = 0.1、每中心 30 人的试验, DE = 1 + 29 × 0.1 = 3.9——需要的样本量接近四倍。这个数必须在方案阶段就算出来, 而它依赖的 ICC 只能来自文献或先导数据。第二个常见错误是用 CS 而非 UN 估计 σ²,这会高估功效。

13.2 落地

/* 先拟合先导/历史数据,拿到方差分量 */
proc mixed data=pilot;
   class usubjid trtp avisitn;
   model chg = trtp avisitn trtp*avisitn / ddfm=kr;
   repeated avisitn / subject=usubjid type=un;
   ods output CovParms = cp;
run;
/* 再用这些分量做模拟式功效评估 */

PROC POWER 对混合模型的支持有限;实务中更常见的是模拟:用先导数据的方差分量生成数据, 重复拟合,数拒绝率。R 侧是 simr / powerLMM。

14附录 A:看懂公式所需的四个矩阵直觉

只讲会反复用到的那几个,不求完备。

  1. 矩阵乘法 = 逐行做加权求和。Xβ 就是把每个受试者的协变量按系数加权加起来。
  2. 形状比内容重要。nₕ × p 乘 p × 1 得 nₕ × 1。模型的维度推导靠形状就够了。
  3. 协方差矩阵 = 一张"变异地图"。对角线是各时点/各组的方差,非对角线是它们之间的协方差。 D、Rₕ、Vₕ 都是这种地图。
  4. 正定 = 这张地图自洽。任何方向的线性组合都有正方差。软件报"not positive definite", 就是在说你要求的结构图与数据不相容——通常是参数要多了。

两个在似然里反复出现的东西:|Vₕ|(广义方差,把相关考虑进去后的总变异) 与 (y − Xβ)′ Vₕ⁻¹ (y − Xβ)(马氏距离,按相关结构加权后的残差平方和)。 逆矩阵 Vₕ⁻¹ 的作用就是"加权"——相关越强的地方权重越低。Cholesky 分解被反复提及, 是因为它能保证优化过程中矩阵始终正定,同时让 |V| 和对数好算。

15附录 B:全书易错点速查

按主题分块。带 ★ 的是在真实试验里最容易撞上的。

15.1 估计与检验

#易错点后果与正确做法
1 ★用 REML 做固定效应的 LRT似然不可比,p 偏小 → 改用 ML
2用 ML 做协方差参数的 LRT方差被低估 → 改用 REML
3 ★不指定 ddfm默认 containment,小样本偏乐观 → ddfm=kr
4LRT 两模型用了不同样本似然不可比 → 先固定同一分析集
5用 REML 拟合比较 AIC/BIC信息准则不可比 → 改 ML 后比较

15.2 协方差与模型设定

#易错点后果与正确做法
6 ★不显式 type=un退化成对角,标准误严重低估 → 写明 type=
7AR(1) 用在非等距访视等间隔假设被破坏 → 改 TOEP 或 UN
8 ★嵌套写成 subject=siteid漏声明 region,模型变成两层 → 写 siteid(regionid)
9把交叉当嵌套方差被错估 → 多个 subject=
10报告单条 D 元素混叠,审稿挑刺 → 报告可识别的合并参数
11忽略非正定警告参数不可信 → 按 §5.4 的顺序处理,别直接报
12协变量尺度差几个数量级收敛失败 → 重新缩放(分钟改小时)

15.3 缺失数据与监管

#易错点后果与正确做法
13 ★LOCF 当主分析有偏、假阳性 → MMRM / MI 为主
14 ★临时换协方差结构数据驱动,破坏 α → SAP 预先规定降级路径
15不报告 MAR 假设、不做敏感性分析MNAR 风险未暴露 → pattern-mixture / tipping point
16estimand 不明确审评质疑 → ICH E9(R1) 五属性 + 五策略
17把基线当响应变量损失 DF 且引入偏倚 → 基线作协变量

15.4 功效

#易错点后果与正确做法
18 ★忽略设计效应 DE样本量不足,功效低 → DE = 1 + (m−1)·ICC
19用 CS 而非 UN 估 σ²功效被高估 → 模拟或 UN 估计
20不预先模拟试验做完才发现功效不足 → 先导数据 + 模拟

16附录 C:从书到临床的一页对照

把这本书的词汇翻译成试验里的词汇。

书里的说法试验里的说法要注意的差异
随机效应 / 方差分量中心效应、受试者间变异书里关心方差本身;试验里它通常是要吸收掉的干扰,不是目标
固定效应 β治疗效应书里在条件模型下解释(对象特异);试验要的是总体平均
隐含边际模型MMRM书里作为定理讲;试验里是缺省主分析
随机系数 / 生长曲线个体轨迹差异探索性;确证试验主要终点通常不需要
ICC中心同质性书里用于决定是否加随机效应;试验里还用于样本量折算
EBLUP中心层面的预测书里可以解释它;试验里只用于质量监测
脱落/缺失estimand + MAR + 敏感性分析书里几乎不讲——这是本书最大的缺口,必须由 ICH E9(R1) 与行业会议资料补上
模型选择(AIC/BIC)SAP 预先规定 + 降级路径书里鼓励比较;监管要求先定后跑——这是书与实务最尖锐的一处冲突 [lit]
读书时最该记住的一句

这本书教的是模型;注册试验要的是预先规定的推断承诺。两者重叠但不相同——凡书里说 "比较一下哪个结构拟合更好"的地方,在试验里都要换成"揭盲前写死",其余部分可以直接用。