首页 > 其他分享 >【A/B实验常见问题】实验异常值应该如何处理?

【A/B实验常见问题】实验异常值应该如何处理?

时间:2025-01-08 18:55:26浏览次数:1  
标签:基于 常见问题 数据 方法 样本 实验 异常

作者:京东零售 周佳慧

背景

大家在做实验时有没有遇到过以下的问题?

实验分流不太稳定,多次分流以后,发现随机分组历史数据指标波动特别大 实验结果不符合预期,在去掉几个特殊用户后结果变化较大、甚至正负反转 不同的业务场景设置的指标过滤规则不同,例如A场景过滤掉了成单超过100单的用户、但B场景没有过滤,实验指标应该选择哪个

这里实验者大概率是遇到了实验中的异常值问题,我们接下来会讨论在互联网AB实验场景中,应该如何进行处理?

概念解析

从严格的学术角度来看,异常值并没有一个统一的定义和划分标准,在不同的领域会根据使用目的和数据特点有不同的定义逻辑和检验方法。即我们可以得到“在一个样本或集合中,与其余样本均有较大差异的样本点就是异常值”这样一个通用、模糊的概念,但具体差异较大的判定标准是什么,检测差异的方法有哪些,场景之间各不相同。

举个例子,很多人都听说过的3sigma原则指的是:如果一个样本取值超过了image.png 这个范围,那么就属于异常值。但这个标准通常假设了样本的分布属于正态分布或者近似正态分布,对于互联网公司的幂律分布指标适用性较差,我相信大家都能感受到“JD大盘Top1%的用户成单GMV都是异常值”这个结论有多么的离谱。

 

基于上述思考,后续研究中我们会着重研究在大样本、幂律分布等和互联网AB实验面临状况比较相似的情况,并参考比如调研分析、社会学等直接收集人类社会经济活动数据的学术分枝统计方法,以及新兴的算法方向的异常值检测、处理方法。

异常值产生的基本原因

•数据收集过程中的测量误差(工具误差)

•群体中个体的差异性(抽样带来的随机性)

•数据造假、作弊(刷单)

•收集的样本来源于不同的群体(比如京东App中有很多背后是B端的用户)

 

AB实验中异常值剔除的作用与局限性

1.为什么AB实验需要进行异常值处理?

•有一小部分异常用户,由于数据分布非常异常,造成了分流时无法将这一批用户每一次都很完美的均匀分布在实验组、对照组,异常用户在哪、哪个组就会出现AA不均匀的情况

•由于异常用户的指标值较大,造成了整体指标的波动性较大,让实验的精度变差、样本量需求变大,原本可以观测的实验效果就会被淹没在噪音中(指标方差较大带来实验最小提升量-MDE较大)

2.异常值剔除方案的局限性

•做不到的:无法识别业务逻辑中认定的异常值以及异常用户(比如xx用户命中了xx风控规则,所有数据不可信),无法识别指标统计错误(比如某用户1天内在一个页面的停留时长超过24H)

•能做但做不好的:降低指标的波动性,但同时可能会去掉了部分有效样本和有效数据,会让样本产生偏差(bias)。此时需要用更多的样本才能进行更灵敏的实验,或使用ANCOVA、CUPED等方差缩减的方法。

 

传统统计学方法的应用—— trim & winsorize方法对于补贴实验的效果对比

1.什么是trim方法与winsorize方法,为什么选择这些方法?

这两种方法其实源自于上个世纪的调研分析方法,当年的统计学家除了会遇到样本量不足的问题外,也会遇到在样本收集、统计过程中发生错误而导致的异常值。在当年各种算法技术、算力限制的情况下,统计学家会通过观察、处理当前数据指标分布的方式,对样本进行更加稳健的估计。具体来看

◦Winsorizing(或缩尾法):当样本点的取值超过样本的特定分位数后,将取值直接替换为分位数值

◦Trimming(或去尾法):当样本点的取值超过样本的特定分位数后,将样本点直接丢弃

2.数据表现

•我们使用异常值处理后对样本均值、标准差的影响作对比,可以发现在同样的分位数下,trimming方法通常会有更大的效果。

 

 

•但如果我们忽略掉具体的分位数选择,直接对比方法的损失(横轴,均值估计偏差)与收益(纵轴,方差缩减效果),可以发现winsorize方法更具有优势,即在相同的均值估计偏差下,有更大的方差缩减效果(即下图中,左下角更好)。

 

 

•方法对于实验的一类、二类错误影响如下

标签:基于,常见问题,数据,方法,样本,实验,异常
From: https://www.cnblogs.com/Jcloud/p/18660356

相关文章

  • SAP SE37函数模块异常抛出
    今天写了一个功能,生产订单批量打删除标识,我用一个函数来封装相应的功能,并且使用一下RAISE异常的功能在函数里面判断用户是否在ALV界面选中了数据,如果没有选中则抛出异常打断点发现,RAISE异常之后代码会中断执行,退出相应的函数模块。是非常好用的代码。 函数部分调用部分在......
  • 云服务器安装安全狗后功能异常的处理方法及注意事项
    当云服务器安装安全狗后出现功能异常时,可以采取以下步骤来解决问题,并确保安全狗卸载后不会影响服务器功能:步骤描述1.修改关键密码修改所有可能被原运维公司掌握的密码,包括但不限于:<br>-WDCP管理后台密码<br>-网站后台账号密码<br>-数据库密码<br>-FTP密码<br>-SS......
  • 11.03实验5:建造者模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解建造者模式的动机,掌握该模式的结构; 2、能够利用建造者模式解决实际问题。[实验任务一]:计算机组装 使用建造者模式,完成下述任务:计算机组装工厂可以将CPU、内存、硬盘、主机等硬件设备组装在一起构成计算机,......
  • 11.04实验6:原型模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解原型模式的动机,掌握该模式的结构;2、能够利用原型模式解决实际问题。 [实验任务一]:向量的原型用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比较这两种克隆方......
  • 11.05实验7:单例模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解单例模式的动机,掌握该模式的结构; 2、能够利用单列模式解决实际问题。[实验任务一]:学号的单一 仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。实验要求: 1.画出对应的类图; 2.提交源......
  • 11.07实验8:适配器模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解适配器模式的动机,掌握该模式的结构; 2、能够利用适配器模式解决实际问题。[实验任务一]:双向适配器 实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。实验要求: 1.画出对应的类图; 2.提交源......
  • 11.09实验9:桥接模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解桥接模式的动机,掌握该模式的结构;2、能够利用桥接模式解决实际问题。 [实验任务一]:两个维度的桥接模式用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。实验要求:1.画出对应的......
  • 11.10实验10:组合模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解组合模式的动机,掌握该模式的结构;2、能够利用组合模式解决实际问题。 [实验任务一]:组合模式用透明组合模式实现教材中的“文件夹浏览”这个例子。实验要求:1.文件的执行不需真正实现,只需简单提示即可; 2.提......
  • 11.1实验3:工厂方法模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解工厂方法模式的动机,掌握该模式的结构; 2、能够利用工厂方法模式解决实际问题。[实验任务一]:加密算法 目前常用的加密算法有DES(DataEncryptionStandard)和IDEA(InternationalDataEncryptionAlgorithm)国际......
  • 11.02实验4:抽象工厂模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解抽象工厂模式的动机,掌握该模式的结构; 2、能够利用抽象工厂模式解决实际问题。[实验任务一]:人与肤色 使用抽象工厂模式,完成下述产品等级结构: 实验要求: 1.画出对应的类图; 2.提交源代码;Black.j......