因为最近在找实习,所以打算把自己之前学过的关数据分析的知识总结(复习)一下。在总结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实现和应用

All I know about A/B Test (1) : 均值型指标与比值(率)型指标的计算区别的更多相关文章

  1. In-Memory:内存数据库

    在逝去的2016后半年,由于项目需要支持数据的快速更新和多用户的高并发负载,我试水SQL Server 2016的In-Memory OLTP,创建内存数据库实现项目的负载需求,现在项目接近尾声,系统 ...

  2. 关于DOM的操作以及性能优化问题-重绘重排

     写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...

  3. H5实现摇一摇技术总结

    摇一摇遇到的问题 一.如何对摇晃效果进行反馈 刚开始的处理方式是,摇晃过程中不做任何处理,但后来反馈说这种效果不好,好像就没有摇动一样,如果声音也不响的话,就真的和什么都没发生一样. 后来想了想,加入 ...

  4. 【AR实验室】mulberryAR : ORBSLAM2+VVSION

    本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 mulberryAR是我业余时间弄的一个AR引擎,目前主要支持单目视觉SLAM+3D渲染,并且支持iOS端,但是该引 ...

  5. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  6. Unity3d学习 相机的跟随

    最近在写关于相机跟随的逻辑,其实最早接触相机跟随是在Unity官网的一个叫Roll-a-ball tutorial上,其中简单的涉及了关于相机如何跟随物体的移动而移动,如下代码: using Unit ...

  7. Tomcat一个BUG造成CLOSE_WAIT

    之前应该提过,我们线上架构整体重新架设了,应用层面使用的是Spring Boot,前段日子因为一些第三方的原因,略有些匆忙的提前开始线上的内测了.然后运维发现了个问题,服务器的HTTPS端口有大量的C ...

  8. 你必须知道的EF知识和经验

    注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...

  9. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  10. C语言 · 高精度加法

    问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A ...

随机推荐

  1. tensorflow-gpu+"Failed to create session"

    成因: 未给系统指定相应使用的GPU 解决: 层面1: 针对单个程序: CUDA_VISIBLE_DEVICES=0 python main.py import os; os.environ['CUD ...

  2. ORM框架对分表分库之分库和分表指定不同的字段

    ORM框架分库分表已实现了 只分表(根据指定字段) 点我查看demo 只分库(根据指定字段) 点我查看demo 既分库又分表(根据相同的字段) 点我查看demo 上面几点之前我在博客中已经写了使用介绍 ...

  3. JPG学习笔记3(附完整代码)

    #topics h2 { background: rgba(43, 102, 149, 1); border-radius: 6px; box-shadow: 0 0 1px rgba(95, 90, ...

  4. .bashrc & rename hostname & rename username

    .bashrc & rename hostname & rename username mbp $ pwd $ cd ~ $ pwd $ cat .bashrc $ vim .bash ...

  5. HTML5 QRCode Scaner

    HTML5 QRCode Scaner how to scan QR Code using the camera of the phone or website live demo https://c ...

  6. flutter & dart & vs code & bug

    flutter & dart & vs code & bug Waiting for another flutter command to release the startu ...

  7. 在线预览word,excel,ppt

    https://view.officeapps.live.com/op/view.aspx?src=服务器地址微软提供的地址拼接自己的可以预览了拼接自己的服务器地址可以在线预览

  8. 创新全球算力生态价值,SPC算力生态强势来袭!

    当前,区块链技术已经到了一个新的时代,即3.0时代.在区块链3.0时代,区块链技术迎来了数字经济革命,各行各业也在积极寻找与区块链能够融合的切入点.而随着区块链的愈加成熟,区块链技术也愈加被更多的人应 ...

  9. [计算机图形学]光栅化算法:DDA和Bresenham算法

    目录 一.DDA 二.Bresenham 三.绘制图形 1. 绘制直线 2. 绘制圆 3. 绘制椭圆 一.DDA DDA算法是最简单的直线绘制算法.主要思想是利用直线的斜截式:\(y=kx+b\) 对 ...

  10. ctf.show_web13(文件上传之.user.ini)

    这是一道文件上传题,先二话不说丢个图片码,显示为 先考虑文件太小,用burp抓包,添加了一堆无用的东西后显示仍然是error file zise,直到上传正常图片依旧如此,考虑文件太大.将一句话木马修 ...