博客 / 詳情

返回

【原理到實戰】實驗異質性分析

在這裏插入圖片描述

什麼是實驗的異質性

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

user avatar u_16213646 頭像 chunzhendegaoshan 頭像 chen_5ec331606ce75 頭像 yizhidanshendetielian 頭像
4 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.