什麼是實驗的異質性
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. 異質性分析的維度選擇
- 對於分流單元的維度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)成立
- 異質性分析的維度分析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