大家好,欢迎来到IT知识分享网。
Tubi 的实验
在 Tubi,从数据中学习是我们的首要任务之一,而实验在其中起着至关重要的作用1。截止到目前,借助 Tubi 的内部实验平台 Popper, 所有实验都可以实现用户分组的 A/B 测试方式。一个典型的实验流程可以分为三个步骤:首先,实验负责人通过自定义样本量计算器(运行在 Tubi Data Runtime 2上)来估计实验所需的持续时间。然后使用 Popper 来配置实验,例如,实验组的组数、实验部署安排以及每个实验组所需的资源。最后,实验配置审核无误后就可以上线了。
我们的主要实验系统实现了 CUPED 方差缩减方法3 来提升统计功效,并在中心仪表盘上展示平均实验效果和统计检验结果。
在用户分组实验中,Popper 将用户随机分配到实验组和对照组,然后,我们在实验期间对每个用户的实验效果指标(例如,总观看时间)进行追踪,并使用统计学检验来比较不同实验组之间的变量级均值。用户分组实验设计中的随机分配使得我们可以根据鲁宾因果模型4 来进行因果推理。
然而,用户分组实验并不总是适用于 Tubi 的每个场景。在许多广告设置实验中,由于两组共享一份广告供给,实验组和对照组之间会存在互相影响的行为。举一个具体的例子:假设每个广告时段的汽车广告的数量原本是 1,我们想要测试每次广告时段汽车广告数量的增加会如何影响用户行为。进一步假设我们进行了一个用户分组实验,其中对照组的用户每次广告时段看到 1 个汽车广告,而实验组中的用户每次时段看到 3 个汽车广告。在这种情况下,提供给实验组的汽车广告数量的增加会改变对照组的可用汽车广告供应,可能导致对照组中的大量用户看到的汽车广告比原来要少。在这种情况下,比较实验组和对照组的用户行为可能会对实验估计结果带来偏差。
这种网络干扰违反了鲁宾因果模型的假设,从而使用户分组实验不再适用。因此,我们需要 Switchback 实验 来估计存在网络干扰(组间相互影响)时的因果效应。
Switchback 实验
你可能会好奇什么是 Switchback 实验,以及它可以解决哪些典型的用户分组 A/B 测试无法解决的问题。在 Switchback 实验中,我们不再将用户随机分配到实验组和对照组,而是将一系列时间窗口随机分配给两个组,我们称它们为“分配窗口”。在每个“分配窗口”期间内,所有用户都会处在相同的实验设定中。这样便消除了上述用户分组的实验组和对照组之间的干扰,例如,在任何单个时间点实验组和对照组之间不再有共享的广告供给。一般情况下,Switchback 旨在消除由共享有限资源而引起的干扰,因此这种实验在有多边市场属性的行业(例如拼车)中被广泛使用。
Switchback 实验有一个经常被忽略的优势: 它能够用于解决一些用户分组 A/B 测试无法处理的问题。因为这个设计没有将用户设置为实验单元,所以可检验的假设集不再局限于那些参与实验的用户。一个很好的例子是工程系统测试,例如测试广告预算分配策略或竞价算法。Switchback 测试还使我们能够衡量集成新的需求方平台 (DSPs) 对收入的影响,而这些我们过去只能通过集成前 / 后的对比分析来衡量。因此,我们能够基于实验结果来做出更加准确和严谨的决策,并据此改进那些非直接面向用户的系统。
Switchback 实验也改变了我们对实验效果指标的看法。在用户分组实验中,效果指标是在每个用户级别上计算并汇总的。而对于 Switchback 实验,效果指标则与时间块(分配窗口)相关联,这也改变了我们对实验数据的思考方式。
Switchbacks 带来的难题
尽管 Switchback 实验能够解决组间相互干扰的问题,但它同时也为我们带来了一系列新的难题。以下列出了其中三个在 Tubi 设计和实现 Switchback 实验系统时产生影响的难点,并介绍了我们是如何克服这些困难的:
难点 #1:时间依赖
难点:由于实验单元不再是用户而是时间窗口,如果我们的指标表现出季节性,那么我们的随机化就可能会出现偏差。例如,如果人们在周末比工作日看更多影视节目,要是正好有一个实验组,在周末分配的实验窗口比工作日更多,这种情况下我们可能会得出一个非常有误导性的结论。
解决方案:为了减轻季节性带来的潜在偏差,我们对分配窗口施加每周镜像约束。也就是说,分配窗口是按“双周对”创建的。第一周是随机的,但第二周不是 —— 它只是第一周的镜像翻转。图 1 是一个为期两周的 Switchback 实验示例,每个分配窗口为两小时(红色 = 实验组,蓝色 = 对照组):
以两个星期日的前三个分配窗口为例,可以看到:第一个星期日的前两个分配窗口(第 1 – 4 小时)是对照组,下一个分配窗口(第 5 和第 6 小时)是实验组,而在下一个星期日,前两个分配窗口是实验组,下一个分配窗口是对照组。这种周间镜像的方法不仅能确保实验和对照组有相同数量的窗口,还确保随机化不会在一天中的某时刻(几点)或一周中的某一天(周几)上产生不平衡的窗口分配。尤其要注意的是,如果每周之间存在较大的差异,则此约束将无济于事,但在 Tubi,一般情况下几点或星期几的影响往往比周和周之间的差异更大。
难点 #2:残留效应 (Carryover Effects)
难点:虽然分配窗口通常可以随时切换,但前一个窗口对用户的影响可能会在切换到新窗口之后残留一段时间。例如,在实验组窗口快结束时开始观看影视节目并在随后进入对照组窗口期间继续观看的用户,相比于观看行为开始和结束都在同一个窗口内的用户,可能有不同的用户行为表现。
解决方案:残留效应可以通过删除在时间窗口切入 (burn-in)或切出 (burn-out)的那部分数据来减轻。为了实现这一点,我们的 Switchback 数据系统将事件数据聚合到 20 分钟的窗口中,这是在对此系统的效率和实验指标精度之间做了分析与权衡后选择的值。图 2 提供了在 Tubi 的 20 分钟事件数据聚合粒度下,从某一天的第 5 到第 8 小时开始切换实验分配窗口,在窗口切入时的三种不同数据处理方式的示例:
在图 2 的第一列中,没有在窗口切入阶段删除任何数据。但是,如果我们预计本实验中会出现短期残留效应,我们可以删除第 5 小时和第 7 小时的前 20 分钟数据窗,正如中间列中的灰色单元格所示。如果我们预计有更长的遗留效应,我们可能需要如右列所示在切换后删除紧接着的 2 个 20 分钟的窗口数据。一旦我们有了无偏的数据,我们就可以进行有效的统计检验。需要注意的是,如果有更长期的遗留效应需要移除更多个 20 分钟数据窗, 则可能需要更长的实验分配窗口才能累积到足够的实验数据。
难点 #3:更少的样本量和更低的功效
难点:由于实验单元是分配窗口而不是用户,因而样本量远小于典型的用户分组实验。此外,根据我们的经验,分配窗口之间的变化通常(远)大于每个窗口内的变化。因此,Switchback 实验在同样的条件下会表现出较低的功效。
解决方案:Bojinov, Simchi-Levi, and Zhao5 分析了传统 Switchback 实验设计(即,所有分配窗口都是随机的且没有施加镜像约束的设计),并提出使用置换检验的方法来解决。对于一个传统 Switchback 实验,置换检验反复重新随机化每个窗口的分配标签,并且每次会重新计算实验组的效果指标以构建一个参考分布,然后将观察到的实验估计效果与重新采样的实验组效果分布进行比较。如果实际观察到的效果相对于该分布足够极端(例如,如果观察到更极端的效果的概率小于 0.05 ),则将其视为实验组具有鲁棒效果的信号。
我们还考虑了使用 t 检验和其他实验效果估计技术来解决这一问题(例如,具有夹心方差估计器的线性模型和多级建模方法;请参阅文末链接的 DoorDash 博客文章)。最终,考虑到兼顾最少限制性假设和计算简洁性,我们认为带有约束的置换检验是最佳选择。
Tubi 的 Switchback 实验系统
与实现用户分组测试的方式类似,Switchback 实验是通过在 Popper 中指定实验参数(例如,分配窗口的时长、总体实验持续时间和涉及的设备平台类型)来实现的。
当一个 Switchback 实验上线,数据处理系统(如下图 3 所示)会在每个夜间运行。在第一阶段,系统会确定有哪些实验有新数据要处理。对于这些实验,系统会查询和转换用户行为事件和广告曝光数据,以创建 20 分钟事件聚合窗的数据。然后,将包含这些 20 分钟窗的每日文件写入 S3。最后,每次完成一个为期两周的实验时,都会清理该实验的数据(例如,去除窗口切入和 / 或切出的数据),将指标汇总到分配窗口级别,进行统计学检验,并将实验效果报表文件写入 S3。对于尚未结束完整实验周期的实验,处理系统会在将每日文件写入 S3 后停止。
Switchback 实验仪表盘与样本量计算器一样,都使用 Tubi Data Runtime6 来运行。在仪表盘后台,应用 Benjamini-Hochberg procedure 7 来降低错误发现率。从报表上的下拉菜单中选择实验后,结果将以颜色编码显示正(绿色)或负(红色)提升以及统计显著性(灰色 = 假,白色 = 真)。下面图 4 中的屏幕截图显示了报表的示例(为保护隐私,去除了实验和对照组的平均值以及平均实验效果)。
我们目前在做什么
我们的 Switchback 实验系统已经启动并运行了数月,现在我们正在其上开发其他功能。例如,对于解决残留效应和优化实验设计进行的实证检验,例如对于给定的实验组,确定其最优分配窗口时长和周数。
尽管目前来看,我们的 Switchback 实验系统在应用范围上比用户分组实验系统小得多,但我们预期 Switchback 实验系统的应用将在 Tubi 持续拓展。随着越来越多 Switchback 实验的开展,在未来的工作中,我们也会进一步致力于减少实验间的相互干扰以及优化每个实验设计。
如果您对从事此类数据科学项目感兴趣,请联系我们!期待充满热情的数据科学家们加入我们团队!更多热招职位请访问这里。
原文作者:Michael Berk, Max Dorofiyenko, and Noah Silbert, Tubi Data Science
译者:Yaqi WANG, Tubi Senior Engineer – Machine Learning
欢迎加入 Tubi,一起高效工作,品质生活!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/147112.html