过滤与分流的数学模型说明
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 流程定义

  1. 根据协变量 X_i 计算 Eligibility:E_i
  2. 仅对 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 流程定义

  1. 在全体 S 上先进行随机分流
  2. 在执行路径中,仅当 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. 设计取舍总结

维度先过滤再分流先分流再过滤
随机化 supportS_eS
EstimandConditional ATEITT
是否无偏
工程复杂度
工业常见性

8. 核心结论

  1. Eligibility 本身不赋予实验系统新的随机化能力
  2. 真正的区别来自随机化机制是否在 S_e 上重新定义
  3. 基于 uid 的 Bernoulli / hash 随机化是流式系统下的现实最优解
  4. 完全均衡是方差优化问题,而非因果无偏性的必要条件

9. 适用边界说明

本文讨论前提:

  • Eligibility 为 pre-treatment 变量
  • 不存在 post-treatment filtering
  • 实验期间分组保持不变(进组不出组)

违反上述前提将破坏因果可识别性,不在本文讨论范围内。

过滤与分流的数学模型说明
https://georgeji.com/archives/guo-lu-yu-fen-liu-de-shu-xue-mo-xing-shuo-ming
作者
George.Ji
发布于
更新于
许可