随机化基本概念:简单随机化 vs 区组随机化

随机化的底层逻辑

做实验设计,第一个绕不开的词就是“随机化”。

很多人觉得随机化就是“随便分一分”,其实不是。随机化的核心目的,是为了消除那些我们看不见、也控制不了的混杂因素带来的偏倚。说白了,就是让两组数据除了处理因素不同,其他条件在统计上差不多。

我刚开始做生物统计时,有一次接手一个药效评价实验。实验者直接按动物体重从轻到重分两组。结果呢?体重轻的全在对照组,体重重的全在给药组。最后数据分析发现给药组肝酶指标异常高,但那是肥胖带来的代谢问题,不是药物毒性。一次“分组不平衡”,浪费了整整一轮实验。

从那以后,我对随机化的敬畏感就上来了。你想想看,如果分组时不把随机化做扎实,后面的统计分析再花哨也没用,根基就是歪的。

简单随机化:抛硬币式的分配方式

定义:每个受试单元独立地、以固定概率(通常1:1)被分配到各组。

实现方式很简单。比如抛硬币、抽签、或者用随机数发生器。每次分配跟之前的分配结果没有任何关系。

  • 优点:实现简单,操作便捷,理论上没有预测风险。
  • 缺点:样本总量较小时,分组结果可能严重失衡。
⚠ 我在项目中遇到过:一个30只小鼠的预实验,用简单随机化分两组,最后竟然出现了对照12只、给药18只的结果。按理说1:1分配不可能这么偏,但小样本下就是会发生。你没法责怪随机数生成器——概率就是这样,偶尔给你来一个极端结果。

为什么会这样?因为简单随机化每次分配都是独立的,不会“补”前面的不平衡。如果样本量足够大(比如几百上千例),这种失衡会逐渐被均摊掉。但当样本量只有几十甚至十几时,失衡风险就大到不可忽视。

下面是我常用的一个简单随机化操作示例(R语言):

# 简单随机化:30只小鼠,1:1分配
set.seed(20231001)
n <- 30
group <- sample(c("Control", "Treatment"), size = n, replace = TRUE)
table(group)

跑一次你可能得到 16:14,再跑一次可能 18:12。不稳定,这就是简单随机化的“脾气”。

区组随机化:让分组更“工整”

定义:把受试单元分成多个小批次(区组),每个批内按均衡比例分配。例如每4个受试单元为一个区组,每个区组内2个分到对照组、2个分到治疗组。

这么做的目的很明确:保证在任何阶段截断实验,各组样本量都不至于偏离太远。

  • 优点:分组平衡性好,尤其适合中期分析或分阶段入组的试验。
  • 优点:可以结合分层因素使用,进一步提高均衡性。
  • 缺点:如果区组大小固定且最小区组被知晓,存在预测风险。
💡 我个人习惯:做多中心试验时,每个中心单独设置区组随机化。这样每个中心内的分组都是均衡的,不会出现某个中心全部分到一种处理的情况。我在一个III期临床试验中就是这么做的,后来统计分析时发现各中心间的异质性被很好地控制了。

避坑指南——我曾经踩过的一个坑:一个实验里,我用了固定区组大小4,结果入组护士慢慢摸到了规律——看到前面3个人都分到对照组,她就猜第4个肯定是治疗组。那怎么办呢?解决方案是用随机区组大小。比如区组大小在2、4、6之间随机选,外人很难猜出规律。

下面是区组随机化的常见操作示例:

# 区组随机化:区组大小4,每组2个
library(blockrand)
set.seed(20231001)
block.def <- blockrand(n = 30, id.prefix = "SUB", block.size = 4,
                       randomization = .5, 
                       strata = c("Center1", "Center2"))
block.def

这段代码在每个中心内分别生成区组随机序列,出来之后就可以直接用于入组分配。

核心区别一览

维度 简单随机化 区组随机化
概念 每次分配独立,不依赖前面结果 按批次均衡分配,批次内比例固定
分配方式 抛硬币、随机数表 区组内排列组合
分组平衡性 小样本下易失衡 控制良好,任何阶段截断都较平衡
操作复杂度 低 中等,需事先定义区组
预测风险 低 固定区组大小存在泄露风险
适用场景 大样本、简单试验 小样本、中期分析、多中心试验

质控视角下的选择思路

从质控角度讲,我个人更倾向于对随机化过程做“双重保险”。

第一层:选择对的随机化方法。
第二层:用中心化随机系统或密封信封法,防止人为干预。

另外,我做质控审查时一定会检查随机序列的生成过程。比如看随机数种子的记录是否完整、是否存在人为分组痕迹、区组列表是否被提前生成。这些细节一不小心就会出问题。

📌 总结一句话:简单随机化适合“粗放”场景,区组随机化适合“精细”场景。如果你做的是一个受试者数量有限、且有中期分析的实验,别用简单随机化,那是给自己挖坑。

下面这张图帮你理清两种随机化的核心逻辑对比:

随机化设计核心路径对比 简单随机化 独立抛硬币式分配 小样本下分组可能失衡 统计效率降低 需大样本才能稳定 区组随机化 按批次均衡分配 任何阶段截断都平衡 统计效力更高 需注意预测风险 对比 选择区组随机化,尤其适合小样本、多中心、中期分析的场景 避免使用固定区组大小,降低预测风险
🔑 个人经验总结:我做过几十个项目的随机化质控审查,发现一个共同点——凡是后期出现分组平衡性问题需要补做的,90%都是因为用了简单随机化且样本量不够。做实验设计时宁可多花10分钟配置区组随机化,也别事后花几天补救数据。