【机器学习-因果推断】EconML 包函数列表:CATE、IV、GRF ...(Python)

【机器学习-因果推断】EconML 包函数列表:CATE、IV、GRF ...(Python)

说明:

  • 同属ALICE项目的DoWhy强调因果推断的框架,两者可以相互引用;
  • 核心的CATE估计基于DML 双重机器学习;
  • grf 核心目标是CATE的估计,集成为EconML的一部分;
  • grf(R语言)的函数列表参考: 王几行xing:【机器学习-因果推断】grf 广义随机森林包函数列表(R)vs EconML(Python)
  • 正交/双重机器学习,一种非参估计方法,由 Chernozhukov 等(2016)提出 -- 当所有混淆变量都被观测到、数据高于高维、传统参数估计无法实现的情况下,用于估计CATE。具体双重的两个机器学习器指的是:
    • 基于控制变量预测Y(求Y-hat);
    • 基于控制变量预测T(求T-hat);

1. CATE Estimators CATE 估计器

1.1 Double Machine Learning (DML) 双重机器学习

  • econml.dml.DML(), DML 参数估计;
  • econml.dml.LinearDML(), 低维线性 DML,最后阶段的回归由 statsmodels 完成;
  • econml.dml.SparseLinearDML(), 离散线性DML;
  • econml.dml.CausalForestDML(), DML 因果森林,基于对干预变量残差和结果变量的双重估计(所谓的双重机器学习);
  • econml.dml.NonParamDML(), 基础的非参 DML 估计,在CATE最后阶段的估计可以使用多种方法;
CATE 估计器

1.2 Doubly Robust 双重稳健估计

  • econml.dr.DRLearner(), CATE 双重稳健估计,用来处理多处理组的样本自选择问题;
  • econml.dr.Linear.DRLearner(), 最后阶段估计是线性回归的双重稳健估计,用于低维数据;
  • econml.dr.SparseLinear.DRLearner(), 最后阶段估计是无偏的LASSO双重稳健估计;
  • econml.dr.Forest.DRLearner(), 最后阶段估计是因果森林的双重稳健估计,用于非参的因果推断;

1.3 Meta Learners 元学习

  • econml.metalearners.XLearner(), by Kunzel et al.;
  • econml.metalearners.TLearner(), 条件均值回归估计器;
  • econml.metalearners.SLearner(), 条件均值回归估计器,其中的分组变量在ML模型中被当成特征;
  • econml.metalearners.DomainAdaptation(),基于 domain adapation 的元学习器;

1.4 Orthogonal Random Forest (ORF)正交随机森林

  • econml.orf.DMLOrthoForest(), ORF+DML进行残差矩方法的用;于连续或离散干预;
  • econml.orf.OrthoForest(), ORF+双重稳健矩方法,用于离散干预;

2. Instrumental Variable CATE Estimator 工具变量CATE估计器

2.1 Double Machine Learning (DML) IV DML-IV

  • econml.iv.dml.OrthoIV(), 正交/DML CATE 估计 + IV;
  • econml.iv.dml.DMLIV(), 基础参数 DMLIV CATE 估计;
  • econml.iv.dml.NonParamDMLIV(), 非参 DMLIV 估计;

2.2 Doubly Robust (DR) IV 双重稳健 IV

  • econml.iv.dr.DRIV(),
  • econml.iv.dr.LinearDRIV(),
  • econml.iv.dr.SparseLinearDRIV(),
  • econml.iv.dr.ForestDRIV(),
  • econml.iv.dr.IntentToTreatDRIV(),
  • econml.iv.dr.LinearIntentToTreatDRIV(),

2.3 DeepIV 深度IV

  • econml.iv.nnet.DeepIV(), 基于神经网络+反事实框架的 IV 估计方法;

3. Estimators for Dynamic Treatment Regimes 动态干预估计

3.1 Dynamic Double Machine Learning 动态 DML

  • econml.dynamic.dml.DynamicDML(), 动态干预效果估计 CATE;

4. Policy Learning 政策学习

  • econml.policy.DRPolicyForest(),解决选择偏误的双重稳健校正政策森林学习器;
  • econml.policy.DRPolicyTree(),解决选择偏误的双重稳健校正政策决策树学习器;
  • econml.policy.PolicyForest(),Welfare 最大化的政策森林;
  • econml.policy.PolicyTree(),Welfare 最大化的政策树;

5. CATE Interpreters CATE 解释器

  • econml.cate_interpreter.SingleTreeCateInterpreter(),CATE 估计器单棵树的解释器;
  • econml.cate_interpreter.SingleTreePolicyInterpreter(),CATE政策估计器单棵树的解释器;

6. CATE 评分器

  • econml.score.RScorer(),基于F学习器损失的评分器,对残差模型进行拟合并在测试数据的交叉拟合的过程中计算残差;
  • econml.score.EnsembleCateEstimator(),一个用于加权集成多个CATE估计器的CATE估计评分器;

