今天想要跟大家分享一篇很有趣的論文— Double/Debiased Machine Learning for Treatment and Structural Parameters,用來衡量政策的成效。假設我們想要估計一項 $10 M 的行銷計畫對于消費者的影響,因此定義 outcome variable 為消費者在行銷計畫期間的消費金額,此時我們常會使用一種叫做 Partially Linear Model 的建模方法。
當期消費 可能有幾種不同的影響因素:一是消費者本身對我們公司產品的消費潛力以及喜好,假設這些因素可以用一組代理變數
來表示;第二個是跟行銷計畫有關,令計劃的成效變數是
,也就是我們估計的目標;第三,這個行銷計畫的成效可能會跟過去的消費分數有關,因此我們將這個與計畫成效有關的分數令定義為
,比如說:
是過去消費計畫的總和。在上面的論述下,我們會寫出模型:
。之所以叫做 Partially Linear Model,是因為政策的影響
跟原本的預期消費水準
是線性關係,但
可以是非線性函數。
機器學習模型引入的偏誤
傳統上用來估計 Partially Linear Model 的方法是交替最小化 (Alternative Minimization),也就是:
- 設定
的初始值 $latex \widehat{\theta_0}^{(0)}$
- 建立
與
之間的機器學習模型,以估計
- 建立
與
之間的線性迴歸,以估計
- 重複上列估計方法,直到
收斂,得到最終的估計
與
上面這個估計是最大的問題在於: $latex \widehat{\theta_0}$ 就算樣本數 很大,但因也不會機率收斂到
。如何得到收斂速度呢?首先,我們透過線性迴歸,可以得到最小平方法 (OLS) 下的估計式:
由上是我們可以得到以下估計誤差:
其中 因爲
的性質會機率收斂到 0,但
項因為
的期望值通常不等於 0(因為引入了
項),因此整項隨著
趨近於無限大時,其實是會發散的,因而造成
。就算機器學習模型沒有偏誤,但
項的收斂速速也會慢於
,因此不是很好的估計式。
雙重機器學習方法 (Double Machine Learning)
為了解決上述 $late b$ 項的收斂問題,論文中提出了新的做法:同時建立 與
的機器學習模型,來校正
的估計,而此處的概念,是來自初等計量經濟學可能會學到的 Frisch–Waugh–Lovell 定理:估計
與
的線性迴歸模型,其實可以想成以下步驟:
- 估計
與
間的線性迴歸,得到殘差
- 估計
與
做線性迴歸,得到殘差
- 估計
與
的線性迴歸模型
此處我們可以將原本的 Partially Linear Model 寫作以下形式:
在估計的時候,我們可以採用類似上面 Frisch–Waugh–Lovell 的估計方法:
- 建立機器學習模型
,得到殘差
- 利用用 Alternative Minimization 建立
,得到殘差
(如果是利用 Frisch–Waugh–Lovell 類型的估計式,則可以直接建立模型)
- 建立
與
的簡單迴歸模型,得到係數為
此時,我們得到的估計式 為:
通樣的,為了得到收斂速度的分析,我們可以再度進行分解 ,其中:
其中 的在一些很寬鬆的動差條件下就會收斂,
因為加入了
項,所以很容易收斂到 0 (當使用夠複雜的機器學習模型估計),因此雙重機器學習的技巧可以確保本來會出問題的
項 (Regularization Bias) 不會發散。下圖則在模擬實驗比較了採納「雙重機器學習」跟沒有採納的結果:
樣本分割 (Sample Splitting) 與交互配適 (Cross-fitting)
上面雖然解決了然而 中其實包含了
, 這項如果在
與
之間產生相關性的話,就不會收斂了。什麼時候會產生這種情況呢?很大有可能是在模型訓練的過程中,
可能會為了確保
的預測準確性,而不小心摻入了
的資訊,也就代表
與
有關,另外也可能是本來兩種誤差
本來就不獨立,而模型在確保
的預測準確性可能也會摻入
的資訊,因此造成
不會收斂到 0,這樣的偏誤也因此被叫做 Overfitting Bias。
要確保這樣的情況不會發生,其實可以透過樣本分割的方式來處理:如果估計 跟估計
的樣本不一樣,就可以確定
與
不會相關了。因此,我們可以進行下列的演算:
- 將樣本隨機分成兩組
與
- 利用樣本
建立機器學習模型
- 利用樣本
建立
- 利用上述得到的
與
,在樣本
上得到殘差項
與
,透過簡單迴歸模型,得到係數為
下圖是採納了樣本分割與沒有採納的結果:
這樣我們終於可以得到 的
的一致估計式了!然而上述的演算法最大的缺點就是:可能會失去大量的資訊(因為將樣本切割的關係),因此我們可以在做交互配試 (Cross Fitting):
- 將樣本隨機分成兩組
與
- 利用樣本
建立機器學習模型
與
- 利用
與
在
得到殘差項,並估計
- 利用樣本
建立機器學習模型
與
- 利用
與
在
得到殘差項,並估計
- 得到最後的估計目標
基於這個案例,作者在後面開始正式定義上面提到的種種觀念以及一般化的 DML,以及如何從 DML 去得到 Average Treatment Effect 與 Local Treatment Effect,有興趣的朋友可以仔細去讀讀這篇論文喔!
有關 David’s Perspective 的最新文章,都會發布在大鼻的 Facebook 粉絲專頁,如果你喜歡大鼻的文章,還請您不吝嗇地按讚或留言給我喔!
大鼻觀點:https://www.facebook.com/davidperspective/
Cross-fitting Step 6 是不是要➗2?
想補充一下 – 第二個 stage 的 X1 不是 control 是 policy change (我是 i-chen 的 同事)
Thx, great sharing!!