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