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

京东云开发者
• 阅读 24

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

什么是实验的异质性

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

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

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

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

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

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

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

2. 概念解析与定义

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

英文简称 英文全称 中文译名 含义 公式
ATE Average Treatment Effect 平均处理效应 所有实验对象的平均实验效果 ATE=E[Y(1)−Y(0)]ATE=E[Y(1)−Y(0)]
CATE Conditional Average Treatment Effect 条件平均处理效应 满足一定条件的实验对象的平均实验效果 CATEX=E[Yx(1)−Yx(0)∣x∈X]CATEX​=E[Yx​(1)−Yx​(0)∣x∈X]
ITE Individual Treatment Effect 个体处理效应 某个实验对象的实验效果 ITEi=E[Yi(1)−Yi(0)],i=1,2,...NITEi​=E[Yi​(1)−Yi​(0)],i=1,2,...N

** 此处采用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举例

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

分析目标 & 常见错误方法举例 不成立原因简述 推荐的实验分析方式
不同活跃度人群的策略效果 在实验运行7天后,利用实验用户在第7天的活跃度标签进行结果拆解 在实验开始后,用户的活跃度标签受到了策略影响,即T⊥X不成立 使用用户在进入实验前1天的活跃度标签值
分别分析低频策略、中频策略、高频策略对于低、中、高频用户的策略效果 按天取每天用户的活跃度标签,对实验结果进行拆解 用户的活跃度标签受到了策略影响,即T⊥X不成立 ·用户所在分组应该是确定的,不随时间改变 分别建立3个人群正交实验
分析高单价类目商品(3C家电)和低单价类目商品(休闲食品)的转化率差异 选取xx类目曝光用户,计算实验周期内对应类目的曝光订单转化率 分析目标是面向指标维度的(sku所在类目),而非分流单元的维度(C端实验通常为账号、设备),不适用本文提到的异质性分析方法 试金石现已支持指标维度下钻 曝光订单转化率的分子、分母均受到策略影响,需在观测全面后综合判断

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

研究对象 研究方法 适用场景 pros & cons
CATE 维度下钻 ·低维 ·分析目标明确 + 快速简单,便于理解 + 产品化容易 - 维度选择依赖分析师经验 - 交互效应处理困难
方差分析(ANOVA,ANCOVA) ·低维 ·分析目标较明确 ·交互效应评估 + 解释性强,统计学理论背书 + 可以处理低维度交互效应 + 可作为feature selection的候选方法 - 基于线性模型假设 - 高维度交互效应解读困难
因果树(Causal Tree) ·高维 ·分析目标不明确,希望探索 + 建模方法符合分析直觉 - 模型复杂度不足,无法准确描述复杂的现实世界效果 - 本方法为现代机器学习因果算法的基石之一,有更好的替代方案
ITE Meta - Learner ·高维 ·希望输出ITE ·算法训练 + 算法常用,可大规模并行,有工程化先例 + 在过往的simulation中X-learner对ITE估计的准确度表现优秀 + X-learner通常使用xgboost模型,对各种feature有较强的处理能力 - 计算量大,耗资源 - 需要调参 - 由于缺乏统计推断结果,一般不会直接产出p-value,存在对于ITE数值准确性的质疑,算法利用结果的rank居多
DML ·高维 ·希望输出ITE和置信区间 + 有严谨统计理论证明ITE估计的无偏有效性,可产出样本级的ITE以及置信区间 + 在过往的simulation中Causal Forest DML对ITE估计的准确度表现优秀 + DML模型框架本身具备一定的robust特性,在结合Forest模型后,调参需求低,不容易过拟合,对各种feature有较强的处理能力 - 慢,耗资源,工程化先例少
ITE + CATE hybrid ITE Model + Decision Tree Interpreter ·高维 ·分析目标不明确,希望探索 + 决策树的建模方法符合分析直觉 + ITE模型可以较好的对复杂的现实世界进行抽象总结 - ITE模型可能会慢

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

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

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

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

快速开始:

from CATE_model.utils.workflow import CateWorkFlow
yaml_path = 'config.yaml'                # 按分析要求配置YAML文件
cate_workflow = CateWorkFlow(yaml_path)  # 初始化CATE对象
cate_workflow.prepare_analysis()         # 初始化ABTestAnalyzer
cate_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

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

实验HTE人群统计
【原理到实战】实验异质性分析

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

