因果推断--双重差分法(DID)的原理和实际应用(一)

2023-11-07

目录

一、应用场景

二、DID知识介绍

2.1 理论知识介绍

2.2 DID图形化解释

三、应用案例:

3.1 构造对照组

3.2 平行趋势检验

3.3 因果效应评估

四、优缺点总结


一、应用场景

在精细化运营场景中,常常会面临如下问题,不方便或者不允许进行常规的实验设计(AB实验)来考察策略的效果,只能采用全量上线的方式进行,但仍需分析策略的效果,以进行优化和推广。在如下场景中:上线了某付费产品活动,用户可付费开通xx卡,该卡可绑定一名亲友,亲友和自己都能使用该卡进行支付。这种场景很难通过实验的方式进行变量控制,我们不能简单的对某一类用户进行限制,限制其不可进行购买或被绑定,这样对用户体验的伤害很大,也会让用户感到奇怪甚至被歧视。对于这种无法进行实验设计但又必须知道策略是否给业务带来收益的场景,因果推断中的双重差分法就可解决以上问题。

二、DID知识介绍

2.1 理论知识介绍

双重差分法(Differences-in-Differences,DID)主要应用于评价某一事件或政策的影响程度。该方法基于反事实理论框架评估策略发生和不发生两种情况下待解释变量的变化。反事实理论框架是指通过分析策略干预后,实验组待解释变量的变化和假设实验组未被策略干预下,待解释变量变化之间的差异,从而评价策略的影响。策略干预后,实验组待解释变量的变化,我们是可以观测到的,但同一时期内,若实验组未被策略干预,待解释变量呈什么样的数据变化,我们是无法观测到的。于是,我们需要引入对照组,这个对照组的待解释变量随时间的变化趋势等同于实验组待解释变量随时间的变化趋势,才可以用双重差分法进行分析,也就是要满足如下两个假设:

1、个体处理稳定性假设: 实验中每个实验参与单元的行为是相互独立的,独立是指一个用户的行为不受其他用户影响。

2、平行趋势假设:在没有策略干预的情况下,对照组和实验组待解释变量之间的差异不随时间变化。

2.2 DID图形化解释

如下图所示:策略干预前实验组和对照组待解释变量的差异是a_{1},当对实验组施加干预后,实验组和对照组待解释变量的差异变成了a_{1}+a_{3},那么a_{3}即为策略干预效果。

三、应用案例:

在上述应用场景中,该付费产品上线了一段时间后,我们需要评估该活动带来的单量及收益提升情况,辅助进行活动推广和优化。假设在2022年10月的开卡用户共20w,这些用户就是实验组用户,是需要进行评估的对象。根据双重差分法,我们需要构造一个相似的用户群体,让其历史的下单和开卡用户的历史下单满足平行趋势,且这个相似用户群体,历史未曾开通过该卡。如下是DID进行因果效应评估的关键步骤:

3.1 构造对照组

在10月的用户中,按照开卡用户历史下单频次分布进行分层抽样,同样抽取20w未曾开通过该卡的用户作为对照组。

3.2 平行趋势检验

验证实验组(开卡用户)和对照组(抽样用户)的历史单量是否满足平行趋势,我们分别取这些用户在2022年4月至2022年10月的单量进行检验。如果满足平行趋势,我们需考察其在2022年10月以后的单量差异。下图是实验组、对照组用户在2022年10月前后的人均单量趋势:

 从图中可以看出,在2022年10月及以前,构造的虚拟对照组用户的人均单量基本和实验组-开卡用户保持一致,因此满足平行趋势假设,可用双重差分法对策略效果进行评估。

3.3 因果效应评估

从图中可以看出,在2022年10月开卡以后,实验组用户的人均单量较对照组有明显的提升,人均单量提升在0.96-3.11,由此可计算开卡后,实验组用户在每个月的单量提升以及收入的提升情况。

2022年10月之前实验组与对照组人单量差异均值为0.13,10月之后实验组较对照组人均单量提升差异需减去开通之前人均单量差异的均值0.13,下表为开卡后按照DID模型测算的实际人均单量、总单量以及收入的提升情况: 

 由上表可以看出,实验组开卡用户在11月实际人均单量提升为2.98,总量提升为59.6w,收入提升为893.3w,在后续每个月中,实际人均单量差异逐渐缩小到0.83,总单量较对照组提升缩小至16.6w,收入提升为248.5w。

四、优缺点总结

优点:

通过以上案例可以看到,在没有AB实验数据的情况下,如果我们有实验前后的时间序列数据,并能构造一个和实验组待解释变量满足平行趋势的对照组的话,我们就可以用DID进行因果效应评估。使用DID时不需要考虑实验组和对照组之间的差异,在构造虚拟的对照组时,不需要和实验组完全一样,这个操作相对来说较为简单,因果效应的测算过程也较简单

局限性:

首先需要有实验前后的时间序列数据,其次是平行趋势假设,这个是一个很强的假设,我们需要构造一个和实验组用户在待解释指标上满足平行趋势假设的虚拟对照组才能进行接下来的效果评估,而这有时候并不好构造。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

因果推断--双重差分法(DID)的原理和实际应用(一) 的相关文章

