文章目录

  • 1 导言
    • 1.1 价格需求弹性介绍
    • 1.2 由盒马反事实预测论文开始
    • 1.3 DML - 价格弹性预测推理步骤
  • 2 案例详解
    • 2.1 数据清理
    • 2.2 [v1版]求解价格弹性:OLS回归
    • 2.3 [v2版]求解价格弹性:Poisson回归+多元岭回归
    • 2.4 [v3版]求解价格弹性:DML
      • 2.4.1 DML数据准备 + 建模 + 求残差
      • 2.4.2 三块模型对比
      • 2.4.3 稳健性评估
  • 3 回顾-Econml官方折扣营销案例
    • 3.1 数据结构
    • 3.2 训练后的系数含义-> 收入弹性
    • 3.3 Uplift的CATE预测功能
    • 3.4 SingleTreePolicyInterpreter 和SingleTreeCateInterpreter
      • 3.4.1 X|T~Y分析:SingleTreeCateInterpreter哪些用户比较积极/消极
      • 3.4.2 T~X分析:SingleTreePolicyInterpreter 什么收入的人该打折
      • 3.4.3 小结
  • 4 反事实预测的数据结构与粒度
  • 5 阿里飞猪 - 反事实预测模型
    • 5.1 baseline - Treatment直接做特征
    • 5.2 改进方案一:Direct Method with shortcuts
    • 5.3 多任务学习:Dimain-Adaption: Multi-task Learning
    • 5.4 Effect-Net 显性建模

1 导言

1.1 价格需求弹性介绍

经济学课程里谈到价格需求弹性,描述需求数量随商品价格的变动而变化的弹性。价格一般不直接影响需求,而是被用户决策相关的中间变量所中介作用。假设 Q 为某个商品的需求的数量,P 为该商品的价格,则计算需求的价格弹性为,

通过上式可以简单知道,价格改变 1 元比价格改变 100 元,会导致更大的需求改变。比如以 5 元的价格每日可以卖 100 单位产品,如果价格需求弹性为 -3 ,那供应商将价格提升 5%(dp /P,从 5 元-> 5.25 元),需求将下降 15%(dQ/Q ,从 100->85)。那么收入将减少 1005-5.2585=53.75。
如果单价降低 5%,那么收入同理将提升 46.25。如果供应商知道了产品的价格弹性,那无须反复测试,即可清楚为提升收入到底应该是提价还是降价。

1.2 由盒马反事实预测论文开始

之前在因果推断笔记——DML :Double Machine Learning案例学习(十六)这篇提到用DML求价格弹性,不过没有实操模块,本篇是在看过因果推断与反事实预测——盒马KDD2021的一篇论文(二十三) 盒马论文之后,想实操一下价格弹性这块。

先来提一下盒马这篇,在反事实预测任务上(随着折扣改变销量如何改变)的尝试半参数模型、XGBtree模型、DeepIV:

  • 第一种,半参数模型,不过这篇对动态折扣下销量的预估的半参数笔者还没深入了解,感觉用分层的价格弹性(平均折扣tree销量预测 + 价格弹性拟合动态折扣销量增量)来规避了核心因果推理的问题,后续要再理解一下该模型
  • 第二种,错误尝试,将折扣当作treatment,动态将treatment作为特征来预测销量
  • 第三种,deepIV,将三级品类的平均价格(treatment)作为工具变量

三者效果如图,还是semi-para好多了:

本篇是想放大价格弹性的因果计算模块,与盒马的不同:

  • 推估弹性的方法不同(本篇是用DML预测)
  • 粒度不同,本篇案例可没顾得上商品分类,一股脑子全放一起了,盒马那篇弹性系数是By 每个商品

1.3 DML - 价格弹性预测推理步骤

最好的方式,当然是直接进行 A/B 实验测试不同价格对用户的需求反应,但是价格这类的外生因素在同一产品同一阶段上,对不同用户展示不同的价格会直接损坏用户体验。因此从观察历史数据进行因果推断,但混杂因素(季节性、产品质量等)如何控制是因果推断的挑战。

这里采用 DML(Double Machine Learning) 方法进行因果推断,该方法主要解决两个问题:

  • 第一,通过正则化挑拣重要控制变量;
  • 第二,对比传统的线性回归模型,用非参数推断可以解决非线性问题。

DML 先应用机器学习算法去分别通过特征变量 X, W 拟合结果变量 Y 和处理变量 T,然后通过线性模型,使用处理变量的残差拟合出结果变量的残差。
目标是估计 ,这里的 Y 函数构成为 T 的因果作用和 X、W 的协同作用之和。

