美文网首页
DS 面试之 A/B Test

DS 面试之 A/B Test

作者: 数科每日 | 来源:发表于2021-05-28 11:05 被阅读0次
    image.png

    A/B Test 题目, 往往会和 Metric Questions 放在一起出, 属于DS 业务领域内的一大重点类型。 本文分几部分拆解A/B Test 面试中会遇到的各类问题。 但是如果想深入了解 A/B Test, 还需要大家真的花费时间去了解, 可以参考 Trustworthy Online Controlled Experiments 系列文章。

    什么是A/B Test

    A/B Test 是一种控制实验, 在面试中, 会被问到以下一些问题

    • 你的A/B Test 的假设是什么
    • 如何设计一个 A/B Test
    • 如何评价结果
    • 根据结果,做出决定

    设计一个 A/B Test

    • A/B 要运行多久?
    • 需要多少样本? 这一般取决于
      • Power (一般取 80%) (1 - TypeII error) 什么是 Power
      • Significant Level (一般取 p-value = 0.05)
      • 要能找到多精细的差异
      • 常用公式 Sample Size = \frac{16 \sigma^{2}}{\delta^{2}} (\sigma :样本方差 \delta 可识别最小差异 )

    从上面的公式可以推导出

    • 样本方差越小(数据变动小), 所需要的数据越少
    • 要求的可检测差异越大(粗糙), 所需要数据越少

    算出来的样本量, 是每组的样本量, 不是真整个实验需要的样本量

    关于可检测差异如何设置, 这是一个经验之谈, 在Trustworthy Online Controlled Experiments 系列中, 也有专门的讨论。 一般的原则是, 这个值一定要在实验开始前定下来, 并且不能在实验中改动

    关于 ** A/B 要运行多久** 也可以从样本数量推出来, 比如,需要 20000 个样本, 而每天有4000个客户, 那么就需要5 天。 但是实际运行中, 还要考虑周末效应, 因此在这个例子中, 一般会选择7天。

    多重测试

    有时候, 我们会有不止一个干预组, 比如, 测试一个按钮的颜色。 我们可能会同时测试 10种颜色。

    比如, 在一个 A/B Test 中 ,我们实验了10中颜色, 其中一种颜色胜出, 而且p< 0.05。这时,是否要决定使用该颜色呢?

    答案是否定的, 因为比对的组越多, 可能第一类错误的概率越大, 在多组对照实验中, 应该用更低的 p-value。 比如, 如果有3组, 每组对比使用 p-value 0.05, 那么整个实验犯第一类错误概率为:

    P(Type \ 1 \ Error) = 1- (1 - 0.05)^{3} = 0.143

    远远大于 0.05。

    解决这种问题的方法

    1. Bonferroni Correction:

    方法也很简单, 在多组实验中, 使用
    p-value = \frac{0.05}{group \ number}

    就是用 0.05 除以组数。 因此, 对于有10个group 的实验, 应该使用的p-value 是 0.05。

    缺点:过于保守, 要求太高

    2. Control False Discovery Rate

    \mathrm{FDR}=E\left[\frac{\text { false positives }}{\text { rejections }}\right]

    这个一般在有很多个 Metrics 的时候, 使用, 比如有 100+ 个Metrics
    比如 200个 Metrics , FDR = 0.05 这意味着

    • 5% 的假阳性率
    • 在200 个指标中, 至少有1个是假阳性

    新鲜感 (Novelty) 和先入为主(Primacy) 效应

    • 先入为主(Primacy) : 用户需要时间,来适应改变。
    • 新鲜感 (Novelty): 新功能带来的新鲜感, 会慢慢消退。

    这两个效应带来的问题是, 他们带来的效果都不持久。另外, 实验一开始的高增长,和低增长可能都和他们有关系。

    解决方案
    1. 使用新用户做测试, 对于新用户来书, 就不存在这两种效应。
    2. 如果实验已经运行了,那么可以现在比较干预组中新用户, 和老用户的行为区别。

    干预手段对实验造成的影响

    A/B Test 的两个假设

    • 用户进入各个实验组完全是随机的
    • 用户之间是独立的 (SUTVA)

    对于一些应用,这两条不一定成立, 比如 Facebook, 微信, Uber 等。 一方面, 社交应用会有溢出效应, 另外方面 Uber, Airbnb 这种资源共享应用会有资源挤占效应。

    如果在实验中, 一个社交应用导致用户发帖数上升 1%, 那么在实际推广以后, 这个效应会超过 1% , 这是由于网络效应导致的。 而对于资源共享型应用, 比如 Airbnb, 如果一个手段让实验组叫车量提升 1% , 那么实际使用中, 效应应该低于 1%, 因为实验组叫了更多的车, 那么控制组可叫的车的数量就减少了。

    如果减少干预带来的影响

    隔离用户

    • 地理隔离: 比如在不同城市测试优惠券对打车的影响
    • 时间隔离: 适用于干预效果较短的应用

    对于社交应用, 可以使用 Cluster, 然后以不同的社群作为 Unit 做比较。


    参考视频

    相关文章

      网友评论

          本文标题:DS 面试之 A/B Test

          本文链接:https://www.haomeiwen.com/subject/nrnjsltx.html