人群编号 用户画像总结 频道uv 点击uv 加车uv 转化订单数
3 年轻人,低活跃 1.0% 2.2% 2.6% 5.8%
38 非年轻人,高线城市,plus用户 -2.2% -2.2% -3.1% -5.7%



未来展望

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

点赞
收藏
评论区
推荐文章
想做长期的 AB 实验?快来看看这些坑你踩了没
作者:江颢1.什么是长期的AB实验大部分情况下,我们做的AB实验都是短期的,一到两周或者一个月之内的,通过分析这段时期内测得的实验效应得出实验结论,并最终进行推广。长期实验即运行时间达数月甚至数年的实验,实验的长期效应指的是需要数月数年的AB实验才能积累的
从不均匀性角度浅析AB实验 | 京东云技术团队
本篇的目的是从三个不均匀性的角度,对AB实验进行一个认知的普及,最终着重讲述AB实验的一个普遍的问题,即实验准确度问题。
Wesley13 Wesley13
4年前
CSRF攻击实验 ——合天网安实验室学习笔记
实验链接本实验以PHP和Mysql为环境,展示了CSRF攻击的原理和攻击过程。通过实验结果结合对攻击代码的分析,可更直观清晰地认识到Web安全里这种常见的攻击方式。链接:http://www.hetianlab.com/expc.do?ce5984201a5b7e42c2959b6e4cdfdb932c(http
Wesley13 Wesley13
4年前
DHCP协议分析
实验环境•操作机:WindowsXP实验目的1、熟悉DHCP协议的基本概念2、学会利用wireshark捕获含有DHCP协议的数据包3、在wireshark中分析DHCP协议提供IP地址的四个步骤实验工具owireshark实验步骤DHCP的工作原理DHCP的前身:BOOTP
Wesley13 Wesley13
4年前
PHP 性能分析与实验——性能的宏观分析
【编者按】此前,阅读过了很多关于PHP性能分析的文章,不过写的都是一条一条的规则,而且,这些规则并没有上下文,也没有明确的实验来体现出这些规则的优势,同时讨论的也侧重于一些语法要点。本文就改变PHP性能分析(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.oneapm.
Stella981 Stella981
4年前
SpreadJS 纯前端表格控件应用案例:PtLims云平台
PtLims云平台是一款针对实验室的整套环节而设计的计算机应用系统,用于实现实验室人、机、料、法、环的全面资源管理,并构建一套完整的检验综合管理和产品质量监控体系,可满足实验室日常管理要求,保证化验分析数据的严格管理和控制。下面,让我们一起来看看青岛帕特是如何在“PtLims云平台”中应用表格技术,实现“数据填报(https://www.oschin
Wesley13 Wesley13
4年前
Java实验
\恢复内容开始题目如下:\实验任务一\:面积计算(设计型)。1、实验要求:实验报告中要求包括程序设计思想、程序流程图、源代码、运行结果截图、编译错误分析等内容。2、实验内容:(1)设计一个形状类Shape,包含一个getArea()方法,该方法不包含实际语句。(2)在Shape类基础上设计
天航星 天航星
1年前
EasyExcel 填充+写入
使用EasyExcel导出Excel时,有时会遇到如下情况:既要根据模板填充某些sheet又要根据业务写入某些sheetEasyExcel官方没有提供这样的示例,经过自己的研究和实验,得到了如下步骤:1.定义导出文件名javaStringfileName"
京东云开发者 京东云开发者
10个月前
【A/B实验常见问题】实验异常值应该如何处理?
作者:京东零售周佳慧背景大家在做实验时有没有遇到过以下的问题?实验分流不太稳定,多次分流以后,发现随机分组历史数据指标波动特别大实验结果不符合预期,在去掉几个特殊用户后结果变化较大、甚至正负反转不同的业务场景设置的指标过滤规则不同,例如A场景过滤掉了成单超
产品经理克星 产品经理克星
3星期前
AI重塑科研:近屿智能带你开启智能研究新纪元
当AI在实验室里同时扮演着加速器与风险源的双重角色,我们该如何驾驭这股力量?近屿智能的AI大模型系列,正是这个时代的解题钥匙。2025年全球科研AI市场规模已达125亿美元。人工智能正以前所未有的力量重塑着科研模式——从海量数据分析到实验优化,从效率提升到