本篇整个价格弹性的推理过程:

  1. 将数据分为两部分,一部分样本选用随机森林等模型,用混杂变量预测处理变量(价格 P),得到 E[P|X];另外的样本同样可选择随机森林模型,用混杂变量预测结果变量(需求量 Q),得到 E[Q|X]。

  2. 计算残差,得到不受混杂变量影响的价格 P 和 需求量 Q,即为 P~,Q~\widetilde P , \widetilde QP

    ,Q


    P~=P−E[P∣X]\widetilde P = P-E[P|X]P

    =
    PE[PX]

    Q~=Q−E[Q∣X]\widetilde Q = Q-E[Q|X]Q

    =
    QE[QX]

  3. 因此直接将P~,Q~\widetilde P , \widetilde QP

    ,Q

    进行 log-log 回归就能得到弹性系数

    因果推断与反事实预测——利用DML进行价格弹性计算(二十四)相关推荐

    1. 因果推断与反事实预测——几篇关联论文(二十六)

      有几篇关联的论文,如果论文开源代码了,笔者比较喜欢读+code练习,所以看这类文献比较慢,先Mark再精读了- 文章目录 1 Auto IV: Counterfactual Prediction vi ...

    2. 因果推断与反事实预测——盒马KDD2021的一篇论文(二十三)

      文章目录 1 已有研究者的描述 1.1 YuyangZhangFTD 1.1.1 Introduction 1.1.2 Problem Formulation 1.1.3 Counterfactual ...

    3. 因果推断——借微软EconML测试用DML和deepIV进行反事实预测实验(二十五)

      文章目录 1 导言 1.1 KDD2021:盒马-融合反事实预测与MDP模型的清滞销定价算法 1.2 本篇想法 1.3 其他一些问题追踪 2 代码 2.1 数据生成 2.2 DML模型:有干预下的Y增 ...

    4. 《因果学习周刊》第8期:因果反事实预测

      No.08 智源社区 因果学习组 因 果 学  习 研究 观点 资源 活动 关于周刊 因果学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...

    5. 【Causality】结构因果下的反事实基本框架

      在之前,博主整理了因果关系之梯第二层:干预的定义,意义,用法,详见以下链接 但干预的目标是找到研究中处理的某个总效应或者在某些样本群体中的效应(平均因果效应),到目前为止我们无法在特定时间谈论个性化的 ...

    6. [系统安全] 二十四.逆向分析之OllyDbg调试INT3断点、反调试、硬件断点与内存断点

      您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

    7. 【Python学习系列二十四】scikit-learn库逻辑回归实现唯品会用户购买行为预测

      1.背景:http://www.datafountain.cn/#/competitions/260/intro DataFountain上的唯品会用户购买行为预测比赛题目,笔者用逻辑回归实现,分数是 ...

    8. MATLAB可视化实战系列(二十四)-三维可视化如何利用圆锥图显示向量场?

      前言 在物理学中,我们学习了矢量,知道了磁力线等矢量图.如何画出优美的矢量场图呢?科学计算软件matlab可以很容易地绘制出矢量场图.下面跟随博主一起来看下matlab高级可视化内容,如何利用圆锥图显 ...

    9. Python之爬虫(二十四) 爬虫与反爬虫大战

      爬虫与发爬虫的厮杀,一方为了拿到数据,一方为了防止爬虫拿到数据,谁是最后的赢家? 重新理解爬虫中的一些概念 爬虫:自动获取网站数据的程序 反爬虫:使用技术手段防止爬虫程序爬取数据 误伤:反爬虫技术将普 ...

    10. 【Excel2019(二十四):宏表函数】【利用宏表函数获取信息+宏表函数常见应用】

      上一篇:[Excel2019(二十三):饼图美化与PPT图表][双坐标柱形图的补充知识+饼图美化+PPT中的图表] 文章目录 利用宏表函数获取信息 get.cell函数 计算颜色 提取公式 常用的Ty ...

    最新文章

    1. SAP MM 如何得到委外加工采购订单中需要发给subcontractor的物料的信息?
    2. Introduce Intelligence to Your Security Operations
    3. 【渝粤题库】广东开放大学 物业财税管理基础 形成性考核
    4. mysql测试数据图表_mysql测试数据表
    5. matlab教程蚁群算法,蚁群算法怎样用MATLAB仿真
    6. 基本的正则表达式符号 【】
    7. windows的libcurl下zlib1.dll问题
    8. 《为iPad而设计:打造畅销App》——了解客户
    9. Python2 获取docx/doc文件内容
    10. vue实现上移下移_vue.js实现组件间的上移下移
    11. poj 3253 哈夫曼树 经典 运用了优先队列 总和最少
    12. ListView控件数据操作——通过代码在窗体上添加控件
    13. [水晶报表]水晶报表创建以及调用方法
    14. vue 富文本存储_vue 富文本编辑器 项目实战用法
    15. 淘宝关于用户行为的数据分析
    16. 相机与镜头的基本概念
    17. 橙色优学:PS扣图技术讲解,六种方法你都知道吗?
    18. wordpress页脚添加备案号等版权信息
    19. xp系统开机自检很久_XP开机卡在自检不能进入系统的解决办法
    20. Python Flask学习_使用flask-login实现认证蓝本(一)

    热门文章

    1. java 计算同比增长工具类
    2. git报错:remote: error: hook declined to update refs/heads/master
    3. Coherence缓存学习
    4. 3GPP TS 29244-g30 中英文对照 | 6.2.6 PFCP Association Setup Procedure
    5. 当前网络安全风险及举例
    6. 过去式加ed的发音_动词过去式加ed后发音
    7. 全国通用DNS服务器
    8. 服务器桌面假死怎么处理,win10桌面假死如何解决
    9. 我的世界服务器如何开无限小号,实操神技能,微信能“无限”开小号?
    10. 05 JavaScript框架汇总