Paper慢慢讀 - AB實驗人羣定向 Double Machine Learning

Hetergeneous Treatment Effect旨在量化實驗對不一樣人羣的差別影響,進而經過人羣定向/數值策略的方式進行差別化實驗,或者對實驗進行調整。Double Machine Learning把Treatment做爲特徵,經過估計特徵對目標的影響來計算實驗的差別效果。html

Machine Learning擅長給出精準的預測,而經濟學更注重特徵對目標影響的無偏估計。DML把經濟學的方法和機器學習相結合,在經濟學框架下用任意的ML模型給出特徵對目標影響的無偏估計git

HTE其餘方法流派詳見因果推理的春天-實用HTE論文GitHub收藏github

核心論文

V. Chernozhukov, D. Chetverikov, M. Demirer, E. Duflo, C. Hansen, and a. W. Newey. Double Machine Learning for Treatment and Causal Parameters. ArXiv e-prints 文章連接app

背景

HTE問題能夠用如下的notation進行簡單的抽象框架

  • Y是實驗影響的核心指標
  • T是treatment,一般是0/1變量,表明樣本進入實驗組仍是對照組,對隨機AB實驗\(T \perp X\)
  • X是Confounder,能夠簡單理解爲未被實驗干預過的用戶特徵,一般是高維向量
  • DML最終估計的是\(\theta(x)\),也就是實驗對不一樣用戶核心指標的不一樣影響

\[ \begin{align} Y &= \theta(x) T + g(X) + \epsilon &\text{where }E(\epsilon |T,X) = 0 \\ T &= f(X) + \eta &\text{where } E(\eta|X) = 0 \\ \end{align} \]機器學習

最直接的方法就是用X和T一塊兒對Y建模,直接估計\(\theta(x)\)。但這樣估計出的\(\theta(x)\)每每是有偏的,誤差部分來自於對樣本的過擬合,部分來自於\(\hat{g(X)}\)估計的誤差,假定\(\theta_0\)是參數的真實值,則誤差以下學習

\[ \sqrt{n}(\hat{\theta}-\theta_0) = (\frac{1}{n}\sum{T_i^2})^{-1}\frac{1}{\sqrt{n}}\sum{T_iU_i} +(\frac{1}{n}\sum{T_i^2})^{-1}(\frac{1}{\sqrt{n}}\sum{T_i(g(x_i) -\hat{g(x_i)})}) \]spa

DML模型

DML模型分爲如下三個步驟htm

步驟一. 用任意ML模型擬合Y和T獲得殘差\(\tilde{Y},\tilde{T}\)

\[ \begin{align} \tilde{Y} &= Y - l(x) &\text{ where } l(x) = E(Y|x)\\ \tilde{T} &= T - m(x) &\text{ where } m(x) = E(T|x)\\ \end{align} \]blog

步驟二. 對\(\tilde{Y},\tilde{T}\)用任意ML模型擬合\(\hat{\theta}\)

\(\theta(X)\)的擬合能夠是參數模型也能夠是非參數模型,參數模型能夠直接擬合。而非參數模型由於只接受輸入和輸出因此須要再作以下變換,模型Target變爲\(\frac{\tilde{Y}}{\tilde{T}}\), 樣本權重爲\(\tilde{T}^2\)

\[ \begin{align} & \tilde{Y} = \theta(x)\tilde{T} + \epsilon \\ & argmin E[(\tilde{Y} - \theta(x) \cdot \tilde{T} )^2]\\ &E[(\tilde{Y} - \theta(x) \cdot \tilde{T} )^2] = E(\tilde{T}^2(\frac{\tilde{Y}}{\tilde{T}} - \theta(x))^2) \end{align} \]

步驟三. Cross-fitting

DML保證估計無偏很重要的一步就是Cross-fitting,用來下降overfitting帶來的估計誤差。先把總樣本分紅兩份:樣本1,樣本2。先用樣本1估計殘差,樣本2估計\(\hat{\theta}^1\),再用樣本2估計殘差,樣本1估計$ \hat{\theta}^2$,取平均獲得最終的估計。固然也能夠進一步使用K-Fold來增長估計的穩健性。
\[ \begin{align} sample_1, sample_2 &= \text{sample_split} \\ \theta &= \hat{\theta}^1 + \hat{\theta}^2 \\ \end{align} \]

Jonas在他的博客裏比較了不使用DML,使用DML可是不用Cross-fitting,以及使用Cross-fitting的估計效果以下



從GMM的角度來理解

Generalized Method of Moments廣義矩估計 (GMM)在經濟學領域用的更多,在論文裏乍一看到moment condition琢磨半天也沒想起來,索性在這裏簡單的回顧下GMM的內容。

啥是矩估計呢?能夠簡單理解是用樣本的分佈特徵來估計總計分佈,分佈特徵由\(E((x-a)^K)\),樣本的K階矩來抽象,一階矩就是均值,二階原點矩就是方差。舉幾個例子吧~

例如,整體樣本服從\(N(\mu, \sigma^2)\)就有兩個參數須要估計,那麼就須要兩個方程來解兩個未知數,既一階矩條件\(\sum{x_i}-\mu=0\)和二階矩條件\(\sum{x_i^2} - \mu^2 - \sigma^2=0\)

再例如OLS,\(Y=\beta X\)能夠用最小二乘法來求解\(argmin (Y-\beta X)^2\),但一樣能夠用矩估計來求解\(E(X(Y-\beta X))=0\)。實則最小二乘只是GMM的一個特例。

那針對HTE問題,咱們應該選擇什麼樣的矩條件來估計\(\theta\)呢?
直接估計\(\theta\)的矩條件以下
\(E(T(Y-T\theta_0-\hat{g_0(x)}))=0\)
DML基於殘差估計的矩條件以下
\(E([(Y-E(Y|X))-(T-E(T|X))\theta_0](T-E(T|X)))=0\)

做者指出DML的矩條件服從Neyman orthogonality條件,所以即使\(g(x)\)估計有偏,依舊能夠獲得無偏的\(\theta\)的估計。


參考材料&開源代碼

  1. V. Chernozhukov, M. Goldman, V. Semenova, and M. Taddy. Orthogonal Machine Learning for Demand Estimation: High Dimensional Causal Inference in Dynamic Panels. ArXiv e-prints, December 2017.
  2. V. Chernozhukov, D. Nekipelov, V. Semenova, and V. Syrgkanis. Two-Stage Estimation with a High-Dimensional Second Stage. 2018.
  3. Microsoft 因果推理開源代碼 EconML
  4. Double Machine Learning 開源代碼 MLInference
  5. https://www.linkedin.com/pulse/double-machine-learning-approximately-unbiased-jonas-vetterle/
  6. https://www.zhihu.com/question/41312883
相關文章
相關標籤/搜索