Hetergeneous Treatment Effect旨在量化實驗對不同人群的差異影響,進而通過人群定向/數值策略的方式進行差異化實驗,或者對實驗進行調整。Double Machine Learning把Treatment作為特征,通過估計特征對目標的影響來計算實驗的差異效果。
Machine Learning擅長給出精准的預測,而經濟學更注重特征對目標影響的無偏估計。DML把經濟學的方法和機器學習相結合,在經濟學框架下用任意的ML模型給出特征對目標影響的無偏估計
HTE其他方法流派詳見 因果推理的春天-實用HTE論文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 文章鏈接
背景
HTE問題可以用以下的notation進行簡單的抽象
- Y是實驗影響的核心指標
- T是treatment,通常是0/1變量,代表樣本進入實驗組還是對照組,對隨機AB實驗\(T \perp X\)
- X是Confounder,可以簡單理解為未被實驗干預過的用戶特征,通常是高維向量
- DML最終估計的是\(\theta(x)\),也就是實驗對不同用戶核心指標的不同影響
最直接的方法就是用X和T一起對Y建模,直接估計\(\theta(x)\)。但這樣估計出的\(\theta(x)\)往往是有偏的,偏差部分來自於對樣本的過擬合,部分來自於\(\hat{g(X)}\)估計的偏差,假定\(\theta_0\)是參數的真實值,則偏差如下
DML模型
DML模型分為以下三個步驟
步驟一. 用任意ML模型擬合Y和T得到殘差\(\tilde{Y},\tilde{T}\)
步驟二. 對\(\tilde{Y},\tilde{T}\)用任意ML模型擬合\(\hat{\theta}\)
\(\theta(X)\)的擬合可以是參數模型也可以是非參數模型,參數模型可以直接擬合。而非參數模型因為只接受輸入和輸出所以需要再做如下變換,模型Target變為\(\frac{\tilde{Y}}{\tilde{T}}\), 樣本權重為\(\tilde{T}^2\)
步驟三. Cross-fitting
DML保證估計無偏很重要的一步就是Cross-fitting,用來降低overfitting帶來的估計偏差。先把總樣本分成兩份:樣本1,樣本2。先用樣本1估計殘差,樣本2估計\(\hat{\theta}^1\),再用樣本2估計殘差,樣本1估計$ \hat{\theta}^2$,取平均得到最終的估計。當然也可以進一步使用K-Fold來增加估計的穩健性。
Jonas在他的博客里比較了不使用DML,使用DML但是不用Cross-fitting,以及使用Cross-fitting的估計效果如下
從propensity的角度來理解
最近想到一個比下面GMM更加直觀理解DML的角度跟大家分享下。為了更好理解,我們做一些簡化假設。
假設樣本在高維特征空間上依舊完全隨機,那預測T的第一步會得到全部是0.5的概率預測, 實驗組的\(\tilde{Y}\)是0.5, 對照組是-0.5。
預測Y的第一步(假設用GBDT擬合),每個葉節點(k)會得到\(0.5*(\mu_{cmp,k} + \mu_{exp,k})\)的預測值。假設每個葉節點不再存在HTE,實驗對葉節點內所有實驗組樣本都有相同效果,實驗組樣本的殘差為\(0.5*(\mu_{exp,k} - \mu_{cmp,k} )\),而對照組為\(0.5 *(\mu_{cmp,k} - \mu_{exp,k})\),它們互為相反數。這樣在用\(\tilde{T}\)來擬合\(\tilde{Y}\)的時候負負為正,得到的就會是\(\mu_{exp,k} - \mu_{cmp,k}\)
對隨機AB實驗T的預測往往會在0.5附近,但一般不會是0.5因為實驗的樣本終究是有限的,被高維特征一切割多少會有不均勻的情況。假定某個葉節點T的預測是0.6,實驗組\(\tilde{T}\)=0.4,對照組\(\tilde{T}\)=-0.6。這也意味着在這個葉節點實驗組樣本占40%對照組占60%。保持節點無HTE的假設,Y的預測變為$0.6\mu_{exp,k} +0.4 \mu_{cmp,k} $,實驗組樣本的殘差為\(0.4*(\mu_{exp,k} - \mu_{cmp,k} )\),而對照組為\(0.6 *(\mu_{cmp,k} - \mu_{exp,k})\),這樣公式7里面的\(\frac{\tilde{Y}}{\tilde{T}}\)是不是就make sense了。至於sample weight的調整也和propensity的邏輯一致,越接近0.5意味這估計的HTE越近似真實HTE,越偏離0.5意味着樣本估計偏差越高因此權重越低。
從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\)的估計。
想看更多因果推理AB實驗相關paper的小伙伴看過來 Paper_CausalInference_abtest
參考材料&開源代碼
- 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.
- V. Chernozhukov, D. Nekipelov, V. Semenova, and V. Syrgkanis. Two-Stage Estimation with a High-Dimensional Second Stage. 2018.
- X. Nie and S. Wager. Quasi-Oracle Estimation of Heterogeneous Treatment Effects. arXiv preprint arXiv:1712.04912, 2017.
- Microsoft 因果推理開源代碼 EconML
- Double Machine Learning 開源代碼 MLInference
- https://www.linkedin.com/pulse/double-machine-learning-approximately-unbiased-jonas-vetterle/
- https://www.zhihu.com/question/41312883