写点什么

【原理到实战】实验异质性分析

  • 2025-11-12
    北京
  • 本文字数:2254 字

    阅读完需:约 7 分钟

什么是实验的异质性

1. 如何理解实验结果中的指标变化

当我们看到如下试金石实验指标结果时



在进行分析前,可能我们的第一直觉是这样的



经过异质性分析后,可能会发现实际情况是这样的


2. 概念解析与定义

实验的异质性,一般被称为 HTE(即 Heterogeneous Treatment Effects),意为实验中同一个 treatment 对不同的实验样本,得到的策略效果可能是不一样的。另外还有一些重要的概念需要大家理解



** 此处采用 Donald Rubin 提出的潜在因果框架(Potencial outcome)来对实验效果进行统计公式上的描述 [1]*


  • 由于业内并没有统一的定义,HTE、CATE、ITE 概念在一定程度上会有混用的情况,读者需要参考描述以及上下文综合判断名词的含义

3. 异质性分析对于业务的意义

1.了解策略对于不同用户的不同效果,协助挖掘背后的业务逻辑,辅助迭代、进行新一轮的实验


2.尝试寻找策略最优子人群,让整体无效的策略,有机会进行部分先推全;反之依然,让部分负向的策略,减少损失


3.对实验结果建模后预测,对线上提供动态的最优人群支持


根据试金石测算,以某产品线下 6 月运行中的 35 个实验为例,仅 23% 左右的实验没有在实验人群视角发现异质性

异质性分析方法概述

1. 异质性分析的维度选择

  1. 对于分流单元的维度 X,当 X 满足以下条件时,可以作为异质性的维度进行后续分析



T⊥X


,即分析维度与实验分流无关 (Unconfoundedness)


▪分析工具化的常见简化方式:对于一个分流 ID,选取他在首次进入实验前一天的标签取值


▪简单推导:



**T 是随机化的,


T⊥Y,T⊥XT⊥Y,T⊥X


,所以


E[Yi(1)∣x∈X]=E[Yi(1)|Ti=1,x∈X]E[Yi​(1)∣x∈X]=E[Yi​(1)|Ti​=1,x∈X]


,所以(3)成立


  1. 异质性分析的维度分析 bad case 举例


假设我们需要分析的实验策略为:根据用户的活跃度标签,低、中、高频用户的优惠券策略分别做了新/老策略迭代


2. 异质性分析的方法选择


** CATE、ITE 建模方法的细节可参考 Appendix*

CATE 下钻探索工具 MVP 版逻辑介绍

项目地址:http://xingyun.jd.com/codingRoot/abtest_ds/CATE_model


模型逻辑:多维度的维度下钻 + Decision Tree Interpreter


快速开始:


from CATE_model.utils.workflow import CateWorkFlowyaml_path = 'config.yaml'                # 按分析要求配置YAML文件cate_workflow = CateWorkFlow(yaml_path)  # 初始化CATE对象cate_workflow.prepare_analysis()         # 初始化ABTestAnalyzercate_workflow.execute_cate_auto()        # 自动执行所有环节cate_workflow.df_out.styler              # 输出CATE差异最大子人群目标指标统计
复制代码


项目基本流程



YAML 配置方法:第一次可以先根据项目 demo 修改,并参考YAML配置说明.md


项目 MVP 功能说明


1.通过填写 YAML 配置,自动生成实验分析 SQL,并执行取数,目前包括


自动获取试金石实验分流信息


自动获取试金石实验指标信息


解析实验 CATE 研究使用的用户标签表


自动生成所有数据源的关联关系


2.为实验 CATE 研究提供自动化工具,目前包括


自动化生成实验目标指标的 CATE 差异最大化子人群


提供调参接口,高级用户可自定义模型参数


提供可视化的模型结果输出,高级用户可根据输出调节模型表现


3.为实验的下钻分析提供探索、分析功能,目前包括


CATE 人群的实验效果统计检验


CATE 人群的多指标拆解


CATE 人群的特征描述

实验异质性分析 show case

针对近期某频道重点改版实验,此项目整体实验指标为负向不显著,但通过运行分析工具后发现,有两类子人群分别具有正向和负向的显著效果



对于这些子人群,我们发现他们在业务漏斗上的变化并不一样,那么下次对于频道进行迭代时,产品经理可以整理有针对性的选择对负向人群进行针对性的优化


未来展望

1.自定义分流表


2.自定义画像表 & 经海路画像表


3.CATE 模型迭代


4.通用维度配置模版 & 业务场景模版


5.图形化交互界面,简化输入配置

Appendix & 参考资料

****【1】因果分析框架 & Donald Rubin 的 Potencial Outcome

•Potencial Outcome


◦设


TiTi​


代表第 i 个样本是否收到了处理(treatment,策略影响),是为 1,否为 0



YiYi​


代表个体 i 的结果,另外记


{Yi(1),Yi(0)}{Yi​(1),Yi​(0)}


为个体 i 接受处理、对照的潜在结果


◦每个个体通常只会有 1 个状态,个体因果作用无法直接观测,我们只有


Yi=Ti∗Yi(1)+(1−Ti)∗Yi(0)Yi​=Ti​∗Yi​(1)+(1−Ti​)∗Yi​(0)


◦在随机化实验的场景下,我们可以得到



其中最重要的逻辑为:


T 是随机化的,


T⊥YT⊥Y


,所以


E[Yi(1)]=E[Yi(1)|Ti=1]E[Yi​(1)]=E[Yi​(1)|Ti​=1]


,所以(3)成立


•因果推断(一):因果推断两大框架及因果效应:https://zhuanlan.zhihu.com/p/652174282


•因果推断简介之二:Rubin Causal Model (RCM) 和随机化试验:https://cosx.org/2012/03/causality2-rcm/

【2】ANOVA 与 CATE 的交互效应分析

当需要进行异质性分析的维度为 X 时,我们可以通过构建下列回归方程去描述 X 在实验中是否存在显著的异质性,当


β3β3​


对应的 F-test 显著时,我们就可以认为实验在维度 X 上存在显著的异质性


Y=β0+β1∗T+β2∗X+β3∗X∗TY=β0​+β1​∗T+β2​∗X+β3​∗X∗T



X∈{0,1}X∈{0,1}


时,我们可以用下图来进行异质性的理解


【3】CATE & ITE 估计

idea1:对于每个参与实验的对象 i,如果能得到

Yi(1)Yi​(1)

Yi(0)Yi​(0)

的合理估计,那么 ITE 就可求了 idea2:对于实验人群 X,如果能找到一种观测方式,求得

E[Yx(1)−Yx(0)∣x∈X]E[Yx​(1)−Yx​(0)∣x∈X]

,那么 CATE 就有了


•Meta Learner 的极简介绍


◦S-Learner


▪stage1: 利用模型估计


μ(x,t)=E[Y∣X=x,T=t]μ(x,t)=E[Y∣X=x,T=t]


▪stage2: 定义 CATE 结果如下


τ^(x)=μ^(x,T=1)−μ^(x,T=0)τ^(x)=μ^​(x,T=1)−μ^​(x,T=0)


◦T-Learner


▪sta

发布于: 3 小时前阅读数: 12
用户头像

拥抱技术,与开发者携手创造未来! 2018-11-20 加入

我们将持续为人工智能、大数据、云计算、物联网等相关领域的开发者,提供技术干货、行业技术内容、技术落地实践等文章内容。京东云开发者社区官方网站【https://developer.jdcloud.com/】,欢迎大家来玩

评论

发布
暂无评论
【原理到实战】实验异质性分析_京东科技开发者_InfoQ写作社区