过滤与分流的数学模型说明
9
1. 问题背景与动机
在实验系统(尤其是广告实验系统)中,常见两种处理流程:
- 先过滤再分流(Filter → Randomize)
- 先分流再过滤(Randomize → Filter)
工程实现上,这两种方式看似只是调用顺序不同,但在实验设计与因果推断层面,它们对应不同的随机化空间(support)和不同的 estimand。本文从数学与实验设计角度,对“过滤与分流”进行形式化说明。
2. 基本符号与定义
2.1 实验单元(Unit)
全体实验单元集合:
S = {1, 2, \dots, N}
单个实验单元记为:
i \in S
2.2 协变量与 Eligibility
每个实验单元具有一组协变量:
X_i
Eligibility 判定函数定义为:
E_i = f(X_i), \quad E_i \in {0,1}
Eligible 子集为:
S_e = { i \in S \mid E_i = 1 }
约束条件:Eligibility 必须是 pre-treatment 变量,不得依赖实验分组或实验结果。
2.3 Treatment 与潜在结果(Potential Outcomes)
Treatment 指示变量:
T_i \in {0,1}
潜在结果定义为:
Y_i(0), ; Y_i(1)
其中:
- Y_i(0):unit i 在对照条件下的结果
- Y_i(1):unit i 在实验条件下的结果
3. 先过滤再分流(Filter → Randomize)模型
3.1 流程定义
- 根据协变量 X_i 计算 Eligibility:E_i
- 仅对 i \in S_e 的 unit 进行随机分流
形式化表示为:
P(T_i = 1 \mid i \in S_e) = p
T_i \text{ 未定义}, \quad \forall i \notin S_e
3.2 随机化空间(Support)
- 随机化仅发生在 S_e
- 等价于在条件总体 S_e 上进行实验
3.3 Estimand
该设计对应的因果问题是:
\tau_{cond} = \mathbb{E}\big[ Y_i(1) - Y_i(0) \mid E_i = 1 \big]
即:
在 eligible 子集内,treatment 的平均因果效应(Conditional ATE)。
3.4 统计性质
若在 S_e 内满足随机化条件,则:
T \perp \big( Y(0), Y(1) \big) \mid E = 1
此时,对 \tau_{cond} 的估计是无偏的。
4. 先分流再过滤(Randomize → Filter)模型
4.1 流程定义
- 在全体 S 上先进行随机分流
- 在执行路径中,仅当 E_i = 1 时,treatment 才实际生效
形式化表示为:
P(T_i = 1) = p, \quad \forall i \in S
观测结果为:
Y_i = \begin{cases}
Y_i(T_i), & E_i = 1 \
Y_i(0), & E_i = 0
\end{cases}
4.2 Non-compliance 视角
当 E_i = 0 时,即使 T_i = 1,treatment 也不会生效,属于:
- one-sided non-compliance
4.3 Estimand(ITT)
该设计直接估计的是 Intent-To-Treat 效应:
\tau_{ITT} = \mathbb{E}[Y \mid T=1] - \mathbb{E}[Y \mid T=0]
在 one-sided compliance 条件下,有:
\tau_{ITT} = P(E=1) \cdot \tau_{cond}
5. Eligibility 与随机化机制的独立性
5.1 Eligibility 不等于再随机化
若实验分组由确定性函数生成:
T_i = g\big( \mathrm{hash}(uid_i) \big)
则:
- 是否调用实验系统
- 是否先判断 E_i
不会改变 T_i 的分布,仅裁剪其定义域。
5.2 Slot 固化结论
对于基于 uid 的确定性 hash 分流,Eligibility 只是裁剪 support,而不会引入新的统计随机性。
6. 在 S_e 上重新随机化的必要条件
6.1 真正不同的“先过滤再分流”
只有在 S_e 上重新定义随机变量 T,该流程才在统计意义上不同。
例如:
- 不放回抽样(without replacement)
- 完全随机化设计(completely randomized design)
- 分层 / block 随机化
6.2 不放回抽样示例
在 S_e 中:
- 固定 |T=1| = |T=0|
- 每个 unit 只参与一次抽样
优点:
- 保证样本量完全均衡
- 降低估计方差
代价:
- 需要 S_e 的全量视图
- 不适用于流式请求系统
7. 设计取舍总结
| 维度 | 先过滤再分流 | 先分流再过滤 |
|---|---|---|
| 随机化 support | S_e | S |
| Estimand | Conditional ATE | ITT |
| 是否无偏 | 是 | 是 |
| 工程复杂度 | 高 | 低 |
| 工业常见性 | 中 | 高 |
8. 核心结论
- Eligibility 本身不赋予实验系统新的随机化能力
- 真正的区别来自随机化机制是否在 S_e 上重新定义
- 基于 uid 的 Bernoulli / hash 随机化是流式系统下的现实最优解
- 完全均衡是方差优化问题,而非因果无偏性的必要条件
9. 适用边界说明
本文讨论前提:
- Eligibility 为 pre-treatment 变量
- 不存在 post-treatment filtering
- 实验期间分组保持不变(进组不出组)
违反上述前提将破坏因果可识别性,不在本文讨论范围内。
过滤与分流的数学模型说明
https://georgeji.com/archives/guo-lu-yu-fen-liu-de-shu-xue-mo-xing-shuo-ming