【机器学习-因果推断】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最后阶段的估计可以使用多种方法;
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,自助法取样;
====全文结束=====
编辑于 2022-06-13 08:50