跟着开源项目学因果推断——CausalImpact贝叶斯结构时间序列模型(二十一)

跟着开源项⽬学因果推断——CausalImpact贝叶斯结构时间序列模型(⼆⼗
⼀)
玻利瓦尔⽂章⽬录重庆弹子石小学
1 Causal Impact与贝叶斯结构时间序列模型氨基酸水解
1.1 观测数据下Causal Impact的背景由来
下图汇总了⽬前解决各个分析场景的⽅法论框架:
⼀些⽆法进⾏随机实验的场景下,会需要合成控制的⽅式
⼤部分运营和产品在评估效果时,最常⽤的⽅法就是effect = 上线后效果-上线前效果。这种⽅法最⼤的问题在于其关键假设,即上线的功能或者活动是唯⼀影响效果的变量。但是想想就知道这个假设是有多么不合理。
升级版的评估⽅案,可能会到⼀个城市或者⼤盘来和上线的城市做对⽐,这种想法⾮常类似DID,但是这个⾥⾯也隐含着⼀个关键假设,即可以到长期变化趋势⾼度同步的城市,这点对于有较强地域性的商业来说就⾮常困难。
图的同构更加升级版的⽅案可能是不需要到⼀个变化趋势⾮常趋同的城市,⽽且通过类似集成学习的⽅法,将多个城市作为输⼊,并结合⾃⾝长期的时间序列波动来拟合出⼀个策略没上线的虚拟现实。使寻⾼度同步的城市从⼀个强假设变成⼀个弱假设。Causal Impact就是这种思想的⼀个具体实践。
Causal Impact是基于贝叶斯结构时间序列模型,会综合多种信息输⼊结合⾃⾝的时间序列来构造⼀个策略未上线的虚拟值,以⼀个案例来进⾏说明。
1.2 贝叶斯结构时间序列模型
1.3 ⾕歌的Causal Impact
在不能做AB测试的情况下,产品上线后做效果评估⼀般会直接选择上线前后的指标做对⽐,但是不同时期的指标本⾝受到的影响不⼀样,⽐如节假⽇、季节性影响,使得选择上线前后时间段的指标⽐较主观。
为了准确的量化产品改版的效果,⾕歌推出了开源项⽬causalimpact⼯具包,该⽅法基于合成控制法的原理,利⽤多个对照组数据来构建贝叶斯结构时间序列模型,并调整对照组和实验组之间的⼤⼩差异后构建综合时间序列基线,最终预测反事实结果。即如果没有上线这次的产品改版,那么产品指标该是如何⾛向。那么这次的产品改版对指标的影响⼤⼩即是真实值(产品改版后的指标值)和预测值(预测没有改版该时期的指标值)的差距。
那么该⽅法中需要准备:
1、时间序列数据
待评估指标在每⽇或每周或每⼩时的值,作为⽅法的输⼊值,该⽅法会拟合产品上线前的指标数据进⾏预测,得到新的时间序列,那么这段新的时间序列和产品上线后指标的真实值差距就是该产品改版的效果。
2、对照组时间序列
在预测前可到相似趋势的时间序列数据加⼊模型中,已知相似时间序列可以作为预测序列中的趋势效应,⽪尔逊相关系数可以作为时间序列相似性的度量。
3、为达到预测准确需要的数据探索
时间序列本⾝是由长期趋势、季节性因素、周期性因素和随机变动因素组成(如下图),为了预测准确,需要识别历史数据的这些特征,才能更准确的预测时间序列。
趋势,即在⼀定时间内的单调性,⼀般来说斜率是固定的。
周期性,与季节性很像,但是它的波动的时间频率不是固定的。因为其波动频率不固定,⼀般会与趋势⼀起分析⽽不做拆分,⽐如上图中trend曲线,跌落⾕底之后⼜反弹,这种往复的运动,被称之为周期性。
季节性,固定长度的变化,就像春夏秋冬的温度变化⼀样。⽐如上图中每12个⽉就会出现⼀次周期循环,不同年中每个⽉的值都⼤致相等。
节假⽇,业务通常也会受节假⽇的影响最终反映在指标的波动上。为了在历史数据中识别出节假⽇的效应,模拟数据最好有⼀年的历史数据。
中国劳动和社会保障部2 ⼀些案例
2.1 CausalImpact的时序选择
外卖公司在A城对外卖骑⼿上线了S策略以提升拼单率,由于策略管控类实验不能对骑⼿进⾏歧视,因此不能够进⾏AB实验,必须全量上线,需评估策略效果。
CausalImpact构建分为两个步骤:
· 控制的时间序列选择:
通过dtw算法选择与A城拼单率最相似的时间序列,通过距离的计算得到B城⼲预前的拼单率时间序列与A城最为接近。
· 通过观察拟合后的结果,判断策略是否与显著效果
第⼀张图(original)⿊⾊实线为A城在策略上线前后的实际结果,蓝⾊虚线为根据B城拟合的A城结果,也就是模拟的策略未上线时A城结果,蓝⾊区域为置信区间。
第⼆张图(pointwise)蓝⾊虚线为A城策略前后拼单率的差值,可以看到策略上线后,拼单率差值是显著为正的。
第三张图(cumulative)蓝⾊虚线为策略上线后的累加值,是持续增⼤的,可见策略有明显的正向作⽤。
下图为具体的策略效果:
拼单率⽇均提升3pp经视故事会
笔者再多解读⼀些下⾯的图:
第⼀个数据模块:实验最终的平均预测值(prediction)为0.059,平均实际值(actual)为0.088;⽽累计预测值1.532,累计实际值2.287;这⾥的平均数据范围就是上述虚线之后的时间段
第⼆个数据模块:经过MCMC估计指标绝对效应(absolute effect)平均增长0.029,累计增长0.755;相对⽐率(relative effect)平均增长49%,累计增长49%
CausalImpact有三个要点:
⼀是在模型拟合过程中(original),AA差异的置信区间要始终包含0,相当于模型的拟合误差在我们的接受范围之内,反之则说明模型的拟合误差过⼤,模型不可信;
⼆是策略上线后(pointwise),每天的收益⽔平是否包含0 ,如果包含0则说明收益是不显著的;
三是策略长期收益(cumulative),有的策略存在新奇效应,不能得到长期收益,所以需关注累积收益进⾏决策。
2.2 ⽇⽂案例:CausalImpactの理解と実装
传统⼏种在观测数据的⼯作流(差分差分法+ synthetic control method):
选择⼀个以上符合条件的对照组
使⽤synthetic control method来选择对照组(如果⼀个有多个)
synthetic control method是通过使多个对照组的加权之和尽量接近处置组,创建假想未处置时的处置组的⽅法。
使⽤DID,⽐较处理组和在2中制作的对照组
上述⼯作流程的问题点:
时间序列数据⼀般都会产⽣⾃回归分量,但DID的假设是各时间点独⽴同分布。
由于DID只能观察两点之间的差异,例如,假设活动持续了⼀周,那么就⽆法单独观察活动开始和结束前的影响。
由于进⾏synthetic control method→差分的差分法这两个阶段的推算,很难判断哪个阶段的误差影响更⼤。
CausalImpact的⽅法介绍:
使⽤状态空间模型,从对照组中⽣成未采取措施时的对照组,计算出预测值。
将其与实际处置组的值进⾏⽐较,计算出因果效果。
CausalImpact的亮点:
使⽤状态空间模型可以考虑⾃回归成分和季节性等时间序列因素
可以确认时间序列中每⼀点的影响
synthetic control method的部分和DID所做的事情⽤⼀个状态空间模型来覆盖,所以很容易知道哪个部分发⽣了误差。了解模型的不确定性。

本文发布于:2024-09-24 09:16:13,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/258382.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:时间   序列   上线   模型   策略
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议