AB Test

工作中经常会通过AB Test帮助做产品决策,简单说就是为产品制作两个(A/B)或多个(A/B/C/...)版本,在同一时间维度,分别让不同组的用户群随机的访问这些版本,收集各群组的用户的数据,最后分析评估出最好版本正式采用。

比如下面的例子,A组看到红色的标题栏,B组看到绿色的标题栏,采集的数据可能每个组有多少比例的用户点击了标题栏。我们希望得到的结果是更多的用户点击,所以B组以37%胜出,最终决定采用绿色的标题栏。

但直接比百分比是不是合理呢?举个简单的例子,A组有10个人看到的界面2个人点击(点击率2/10=20%),B组只有5个人看到2个人点击(点击率2/5=40%),B组就直接以40%胜出吗?显然我们需要更有力的证据说明B的胜出是充分的。这里通常用的方法就是P值。

P值和显著性检验

继续上面的例子:A组(control组):10个人看到2个人点击,点击率0.2;B组(experiment组):5个人看到2个人点击,点击率0.4。

首先我们先假设B组没有任何作用,或者说,用户根本没有注意到颜色的变化,B的数据完全是在原来的基础上随机得到的。这里,“原来的”也就是20%的概率。也就是说,我们先假设在每个人会有20%概率点击的情况下,计算出现5个人中2个人点击的概率,可以通过二项概率公式计算:

Cn,k表示在n个人中选出2个人的组合数。举个例子,5个人:A,B,C,D,E,出现A,B点击且C,D,E不点击的概率为0.2*0.2*0.8*0.8*0.8=0.2^2*0.8^3,同理出现只有A,C点击的概率也为0.2^2*0.8^3。所以,最终出现5个人中2个人点击的概率为所有情况加起来即C5,2*0.2^2*0.8^3:

所以,在B组没有任何效果的假设下,我们有接近0.2的概率得到5个人中2个人点击的情况。这里求得的0.2048就是P值。

通常,我们选P<0.05的时候拒绝原假设,即认为B组有效果。换句话说,如果P值非常非常小,比如0.0001,即“B组没有任何效果”的假设下只有0.0001的概率会出现B的数据。运用小概率原理:小概率事件在一次实验中几乎不可能发生,我们认为原假设是不合理的,即“B组没有任何效果”的假设是不成立的(B组里一定发成了不同寻常的事情!)。

有点晕的地方可能是怎么用0.4(2/5)?即B组的实际点击率。我的理解是B组首先要通过显著性检验,也就是我们上面的P值检验。如果P值很大,结果“不显著”,那么0.4根本没有任何意义,因为这完全可能是统计误差得到的。只有P值很小的情况下,才认为0.4>0.2的比较是有意义的。

理解P值的计算可以在一定程度上帮助我们理解为什么“不显著”,比如(如果试验真的有效果)通常增加试验样本数是有用的,因为样本小的情况下P值通常很大。极端的例子,如果样本只有1个,那么P值只能是0.2或者0.8,任何结果都“不显著”。再比如上面的例子:5个人中2个人点击是不显著的,但是500个人200个人点击就很显著了。因为在原假设20%概率下出现500个人200点击的概率很小很小。

二项概率公式

第一次看到P值的时候,我的点完全集中在了二项概率公式上面。虽然直观的解释很容易理解,但这里隐藏的一个结果就是所有的概率之和为1,即:

验证的了一下,真的为1:

是不是很神奇!好奇宝宝忍不住翻出了当年的数学书:

居然只有一句话带过了,而且自己还留了笔记“用数学归纳法证明”,太“不显然”了!

试着重新证明一遍。所谓归纳法,就是首先n=1的时候是成立,然后假设n的时候成立,尝试证明n+1成立,即:

证明过程如下:

嗯,你可能注意到了,这里有个Cn+1,k的展开:Cn+1,k = Cn,k + Cn,k-1,从排列组合的意义上解释就是,从n+1个人中选k个人的组合数,等于从n个人中选k的组合数(一定不选某个人),加上从n个人中选k-1个人的组合组(一定选了某个人)。如果要证明,也是可以直接推出来的:

看来我的数学还没有完全还给老师!(◍•ᴗ•◍)

参考资料

p-value:https://www.baidu.com/link?url=RQaT38MszwZl3ycAsI-Zfl0DAX6htO9u8QkTwLv4drOv6LElHrXFZlu-1fjGbpyn&wd=&eqid=e0e1eccf000ab515000000025d16faeb

《概率论与数理统计》:https://book.douban.com/subject/2256637/

