因果模型訓(xùn)練步驟

Meta-learners (Reference)

SLeaner

  • 訓(xùn)練集將原Treatment列當(dāng)作特征和特征集\{X_i\}合并訓(xùn)練一個(gè)Single Model。
  • 測試集中生成新的兩列,一列Treatment,值為1,另一列Control,值為0,隨后這兩列分別和特征集\{X_i\}合并,用Single Model預(yù)測出兩列分別為E[Y|X=x, T=1]E[Y|X=x, T=0]。
  • 估計(jì)的CATE為兩列的差:
    \hat{\tau}(x)=E[Y|X=x, T=1]-E[Y|X=x, T=0]

TLearner

  • 訓(xùn)練集根據(jù)Treatment的值分為兩個(gè)樣本集,一個(gè)處理組樣本集,一個(gè)控制組樣本集,針對兩個(gè)樣本集分別訓(xùn)練兩個(gè)模型Model_treatment,Model_control。
  • 測試集分別使用Model_treatment和Model_control預(yù)測出兩列,分別為E[Y(1)|X=x]E[Y(0)|X=x]。
  • 估計(jì)的CATE為兩列的差:
    \hat{\tau}(x)=E[Y(1)|X=x]-E[Y(0)|X=x]=E[Y(1)-Y(0)|X=x]

XLearner

  • 訓(xùn)練集根據(jù)Treatment的值分為兩個(gè)樣本集,一個(gè)處理組樣本集,一個(gè)控制組樣本集,針對兩個(gè)樣本集分別訓(xùn)練兩個(gè)模型Model_treatment,Model_control。
  • 在全訓(xùn)練集上分別使用Model_treatment和Model_control預(yù)測出兩列,分別為E[Y(1)|X=x]E[Y(0)|X=x],計(jì)算殘差列。如果樣本Treatment列為1,則用實(shí)際值減預(yù)測值,如果樣本Treatment列為0,則用預(yù)測值減實(shí)際值:
    D_i^1=Y_i^1-E[Y(1)|X=x] \\ D_i^0=E[Y(0)|X=x]-Y_i^0
  • 將殘差列作為新的標(biāo)簽,再次根據(jù)Treatment的值分為兩個(gè)樣本集,一個(gè)處理組樣本集,一個(gè)控制組樣本集,針對兩個(gè)樣本集分別訓(xùn)練兩個(gè)模型Residual_model_treatment,Residual_model_control。
  • 測試集分別使用Residual_model_treatment和Residual_model_control預(yù)測出兩列,分別為E[D(1)|X=x]E[D(0)|X=x]。
  • 估計(jì)的CATE為兩列的差:
    \hat{\tau}(x)=g(x)E[D(0)|X=x]+(1-g(x))E[D(1)|X=x]
    g(x) 為propensity score。

RLearners

RLearner (Reference)

  • 訓(xùn)練集確定好兩列:Outcome和Treatment,分別以該兩列為標(biāo)簽訓(xùn)練兩個(gè)模型(根據(jù)值的類型確定使用分類模型還是回歸模型),model_y和model_t。
  • 在訓(xùn)練集中分別使用model_y和model_t預(yù)測出兩列,分別為E[Y|X=x]E[T|X=x],各自計(jì)算殘差列:
    Residual = Y-E[Y|X=x] \\ Propensity = T-E[T|X=x] \\
  • 根據(jù)以上兩殘差列生成殘差標(biāo)簽Residual\_target和權(quán)重weight:
    Residual\_target = Residual/Propensity \\ Weight = Propensity^2 \\
  • 在訓(xùn)練集中以Residual\_target為標(biāo)簽,權(quán)重列為weight,訓(xùn)練回歸模型,并在測試集中進(jìn)行預(yù)測,得到的預(yù)測值即為估計(jì)的CATE。

Doubly Robust Learner (Reference)

  • 訓(xùn)練集確定好兩列:Outcome和Treatment,分別訓(xùn)練兩個(gè)模型model_regression(回歸模型)和model_propensity(分類模型)。其中,model_regression以特征集\{X_i\}和Treatment為輸入,以O(shè)utcome為輸出進(jìn)行訓(xùn)練,model_propensity以特征集\{X_i\}為輸入,以Treatment為輸出進(jìn)行訓(xùn)練。

  • 使用model_propensity分別預(yù)測出Treatment和Control的傾向得分值,分別為Pr[T_i=t|X_i]Pr[T_i=0|X_i]。(注:傾向得分Propensity可能會出現(xiàn)0的情況,可用 \varepsilon=10^{-6} 進(jìn)行替代。)

  • 在訓(xùn)練集中生成新的兩列,一列Treat_value,值為1,另一列Control_value,值為0。在訓(xùn)練集中將Treat_value、Control_value列分別和特征集\{X_i\}合并,使用model_regression預(yù)測出Treatment和Control的Predicted Outcome,分別為E[Y|X_i, T_i=t]E[Y|X_i, T_i=0]。

  • 根據(jù)以上兩列傾向得分和兩列預(yù)測值分別計(jì)算Y_{i,t}^{DR}Y_{i,0}^{DR}:
    Y_{i,t}^{DR}=E[Y|X_i, T_i=t]+\frac{Y_i-E[Y|X_i, T_i=t]}{Pr[T_i=t|X_i]} \cdot 1\{T_i=t\} \\ Y_{i,0}^{DR}=E[Y|X_i, T_i=0]+\frac{Y_i-E[Y|X_i, T_i=0]}{Pr[T_i=0|X_i]} \cdot 1\{T_i=0\}

  • 在訓(xùn)練集中以特征集\{X_i\}為輸入,以Y_{i,t}^{DR}-Y_{i,0}^{DR}為輸出,訓(xùn)練回歸模型model_final,并在測試集中進(jìn)行預(yù)測,得到的預(yù)測值即為估計(jì)的CATE。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容