7. GRF 广义随机森林

  • econml.grf.CausalForest(), 因果森林;
  • econml.grf.CausalIVForest(), 因果工具变量森林;
  • econml.grf.RegressionForest(), sklearn 回归树 + 诚实随机回归森林;
  • econml.grf.MultiOutputGRF(), 多分类结果变量的GRF估计器;
  • econml.grf.linearMomentGRFCriterion, 线性矩估计组,用于进行估计局部参数的一系列准则;
  • econml.grf.LinearMomentGRFCriterionMSE,上者的MSE;
  • econml.grf._basegrf.BaseGRF(), 解线性矩方程组的GRF 基础类;
  • econml.grf._base_grftree.GRFTree(), 一棵GRF树,拟合一棵用于解局部矩方程的树;

8. Scikit-Learn Extensions sklearn 插件

8.1 Linear Model Extensions 线性模型扩展

  • econml.sklearn_extensions.linear_model.DebiasedLasso(),无偏LASSO模型;
  • econml.sklearn_extensions.linear_model.MultiOutputDebiasedLasso(),无偏都分类LASSO模型;
  • econml.sklearn_extensions.linear_model.SelectiveRegularization(),部分系数正则化的线性模型估计器;
  • econml.sklearn_extensions.linear_model.StatsModelsLinearRegression(),来自 statsmoels 包的 mimics weighted 线性回归类;
  • econml.sklearn_extensions.linear_model.StatsModelsRLM(),来自 statsmoels 包的 mimics robust 线性回归类;
  • econml.sklearn_extensions.linear_model.WeightedLasso(),加权版的 sklearn LASSO;
  • econml.sklearn_extensions.linear_model.WeightedLassoCV(),加权版的 sklearn LASSO CV;
  • econml.sklearn_extensions.linear_model.WeightedMultiTaskLassoCV加权版的 sklearn 多任务 LASSO CV;
  • econml.sklearn_extensions.linear_model.WeightedLassoCVWrapper(),加权 LASSO CV 或者 加权多任务 LASSO CV封装的帮助类;

8.2 Model Selection Extensions - sklearn 模型选择扩展

  • econml.sklearn_extensions.model_selection.GridSearchCVList(),网格搜索交叉验证;
  • econml.sklearn_extensions.model_selection.WeightedKFold(),加权数据的 K重交叉验证;
  • econml.sklearn_extensions.model_selection.WeightedStratifiedKFold(),加权数据的分层 K重交叉验证;

9. Inference 推断

9.1 Inference Results 推断结果

  • econml.inference.NormalInferenceResults(),正态分布假设推断的结果类;
  • econml.inference.EmpiricalInferenceResutls(),实证样本集推断的结果类;
  • econml.inference.PopulationSummaryResults(),总体概述推断的结果类;

9.2 Inference Methods 推断方法

  • econml.inference.BooststrapInference(),用于自助法的推断实例;
  • econml.inference.GenericModelFinalInference(),基于 model_final 模型的区间预测的推断;
  • econml.inference.GenericSingleTreatmentModelFinalInference(),基于 model_final (Generic Single Treatment)模型的区间预测的推断;
  • econml.inference.LinearModelFinalInference(),于 model_final (线性)模型的区间预测的推断;;
  • econml.inference.StatsModelsInference(),保存 statsmodels 协方差选项;
  • econml.inference.GenericModelFinalInferenceDiscrete(),多分类干预和离散 generic model_final 多干预组CATE的拟合;
  • econml.inference.LinearModelFinalIInferenceDiscrete(),多分类干预和离散线性 model_final 多干预组CATE的拟合;
  • econml.inference.StatsModelsInferenceDiscrete(),最后阶段模型是 statsmodels 线性回归的特殊情况;

10. Solutions 解决方案

10.1 Casual Analysis 因果分析

  • econml.solutions.causal_analysis.CausalAnalysis(), 一个开发中的方法;

11. Integration with DoWhy 和 DoWhy 的集成

  • econml.dowhy.DoWhyWrapper(cate_estimator),通过EconML来调取 DoWhy 包中的方法,比如因果图和稳健性检验方法;

12. Utilities 配套的方法和函数

  • econml.utilities,函数和方法集合,比如add_intercept(X), IndetityFeatures();

13. Private Modules Reference 私有模块参考

  • econml._ortho_learner,正交机器学习,是一种通用的、通过最小化某些损失函数(基于某些辅助回归模型)进行建立方程估计的方法;
  • econml._cate_estimator,所有CATE 估计器的基础类;
  • econml.dml._rlearner,R学习器 -- 是一种在没有未观察到的混在因素的情况下、用于估计CATE的灵活非参方法,
  • econml.inference._bootstrap,自助法取样;

Ref: Public Module Reference

====全文结束=====

编辑于 2022-06-13 08:50

文章被以下专栏收录