文章目录

  • 1 mr_uplift 介绍
    • 1.1 介绍
    • 1.2 ERUPT 准则
  • 2 案例模拟
    • 2.1 生成模拟数据
    • 2.2 绘制ERUPT Curves曲线
    • 2.3 为新的观测结果分配最佳处理方法
    • 2.4 协变量X的重要性
  • 3 mr_uplift + 倾向得分
  • 4 简单看一下:class:MRUplift

1 mr_uplift 介绍

1.1 介绍

官方地址:https://github.com/Ibotta/mr_uplift

目前有几个升级模型包(参见EconML、GRF、PTE)。他们倾向于用有趣的方法来估计异质处理效果。然而,主要模型中倾向于关注单一response、单一treatment 情景。

mr_uplift开源库,试图为Uplift建模构建一个自动化的解决方案,包括以下特性:

  • 允许多种treatments 。可以在每一种干预下,合并元特征,比如用向量来表示treatment
  • 允许多responses
  • response under proposed treatments (ERUPT)functionality that estimates model performance on OOS data.

它通过估计一个形式为y ~ f(t,x)的神经网络来做到这一点,其中y、x和t是响应、解释变量和treatment变量。
如果optim_loss=True,则使用实验损失函数来估计函数,如果treatment不是随机分配的,则有倾向评分功能得分。
同时可以预测所有treatment的反事实逻辑结果

import numpy as np
import pandas as pdfrom mr_uplift.dataset.data_simulation import get_simple_uplift_data
from mr_uplift.mr_uplift import MRUplift#Generate Data
y, x, t = get_simple_uplift_data(10000)
y = pd.DataFrame(y)
y.columns = ['revenue','cost', 'noise']
y['profit'] = y['revenue'] - y['cost']#Build / Gridsearch model
uplift_model = MRUplift()
param_grid = dict(num_nodes=[8], dropout=[.1, .5], activation=['relu'], num_layers=[1, 2], epochs=[25], batch_size=[30])
uplift_model.fit(x, y, t.reshape(-1,1), param_grid = param_grid, n_jobs = 1)#OOS ERUPT Curves
erupt_curves, dists = uplift_model.get_erupt_curves()#predict optimal treatments with new observations
_, x_new ,_  = get_simple_uplift_data(5)
uplift_model.predict_optimal_treatments(x_new, objective_weights = np.array([.6,-.4,0,0]).reshape(1,-1))

MRUplift初始化模型,这里响应y有四个维度

1.2 ERUPT 准则

参考:
https://medium.com/building-ibotta/erupt-expected-response-under-proposed-treatments-ff7dd45c84b4

Expected Response Under Proposed Treatments (ERUPT) Metric
建议治疗(ERUPT)指标下的预期反应

在网格搜索之后,我们想知道模型比当前状态好多少。
评估样本外重要性是确保模型在生产中按预期运行的关键。
虽然有其他指标,如QINI指标,它们通常限于单一的治疗情况。
ERUPT是我所知道的唯一一个可以应用于多种治疗的指标,并提供了如果应用该模型将会发生什么情况的无偏估计。
假设您有一个观察,代表是否给予奖金,