【数理统计】神奇的P值相关推荐

  1. Spring Cloud Netflix中文文档翻译笔记

    原文地址:http://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/1.2.2.RELEASE/ Spring Cloud Net ...

  2. 9.29 正睿提高6

    目录 2018.9.29 正睿提高6 A B C 考试代码 B C 2018.9.29 正睿提高6 时间:3.5h(实际) 期望得分:100+30+1 实际得分:100+20+0 比赛链接 T3想了一 ...

  3. Python入门——条件与循环:if、while、for

    一. 条件if 条件语句格式: 执行语句-- if 判断条件: 执行语句-- else: 当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于& ...

  4. 记者调查:天价床垫有奇效?老人排队上床体验

    俗话说,一分价钱一分货,最近这天价床垫让消费者们甚是头疼.一个床垫怎么就能买到如此高的价位呢?这个床垫有何神奇?是否值这么多钱?又是什么让这些老人们乐此不疲地上门体验呢? 记者也想一探究竟.来到一家这 ...

  5. Python股票数据处理的一些代码细节

    Python股票数据处理的一些代码细节 Numpy和Pandas相关 Numpy和Pandas比较 numpy.ndarray和多类型数据 Numpy神奇的取值方法 Pandas透视表 如何删除num ...

  6. Python数学建模 正态分布检验

    文章目录 基于Python的数学建模 数据生成 散点图/直方图 QQ图(Quantile-Quantile Plot) JB检验(大样本 n>30) Shapior-wilk检验(小样本 3 基 ...

  7. 定点数的除法C语言,FPGA定点小数计算(二)——除法运算

    0 引言 在四则运算中,除法最为复杂,在时间上和空间上的开销都比较大.因此很多算法都极力避免进行除法运算,或者采用其他的方案来代替除法运算.但是,除法运算作为基本的四则运算之一,在很多情况下依旧是不可 ...

  8. python验证码识别爆破_python-i春秋验证码识别

    python+机器学习+验证码识别+源码 简单介绍 最近在写某网站的自动注册,在注册的过程中遇到一些问题,如js的执行.验证码的识别等等,今天给大家如何用python通过机器学习的方式实现验证码的识别 ...

  9. 使用 Kotlin 协程创建动态代理

    够在运行时实现接口,并决定如何在调用方法时动态执行方法.这对于在装饰器模式中描述的现有实现(尤其是来自第三方库)周围添加附加功能非常有用.然而,Kotlin协程在创建动态代理时引入了一系列新问题.我们 ...

最新文章

  1. Latex中设置字体颜色
  2. [JavaScript]只需一行代码,轻松搞定快捷留言-V2升级版
  3. java xmlsec_找不到net.shibboleth.tool:xmlsectool:2.0.0
  4. vue引入外部文件_vue文件中引入外部js
  5. Problem - 4828 Grids
  6. 无头虚拟化服务器,在 Ubuntu 18.04 LTS 上使用 KVM 配置无头虚拟化服务器
  7. python求矩阵维度必须一致_python数据分析(二)--Numpy
  8. EOS Nation更新“flash.sx遭攻击”进展:将建议MSIG根据快照将资金退还
  9. pptx库ppt演示 python_详解 Python 操作 PPT 的各种骚操作!
  10. 使用base64:url 来定义背景图片url
  11. 【渝粤教育】电大中专Office办公软件_1作业 题库
  12. 在VScode中使用opencv,配置好了以后无法找到opencv2/opencv.hpp的问题
  13. 好书推荐|《CSS新世界》,前端人员必备宝书!
  14. H5点击复制到剪贴板
  15. fingerprint mismatch错误原因分析
  16. 《如何阅读一本书》读后
  17. ctab提取dna流程图_CTAB法提取植物DNA原理以及步骤
  18. 解决uniapp map遮盖遮罩层
  19. 将linux内核烧进arm板,ARM开发板上uClinux内核移植
  20. CefSharp的ChromiumWebBrowser截出来的图片是空白

热门文章

  1. 七夕活动主题html邮件,案例分享 | 七夕创意营销活动大盘点
  2. 对于三星手机的手工root方法
  3. python 写excel 保留空格_VBA与Python删除excel单元格空格与非打印字符
  4. 计算机考评员培训,电子商务考评员培训ppt课件
  5. javascript中自执行(自调用)函数的两种写法
  6. Prefab优化:预制体中的各种细节选择
  7. aardio扩展库PDFRender——pdf转jpg
  8. 树莓派4B使用方法及硬件推荐
  9. 算法练习题40---蓝桥杯2021模拟赛“受伤的皇后”
  10. 网站SEO优化实施操作