随机推荐

  • SLFCD的实验复现(深度学习camelyon病理)未完待续

    深度学习病理 针对精确注释病理数据集的分类方法 预处理部分 一 首先获取病理图片的标注信息 精确注释标签 利用ASAP对病理图片进行标注 会生成xml文件 可以先将xml文件转换成json文件 为什么要将xml文档转换成json json是
  • 基于Python中Tkinter库实现弹球游戏

    文章目录 前言 游戏玩法 程序设计 思路 问题修改 问题代码展示 修改后代码展示 完整代码 前言 在看一本Python书 正好有一个弹球游戏 书中的代码可以跑 就是有一个问题 若球遇到边界 就不弹回 正好发现一篇文章 解决了书中代码的问题
  • 创建新用户时PackageManager的动作

    PackageManagerService createNewUser Settings createNewUserLI for PackageSetting ps packages ps setInstalled ps isSystem
  • sql语句中case when then else函数用法

    Case具有两种格式 简单Case函数和Case搜索函数 简单Case函数 CASE sex WHEN 1 THEN 男 WHEN 2 THEN 女 ELSE 其他 END Case搜索函数 CASE WHEN sex 1 THEN 男 W
  • 如何使用html制作网页

    一 html简介 1 1概念 HTML即HyperText Mark up Language 意思是超文本标记语言 HTML不是一种编程语言 而是一种标记语言 超文本指的是超链接 标记指的是标签 是一种用来制作网页的语言 这种语言由一个个的
  • wget: not an http or ftp url_wget和crul命令参数使用详解

    wget是个专职的下载利器 简单 专一 极致 而curl可以下载 但是长项不在于下载 而在于模拟提交web数据 POST GET请求 调试网页 等等 在下载上 也各有所长 wget可以递归 支持断点 而curl支持URL中加入变量 因此可以
  • VS 2019社区版Microsoft账号无法登录及离线激活

    1 账号无法登录问题 VS 2019社区版使用一段时间后需要重新登录 以激活使用许可证 现象 在输入账号后点击 下一步 一直没有出现输入密码窗口 并提示 IE 浏览器版本过低 解决办法 下载 IE11 中文版64位地址 http downl
  • VS2010调试dump文件

    VC 利用PDB和dump文件定位问题并进行调试 转载 vc 调试 利用PDB和dump文件定位问题并进行调试 VS2010 woshizfs的博客 CSDN博客 转载 VC 使用pdb和dump恢复 案发现场 i chaoren的博客 C
  • 弹性计算

    弹性计算包括云服务器 云数据库 负载均衡 云服务器 整合了高性能服务器与优质网络资源 云OS统一管理集群资源 每个集群可虚拟出多个独立服务器 且可以在集群中自由迁移 数据存储在云OS 大大提高云服务器的稳定性 关系型数据库服务 一个基于高稳
  • Hex文件和bin文件以及flash大小关系

    Program Size Code 31128 RO data 6572 RW data 52 ZI data 1852 keil软件编译后会出现上面的提示 其意义如下 Code 指程序中代码的字节数 RO data 指程序中定义的常量字节
  • Oceanbase列传

    Oceanbase列传 分布式与存储技术 跳至内容 首页 关于郁白 文章列表 文章预告 正在追越狱第五季 两阶段提交的工程实践 两阶段提交 2 Phase Commit简称2PC 协议是用于在多个节点之间达成一致的通信协议 它是实现 有状态
  • 1000元一根的Type C数据线

    转自 https zhuanlan zhihu com p 179946944 苹果官方商城近日上架了一根数据线 官方名称 雷雳 3 Pro 售价 949 元 看到价格 我脑海中的第一反应是 谁会买这根近千元的数据线 是贫穷限制了我的想象力
  • spring boot自动装配之@EnableAutoConfiguration详解

    1 EnableAutoConfiguration作用 EnableAutoConfiguration用于类或接口上 在spring boot中注解位于 SpringBootApplication注解上 SpringBootConfigur
  • 【数据结构1】数据结构的基本概念

    数据结构的基本概念 数据 数据是信息的载体 是描述客观事物属性的数 字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合 数据是计算机程序加工的原料 数据元素 数据项 数据元素是数据的基本单位 通常作为一个整体进行考虑和处理 一个
  • x = x.view(x.size(0), -1) 的理解

    之前对于pytorch的网络编程学习都是大致理解每一层的概念 有些语法语句没有从原理上弄清楚 就比如标题的x x view x size 0 1 这句话一般出现在model类的forward函数中 具体位置一般都是在调用分类器之前 分类器是
  • LogisticRegressionCV 参数使用以及含义 笔记

    第一次接触LogisticRegressionCV 记录一下 Logistic回归是分类算法 不能应用于回归中 传入模型的y值 不能是float类型 必须是int类型 正则化选择参数 penalty gt L1 L2 默认是L2的正则化 一
  • 【MySQL】MySQL高手是如何练成的?

    MySQL 什么是MySQL呢 怎样练成MySQL高手 在Linux安装MySQL 问题处理 Mysql 的用户管理 什么是MySQL呢 Mysql 是开源的 可以定制的 采用了 GPL 协议 可以根据业务需要修改源码来开发自己的 Mysq
  • 2023 年为您的网站提供 30 个免费的 CSS 加载动画

    我们将使用 Lottie 文件 Lottie 文件 毫不费力地为网络 应用程序 社交和设计带来最小的 免费的 随时可用的动态图形 立即创建 编辑 测试 协作和发布 Lottie 动画 脚步 1 在你的html中添加这个脚本 2 我们将提供一
  • MySQL基于复制线程实现MTS并行恢复binlog

    文章目录 一 MySQL备份恢复流程 二 并行恢复binlog原理 三 操作步骤 四 总结 一 MySQL备份恢复流程 MySQL数据恢复通常分为两个步骤 恢复全备数据 MySQL有多种备份工具 分为物理备份和逻辑备份 具体可以参看下面这篇
  • 因果推断--双重差分法(DID)的原理和实际应用(一)

    目录 一 应用场景 二 DID知识介绍 2 1 理论知识介绍 2 2 DID图形化解释 三 应用案例 3 1 构造对照组 3 2 平行趋势检验 3 3 因果效应评估 四 优缺点总结 一 应用场景 在精细化运营场景中 常常会面临如下问题 不方