3. 因果推断入门:相关性不等于因果性,潜在结果框架与DAG

在供应链预测,尤其是间歇需求预测中,我们经常发现:“高相关性”并不等于“因果性”。例如,促销活动期间销量上升,但销量上升也可能是因为季节性需求高峰恰好与促销时间重合。如果不区分相关与因果,模型会学到虚假关联,导致预测在环境变化时崩溃。

本章从三个核心概念入手,建立因果推断的工程直觉:相关 vs 因果、潜在结果框架、有向无环图(DAG)。

3.1 相关性 ≠ 因果性:三个经典陷阱

在间歇需求预测中,以下三类虚假相关最为常见:

陷阱类型 预测场景举例 为什么不是因果
混杂偏倚 冰淇淋销量与溺水人数高度相关 共同原因“夏季高温”同时驱动两者
选择偏倚 只分析有促销的SKU,发现促销与销量负相关 促销通常针对滞销品,样本选择导致反向关联
反向因果 高库存水平与高缺货率同时出现 缺货导致紧急补货,库存上升是结果而非原因
工程启示: 在特征筛选时,仅靠相关系数或树模型重要性排序会引入虚假特征。必须用因果图显式标注变量关系,再决定哪些特征进入预测模型。

3.2 潜在结果框架:因果效应的数学定义

潜在结果框架(Rubin Causal Model)为每个个体定义了两种潜在状态:

  • Y(1):接受处理(如促销)时的潜在结果(销量)。
  • Y(0):未接受处理时的潜在结果(销量)。

个体因果效应定义为:τᵢ = Yᵢ(1) - Yᵢ(0)。但现实中,每个个体只能观测到一种状态,这就是因果推断的基本问题。

在间歇需求预测中,我们关心的是平均处理效应(ATE):

ATE = E[Y(1) - Y(0)]

对于间歇需求,ATE 需要分层计算:
- 需求发生概率 P(Y > 0 | Treatment)
- 需求发生时的平均量 E[Y | Y > 0, Treatment]

潜在结果框架要求满足三个关键假设:

  1. SUTVA:个体之间无交互(一个SKU的促销不影响另一个SKU的潜在结果)。
  2. 条件可忽略性:给定协变量后,处理分配与潜在结果独立。
  3. 正值性:每个个体都有非零概率接受处理。
间歇需求特化: 对于零膨胀数据,ATE 应分解为“是否发生”和“发生多少”两个因果通道。建议分别估计两个通道的因果效应,再合成总效应。

3.3 有向无环图(DAG):因果结构的可视化语言

DAG 用节点表示变量,用有向边表示因果关系。在间歇需求预测中,DAG 帮助我们识别:

  • 混杂因子:同时影响处理和结果,需要控制。
  • 对撞因子:同时受处理和结果影响,不能控制。
  • 中介变量:处理通过它影响结果,控制它会阻断因果路径。

下面是一个典型的间歇需求预测 DAG 示例,展示促销、季节性、库存与需求之间的因果结构:

间歇需求预测因果DAG示例 间歇需求预测因果DAG:促销与需求 季节性 促销活动 库存水平 需求 缺货率 历史销量(对撞) ⚠ 对撞因子偏倚 历史销量同时受需求和缺货率影响 条件于它会产生虚假关联

3.4 DAG 在特征工程中的三条操作规则

基于 DAG 结构,我们可以制定特征筛选的因果规则:

DAG 结构 操作 间歇需求预测示例
混杂因子(X → T, X → Y) 必须控制(加入模型) 季节性同时影响促销决策和需求,必须作为特征
对撞因子(T → C, Y → C) 禁止控制(剔除特征) 历史销量是需求和缺货率的对撞,不应作为特征
中介变量(T → M → Y) 根据目标决定是否控制 库存水平是促销影响需求的中介,预测总效应时不控制
工程踩坑记录: 某项目将“历史销量”作为强特征预测未来需求,模型在促销期间表现极好,但促销结束后预测崩溃。事后分析发现:历史销量是促销和缺货率的对撞因子,模型学到了虚假的“促销→高销量→高库存→再促销”循环,而非真实的因果机制。

3.5 从 DAG 到特征提取:三步工程流程

在间歇需求预测项目中,我们按以下步骤将因果结构落地为特征:

  1. 绘制 DAG:与业务方一起,画出所有可能影响需求的变量及其因果方向。
  2. 识别节点类型:标记每个节点为混杂、对撞、中介或纯结果。
  3. 生成特征集:
    • 保留所有混杂因子作为特征。
    • 剔除所有对撞因子。
    • 对中介变量,根据预测目标(总效应 vs 直接效应)决定是否保留。

下面是一个完整的特征提取流程 DAG:

因果特征提取工程流程 因果特征提取工程流程 ① 业务DAG绘制 与业务方共创因果图 ② 节点类型标注 混杂/对撞/中介 ③ 特征集生成 保留/剔除/条件保留 因果特征集 用于预测模型 📋 间歇需求特征清单示例(基于DAG) ✅ 保留(混杂):季节性指数、周几、节假日、竞品活动 ❌ 剔除(对撞):历史销量、历史缺货次数、历史退货率 ⚠ 条件保留(中介):库存水平(预测总效应时剔除,预测直接效应时保留) 💡 间歇需求特有:将“需求是否发生”和“需求发生量”分别构建DAG

3.6 本章小结

  • 相关性不等于因果性:混杂、对撞、选择偏倚是间歇需求预测中虚假关联的主要来源。
  • 潜在结果框架:为因果效应提供了严格的数学定义,在零膨胀数据中需分解为“发生概率”和“发生量”两个通道。
  • DAG 是特征工程的因果罗盘:通过识别混杂(必须控制)、对撞(必须剔除)、中介(按需控制),可以系统性地生成因果有效的特征集。