推荐开源项目:CausalTune —— 自动化因果推断模型估计与选择库
causaltune AutoML for causal inference. 项目地址: https://gitcode.com/gh_mirrors/ca/causaltune
项目介绍
CausalTune 是一个用于自动化调优和选择因果估计器的库。它基于 EconML 的估计器,并增加了一些额外的模型(目前包括 Transformed Outcome 和一个用于基线的哑模型),所有这些模型都通过 DoWhy 包装器以统一的方式调用。
CausalTune 的核心贡献在于通过样本外评分(特别是使用 能量评分)实现因果估计器的自动调优和选择。项目使用 FLAML 进行超参数优化。
CausalTune 不仅对第一阶段的模型(处理和结果模型)进行自动超参数调优,还对第二阶段的模型(因果估计器)进行超参数调优和模型选择。估计器不仅提供逐行处理影响估计,还提供这些估计的置信区间,利用 EconML 的内置功能(在可用的情况下)和自助法(在不可用的情况下)。
与 DoWhy 和 EconML 一样,CausalTune 假设用户提供的因果图准确描述了数据生成过程。例如,对于 CATE 估计,假设用户提供的背门变量列表/混淆变量确实反映了处理和结果之间的所有混淆来源。
项目技术分析
CausalTune 集成了多个先进的技术组件:
- EconML 估计器:利用 EconML 提供的强大因果估计器,支持多种复杂的因果推断模型。
- DoWhy 包装器:通过 DoWhy 提供的统一接口,简化因果图的定义和使用。
- FLAML 超参数优化:使用 FLAML 进行高效的超参数调优,提升模型性能。
- 能量评分:采用能量评分作为样本外评分方法,确保模型选择的准确性和可靠性。
- ERUPT 计算:实现 ERUPT(预期在提议处理下的响应)计算,用于评估不同处理分配策略的影响。
项目及技术应用场景
CausalTune 适用于多种实际应用场景:
1. 增强 A/B 测试
通过将客户特征融入常规 A/B/N 测试结果,并运行 CausalTune,可以获得基于客户特征的影响估计,从而实现精准定位。
2. 连续测试与利用:动态提升建模
逐客户影响估计可用于实现新客户的逐客户 Thompson 抽样,偏向于我们认为最有可能有效的处理分配。
3. 评估智能分配的益处
使用因果估计器偏向处理分配后,可以通过 ERUPT 技术评估相对于完全随机分配的额外益处。
4. 观察性推断
用于传统因果推断应用,如估计客户查询响应时间对交易量和流失率的影响。
5. IV 模型:客户选择使用功能的影响
使用工具变量(IV)估计避免未观察到的混淆变量引起的估计偏差。
项目特点
- 自动化调优和选择:自动进行因果估计器的调优和选择,简化用户操作。
- 多模型支持:集成 EconML 的多种因果估计器,提供丰富的模型选择。
- 样本外评分:使用能量评分进行样本外评分,确保模型选择的可靠性。
- 置信区间估计:提供逐行处理影响估计的置信区间,增强结果的可解释性。
- ERUPT 计算:支持 ERUPT 计算,评估不同处理分配策略的影响。
安装指南
CausalTune 支持 Python 3.8 和 3.9,依赖以下库:
- NumPy
- Pandas
- EconML
- DoWhy
- FLAML
- Scikit-Learn
- Dcor
安装依赖库:
pip install -r requirements.txt
Mac/OS 用户可能需要通过 conda 安装 LightGBM:
- 克隆仓库并导航到仓库目录。
- 设置 Conda 环境:
conda create -n causaltune python=3.8
conda activate causaltune
conda install -c conda-forge lightgbm
快速开始
详细使用方法和示例请参考 CausalTune 文档 和示例笔记本。
结语
CausalTune 是一个功能强大的因果推断工具,适用于多种实际应用场景。其自动化调优和选择功能大大简化了因果模型的构建和评估过程,值得广大数据科学家和研究人员尝试和使用。立即访问 CausalTune GitHub 仓库 开始你的因果推断之旅吧!
causaltune AutoML for causal inference. 项目地址: https://gitcode.com/gh_mirrors/ca/causaltune
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考