本文主要介绍BSTS模型原理以及CausalImpact对模型的代码实现 , 旨在面对一些具有特定周期性特点的数据时 , 更精准科学地进行因果效应值的估计 。作者简介
Yiwen , 携程数据分析师 , 专注用户增长、因果推断、数据科学等领域 。
一、背景如何科学地推断某个产品策略对观测指标产生的效应非常重要 , 这能够帮助产品和运营更精准地得到该策略的价值 , 从而进行后续方向的迭代及调整 。
在因果推断框架下 , 效果评估的黄金准则一定是“AB实验” , 因为实验的分流被认为是完全随机且均匀的 , 在此基础上对比实验组与对照组的指标差异就可以体现某个干预带来的增量值 。但是很多场景下 , 我们较难进行严格的AB实验 , 例如对于酒店的定价;现金奖励的发放等等 , 不适宜向不同人群展现不同的内容 。对于这些问题 , 我们会采取因果推断的方法来进行策略的效果评估 。
本文主要介绍BSTS模型原理以及CausalImpact对模型的代码实现 , 旨在面对一些具有特定周期性特点的数据时 , 更精准科学地进行因果效应值的估计 。下文将首先对模型原理进行简要阐释;随后利用模拟数据展示代码逻辑 , 最后在具体的业务场景中进行实践 。
二、现有方法及潜在问题大部分运营和产品在评估一些全量上线的策略效果时 , 最常用的方式就是看上线前后的效果差异 。但这种方法最大的问题在于其假设前提:假设上线的功能是唯一影响效果的变量(即没有任何其他干预和混淆变量) , 但这个假设现实中往往很难实现 。
于是我们尝试使用更多因果推断的方法 , 例如PSM(倾向分匹配法) , 在所有非实验组的用户群中 , 找到与实验组用户的特征非常相似的一群人 , 将他们的指标数据(例如下单率 , 订单收益等等)与实验组的用户进行对比 , 从而体现出干预带来的影响 。但这个方法较为依赖选取的用户特征与最后的匹配效果 。
再例如SCM(合成控制方法) , 利用一些未受干预的地区合成一个“类似的虚拟地区”来与“上线策略的地区”进行整体的对比 。但这也需要一个关键假设:可以找到长期变化趋势高度同步的地区来进行对照 , 而这个条件往往也很难实现 。
进而在传统SCM的基础上 , 我们企图通过类似集成学习的方法 , 将多个未干预的对照组作为输入值 , 再结合实验组自身长期的时间序列波动情况 , 拟合出一个未受干预的虚拟对照组 , 从而将“对照组与实验组高度同步”的强假设降为弱假设 。本文介绍的BSTS模型就是用来刻画某种“长期的时间序列波动”的数据模型 , CausalImpact是用来针对这样的数据进行因果效应值的估计 。下文中我们将详细介绍这两个工具 。
三、模型介绍BSTS模型 (Bayesian Structured Time Series)称为“贝叶斯结构化时间序列” , 正如其名 , 它的主要特点体现在:
- 适用于有结构特征的时间序列数据
- 利用贝叶斯的思想来进行参数估计
文章插图
故BSTS模型主要即对结构化时序数据进行模型拟合及预测 , 在拟合的过程中使用到了贝叶斯的先验思想 。其好处是能够给出预测值的置信区间 , 使得预测结果更科学可信 。下文将对这几种思想逐一进行介绍 。
3.1 状态空间模型
结构化的时间序列数据是指某一观测数据的背后其实隐藏着随时间变化而变化的不同状态 , 其中观测值与状态值之间有对应关系;不同时刻的状态之间也有转换关系 。我们一般用以下状态空间模型来刻画这两种映射逻辑:
推荐阅读
- 小李子狂撩37岁俄罗斯超模,聚会到凌晨离开,女方还曾迷倒C罗侃爷!
- 克里斯·埃文斯倾情演绎,英雄的诞生与正义的战斗,引发观众深思
- 网红rose被吐槽,模仿菲利斯假借孝心赚流量,网友:找茬博眼球
- 提拉米苏和慕斯的区别,哪个好吃 提拉米苏和慕斯的区别
- 小托马斯:科比的敬业NBA第一,他决不会像詹姆斯杜兰特选择抱团
- 粉丝超千万的网红rose被吐槽,处处模仿菲利斯,假借孝心博流量
- 格瓦斯是什么 格瓦斯是什么意思
- 美媒将职业生涯场均23分以上的29人划分成6档,詹姆斯阿杜同一档
- 陈佩斯豪宅被曝光,4个孙子和他长得非常相似
- 五步让你掌握Python数据结构