跟着开源项目学因果推断——mr_uplift(十五)相关推荐

  1. 跟着开源项目学因果推断——FixedEffectModel 固定效应模型(十七)

    这个开源项目来源于快手,当然对于快手的开源项目是有前车之鉴的[生存分析--快手的基于深度学习框架的集成⽣存分析软件KwaiSurvival(一)].KwaiSurvival让我觉得是实验代码,今天要接 ...

  2. 跟着开源项目学因果推断——whynot(十四)

    文章目录 WhyNot是一个Python包,它提供了一个用于动态决策的实验沙箱,将因果推理和强化学习工具与具有挑战性的动态环境连接起来. 该软件包有助于开发.测试.基准测试和教学因果推理和顺序决策工具 ...

  3. 跟着开源项目学因果推断——causalnex(十三)

    文章目录 1 causalnex 介绍 1.1 安装 2 使用的模型 2.1 NOTEARS的结构方程模型 3 建模案例:NOTEARS结构方程模型 3.1 数据加载 3.2 建模 & 错误指 ...

  4. 汇编语言mul指令_跟着开源软件学汇编语言:计算器

    今天我们分享两个关于计算器的开源软件,这两个开源软件都是用汇编语言编写,学习这两个软件有助于我们理解相关的指令和数据转换的方法. rdebug的计算器 第一个开源软件来自rdebug的博客:https ...

  5. 【动手学因果推断】(二):潜在因果框架

    [动手学因果推断](二):潜在因果框架

  6. 订单支付和评论——基于Django框架的天天生鲜电商网站项目系列博客(十五)

    系列文章目录 需求分析--基于Django框架的天天生鲜电商网站项目系列博客(一) 网站框架搭建--基于Django框架的天天生鲜电商网站项目系列博客(二) 用户注册模块--基于Django框架的天天 ...

  7. 从开源项目学做微信小程序

    1. 项目名称:灵动电商之微信小程序端 项目地址:黄秀杰/lendoo-wx - 码云 2. 项目名称:高仿网易 B2C 商城 项目简介:本项目是基于 Node.js + MySQL 开发的高仿网易严 ...

  8. Spring Boot + vue-element 开发个人博客项目实战教程(二十五、项目完善及扩展(前端部分))

    ⭐ 作者简介:码上言 ⭐ 代表教程:Spring Boot + vue-element 开发个人博客项目实战教程 ⭐专栏内容:零基础学Java.个人博客系统 ⭐我的文档网站:http://xyhwh- ...

  9. 面向特定问题的开源算法管理和推荐(十五)

    2021SC@SDUSC 系列文章目录 (一)组内分工情况 (二)任务一爬虫部分代码分析(上) (三)任务一爬虫部分代码分析(下) (四)任务一数据集统计代码分析 (五)任务二及PKE模型解读 (六) ...

最新文章

  1. Wide Deep的OneFlow网络训练
  2. Java CountDownLatch的两种常用场景
  3. php如何与数据库连接,PHP文章如何和数据库连接(1)
  4. luogu P2216 [HAOI2007]理想的正方形 递推+ST表
  5. 价值98元的千神资源网模板
  6. LNMP一键安装shell脚本
  7. c语言编译软件容错策略,软件容错方法之——软件冗余
  8. 防震计算机主机,一种防震计算机主机的制作方法
  9. Spring Boot Test 进行JPA 测试保存数据到数据库
  10. 国际新闻|PostgreSQL 14.3、13.7、12.11、11.16 和 10.21 发布
  11. vue-lazyload图片懒加载的简单使用
  12. (ES1)ElasticSearch+Kibana+Elasticsearch-analysis-ik系统环境搭建
  13. 攀藤 5003粉尘激光传感器arduino使用
  14. Hierarchical Graph Network for Multi-hop Question Answering 论文笔记
  15. 计算机专业可以买台式机吗,现在还有必要买台式电脑吗?
  16. 区块链的共识机制是什么?
  17. matlab与数学实验心得体会,数学matlab实验心得体会
  18. HDU, 3579 Hello Kiki
  19. markdown组合数学公式
  20. 茅山后裔吧 (转载,有好多不错的道理)

热门文章

  1. 【运维理论】RAID级别简介
  2. RectTransformUtility.ScreenPointToWorldPointInRectangle使用说明
  3. 从 0 到 1 实现 React 系列 —— 1.JSX 和 Virtual DOM
  4. linux虚拟机发邮件给163邮件
  5. L2-008. 最长对称子串
  6. 程序员为什么热衷造轮子?
  7. 转:敏捷方式scrum 方案
  8. android 切换主题介绍一
  9. 深度探索C++对象模型读书笔记(2)
  10. 前端解决第三方图片防盗链的办法 - html referrer 访问图片资源 403 问题