美文网首页
如何理解AB系统

如何理解AB系统

作者: DS事务所 | 来源:发表于2020-11-24 16:30 被阅读0次

1 什么是AB实验?

假如你是一名推荐算法工程师,需要上线一个提升公司商品成交金额(GMV)的算法模型。你觉得,你的模型是有效的,比原有模型提升了100%的成交金额。但是老板说,我要我觉得,不要你觉得 -- 你得给出证明。

你想了想,不妨设计一个对照实验:

将用户分成人数、GMV一致的两组,分别采用不同的模型,对照组采用原模型A,实验组采用新模型B

image.png

这就是一个AB实验:

  • 提出问题--新模型真的比原来的模型效果好么?

  • 建立假设--两者一致,无显著差别

  • 设计实验--均匀分组,赋予不同的模型,计算差值

  • 得出结论

2 均匀分组与AA实验

实验设计好了,这时又来了一个新的难题。如何保证两组一定是均匀的呢,平台每天有千百万用户,要一个个数过去么?

答案是当然不用。

这里的思路就是随机将用户分入实验组、对照组,并用两组历史数据,检验分组结果的相似性。

那么问题又来了,如何检验相似性?

引入T检验,T检验认为对两组统计量求t值,t值服从t分布,从而得出显著水平(p-value)。

image.png 其中 image.png
,即自由度; image.png
为伽马函数。

这时候,可能有同学又要问了,T检验的前提条件是数据符合正态分布,如果数据不够"正态"那该怎么办呢?

需要明确,通过中心极限定理,在用户基数足够大的情况下,我们知道用户侧常见的指标应该服从正态分布。如果不符合,一定有某种“问题”。比如,刷单作弊、幸存者偏差、样本量小等。每个问题会有对应的“消偏”方式,来找出其背后真实存在的正态分布。

所以这里的流程就是:分组--历史数据计算--正态性检验(不正态的消偏恢复成正态分布)--两组用户组间t检验

这里的提取历史数据,并检验的过程,就是一个在开展AB实验前,进行前置AA实验的过程。

此外,这里可以发现刚才设计的AB实验漏洞。那么这里打个补丁,AB间的差异比较也应该使用“正态性检验-->t检验”这一流程。就定量实验而言,波动越大的组,所需样本量越大。

其中,样本量 = 流量 x 流量转化漏斗 x 时间

波动程度则可以通过标准差来衡量。

3 辛普森悖论与BB实验

在经历了从AA到AB之后,经过一系列调整,你得到了B比A增加了100%GMV的结论。本来两组指标收拢就可以验收完成。然而当把模型B扩充到对照组进行使用时,你发现对照组在模型B下和实验组的差距并没有完全收拢。

这就让人想到了辛普森悖论,优势分组合并为总体后,反而变成劣势组了。

当人们尝试探究两种变量(比如新生录取率与性别)是否具有相关性的时候,会分别对之进行分组研究。然而,在分组比较中都占优势的一方,在总评中有時反而是失势的一方。via wikipedia

悖论产生原因,往往是分组中存在人群比例失衡,且模型对不同人群的指标提升存在分层现象。

循着这一思路,我们发现了上文设计的AB分组存在的漏洞,对照组与实验组的男女比例不一致,分析数据之后,发现模型B对男女的提升效果不一致–女性群体涨幅大于男性群体。实验组效果提升由女性用户提供的多于男性。所以在对照组也应用模型B时,对照组和实验组未能完全收拢。

image.png

这时重新把分组中男女划分均匀,重新AA AB BB,模型B上线评估完成。顺带发现了用户分层。

新发现的分层特征放入下一轮模型迭代中。

4 总结

完整流程为:AA--AB--BB

AA 负责分组,验证均匀性。顺带修复特征数据。

AB 负责比较AB模型效果差异

BB 负责验收AB比对的合理性。顺带发现了用户分层。

一个思考题:如何证明一个策略长时间是稳定的,和时间推移无关

相关文章

  • 如何理解AB系统

    1 什么是AB实验? 假如你是一名推荐算法工程师,需要上线一个提升公司商品成交金额(GMV)的算法模型。你觉得,你...

  • A/B实验设计——偷看问题

    偷看是ab测试中最常遇到的问题,本文将说明影响,分析用户为什么偷看,探讨如何应对。 背景 大部分ab测试系统使用固...

  • 交叉熵

    如何衡量不同的分布(系统)?熵。分布的熵如何定义?每个个体的信息量的先验加权和。如何计算信息量?为满足f(AB)=...

  • Python学习笔记

    Python 编码 a = u'ab'b = "ab"如何互转? unicode声明 join unicode 用...

  • 混沌中的光明--《专业投机原理》plusplusplus

    闲聊:: AB:股票如何赚钱? 答:简单的——高买低卖 AB:交易策略呢? 答:简单的——追涨杀跌 AB:这么简单...

  • 如何理解link系统

    今天讲链家link这个系统,您需要的楼盘和房源都可以在这个系统里找到,首横是由健康日报,聚焦包,线索,签约管理,贝...

  • 如何理解系统整合?

    郑立峰博士答如何理解系统整合? 为什么在系统排列的场域里面,一个陌生人可以代表当事人的家人的代表,而且有身体情绪,...

  • 推荐系统实践-读书笔记6

    AB测试系统 AB测试的优点是可以公平获得不同算法实际在线时的性能指标,包括商业上关注的指标。 AB测试的缺点主要...

  • 业务系统 Over 阿里云性能压测的最佳实践

    业务系统性能压测的最佳实践 压测工具的选择 目前主流的压测工具有 ab Jmeter 阿里云PTS 如何来选择呢,...

  • 业务系统 Over 阿里云性能压测的最佳实践

    业务系统性能压测的最佳实践 压测工具的选择 目前主流的压测工具有 ab Jmeter 阿里云PTS 如何来选择呢,...

网友评论

      本文标题:如何理解AB系统

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