Meta-learners (Reference)
SLeaner
- 訓(xùn)練集將原Treatment列當(dāng)作特征和特征集
合并訓(xùn)練一個(gè)Single Model。
- 測試集中生成新的兩列,一列Treatment,值為1,另一列Control,值為0,隨后這兩列分別和特征集
合并,用Single Model預(yù)測出兩列分別為
和
。
- 估計(jì)的CATE為兩列的差:
TLearner
- 訓(xùn)練集根據(jù)Treatment的值分為兩個(gè)樣本集,一個(gè)處理組樣本集,一個(gè)控制組樣本集,針對兩個(gè)樣本集分別訓(xùn)練兩個(gè)模型Model_treatment,Model_control。
- 測試集分別使用Model_treatment和Model_control預(yù)測出兩列,分別為
和
。
- 估計(jì)的CATE為兩列的差:
XLearner
- 訓(xùn)練集根據(jù)Treatment的值分為兩個(gè)樣本集,一個(gè)處理組樣本集,一個(gè)控制組樣本集,針對兩個(gè)樣本集分別訓(xùn)練兩個(gè)模型Model_treatment,Model_control。
- 在全訓(xùn)練集上分別使用Model_treatment和Model_control預(yù)測出兩列,分別為
和
,計(jì)算殘差列。如果樣本Treatment列為1,則用實(shí)際值減預(yù)測值,如果樣本Treatment列為0,則用預(yù)測值減實(shí)際值:
- 將殘差列作為新的標(biāo)簽,再次根據(jù)Treatment的值分為兩個(gè)樣本集,一個(gè)處理組樣本集,一個(gè)控制組樣本集,針對兩個(gè)樣本集分別訓(xùn)練兩個(gè)模型Residual_model_treatment,Residual_model_control。
- 測試集分別使用Residual_model_treatment和Residual_model_control預(yù)測出兩列,分別為
和
。
- 估計(jì)的CATE為兩列的差:
為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ù)測出兩列,分別為
和
,各自計(jì)算殘差列:
- 根據(jù)以上兩殘差列生成殘差標(biāo)簽
和權(quán)重
:
- 在訓(xùn)練集中以
為標(biāo)簽,權(quán)重列為
,訓(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以特征集
和Treatment為輸入,以O(shè)utcome為輸出進(jìn)行訓(xùn)練,model_propensity以特征集
為輸入,以Treatment為輸出進(jìn)行訓(xùn)練。
使用model_propensity分別預(yù)測出Treatment和Control的傾向得分值,分別為
和
。(注:傾向得分Propensity可能會出現(xiàn)0的情況,可用
進(jìn)行替代。)
在訓(xùn)練集中生成新的兩列,一列Treat_value,值為1,另一列Control_value,值為0。在訓(xùn)練集中將Treat_value、Control_value列分別和特征集
合并,使用model_regression預(yù)測出Treatment和Control的Predicted Outcome,分別為
和
。
根據(jù)以上兩列傾向得分和兩列預(yù)測值分別計(jì)算
和
:
在訓(xùn)練集中以特征集
為輸入,以
為輸出,訓(xùn)練回歸模型model_final,并在測試集中進(jìn)行預(yù)測,得到的預(yù)測值即為估計(jì)的CATE。