因为最近在找实习,所以打算把自己之前学过的关数据分析的知识总结(复习)一下。在总结A/B test时,我发现中文互联网中关于A/B test的总结已经很多了,但是对于均值型指标和比值(率)型指标在设计实验、计算统计量时的区别却没有一个很明确的总结。甚至有的文章给出的计算公式语焉不详、前后矛盾,计算样本数量给的是均值型指标的计算公式,计算Z值时又给出了比值(率)型指标的计算公式。

均值型指标和比值(率)型指标

在互联网数据分析中,有许多指标是数据分析师所关心的,对于不同的数据分析任务需要选取合适的指标。对A/B test而言,这些指标可以分为两类

  • 比值(率)型,如点击率、转化率等
  • 均值型,如人观看时长等

需要注意的是,在统计学中,这两类指标的假设检验是不同的。这种不同主要体现在三个方面:效应量(Effect size)的计算、所需样本量的计算以及Z检验统计量的计算。

所需样本量

在给出计算样本量之前,首先介绍一下样本量的四个影响因素,分别是:

  • 显著性水平(α):显著性水平越低,对实验结果的要求也就越高,越需要更大的样本量来确保精度
  • 统计功效(1 – β):统计功效意味着避免犯二类错误的概率,这个值越大,需要的样本量也越大
  • 均值差异(\(\mu_1, \mu_2\)):如果两个版本的均值差别巨大,也不太需要多少样本,就能达到统计显著
  • 标准差(σ):标准差越小,代表两组差异的趋势越稳定。越容易观测到显著的统计结果

一个A/B test需要的样本量就由四个指标进行计算:

  • 比值(率)型指标

    \[N = \frac{(z_{1-\alpha/2}\sqrt{2\frac{p_1 +p_2}{2}(1-\frac{p_1 +p_2}{2})} +z_{1-\beta}\sqrt{p_1(1-p_1)+ p_2(1-p_2)} )^2}{(p_1-p_2)^2}
    \]

    其中\(p_1,p_2\)分别表示两组样本的比值型指标。上述方法为R和G*power中使用公式,其他工具略有不同,更多比值类样本量计算方法,参考[2]。

  • 均值型指标

\[N_1 = kN_2
\]
\[N_2 = (1+ \frac{1}{k})(\sigma\frac{z_{1-\alpha/2}+ z_{1-\beta}}{\mu_1 - \mu_2})^2
\]

​ 其中\(N_1,N_2\) 分别表示两组样本数量;\(z_{1-\alpha/2},z_{1-\beta}\) 通过\(z\)分布计算;\(\mu_1,\mu_2\) 分别为当前均值指标和预估改进后均值指标(或者期望检测到的指标变化)。重点是标准差\(\sigma\) ,实验前很难知道其大小,一般可以根据经验值预估。

效应量(Effect size)

效应量又称效应值,提供了对效应大小的具体测量,也就是说反映了具体效果的大小。

  • 比值(率)型指标
\[es = 2(arcsin(\sqrt{p_1})- arcsin(\sqrt{p_2}))
\]

  • 均值型指标
    \[es = \frac{\mu_1 - \mu_2}{\sigma_{pooled}} = \frac{\mu_1 - \mu_2}{\sqrt{\frac{(n_1-1)s_1^2+(n_2-1)s_2^2}{n_1+n_2-2}}}
    \]

    其中\(s_1, s_2\) 分别表示两组样本的标准差.

Z检验统计量

  • 比值(率)型指标

    • 商务与经济统计[1]中给出的方法

      \[z = \frac{\overline{p}_1 - \overline{p}_2}{\sqrt{\overline{p}(1-\overline{p})(\frac{1}{n_1}+\frac{1}{n_2})}}
      \]
      \[\overline{p} = \frac{n_1\overline{p}_1 + n_1\overline{p}_1}{n_1 + n_2}
      \]
    • 网络中给出的方法:

      \[z = \frac{(p_1 - p_2) - (\mu_1-\mu_2)}{\sqrt{\frac{p_1(1-p_1)}{n_1} + \frac{p_2(1-p_2)}{n_2}}}
      \]

      找了好久没有找到推导,个人看法是把比值型指标看做伯努利分布,则根据中心极限定理,\(B(1,p)\sim N(p,p(1-p))\),然后从均值型指标公式推导过来。

  • 均值型指标

    \[z = \frac{(\overline{x}_1 - \overline{x}_2) - (\mu_1-\mu_2)}{\sqrt{\frac{s_1^2}{n_1} + \frac{s_2^2}{n_2}}}
    \]

以上就是我总结的关于均值型指标和比值(率)型指标在A/B test中的区别,如有遗漏和错误,望大家多多指正。

参考文献

[1]. 商务与经济统计

[2]. A/B测试系列文章之怎么计算实验所需样本量

[3]. A/B测试(A/B试验)的概述、原理、公式推导、Python实现和应用

最新文章

  1. Asp.net mvc5开源项目"超级冷笑话"
  2. Python 中的urlencode和urldecode
  3. Python的平凡之路(13)
  4. Java字符串处理函数
  5. ZOJ Problem Set - 3865 Superbot (bfs)
  6. jQuery异步表单提交
  7. java环境变量设置--编写一年java,竟不会配变量了
  8. c语言-键盘扫描码
  9. mysql语句的一个问题
  10. 用JS制作一个信息管理平台完整版
  11. Swift 开源项目练习应用
  12. Linux(CentOS7.1)修改默认yum源为国内的阿里云yum源
  13. Flex中对表格中某列的值进行数字格式化
  14. 工具资源系列之给虚拟机装个ubantu
  15. entity.Database.SqlQuery() 和entity.Database.SqlCommand()
  16. [转]kaldi上的深度神经网络
  17. Python全栈-数据库存储引擎
  18. python基础之 025 模块加载与import的使用
  19. Java编程的逻辑 (2) - 赋值
  20. 窗体的Alpha通道透明色支持

热门文章

  1. SPOJ SUBST1 New Distinct Substrings(后缀数组 本质不同子串个数)题解
  2. how to remove duplicates of an array by using js reduce function
  3. HTML5 Animation Creator | Hype 官方文档
  4. copy-webpack-plugin & ignore folder
  5. node.js delete directory & file system
  6. navigator.geolocation.getCurrentPosition
  7. full stack & front end
  8. js in depth: arrow function & prototype & this & constructor
  9. ffmpeg concat设置绝对路径
  10. Flutter: The getter 'futureDynamicType' was called on null.