美文网首页
AB测试原理(二)假设检验(参数方法)

AB测试原理(二)假设检验(参数方法)

作者: saai | 来源:发表于2021-05-20 14:51 被阅读0次

1. 假设检验

部分引用:Typical Analysis Procedure — Introduction to Statistics 6.4 documentation

1).假设检验的目标是证明A/B两组数据(或多组)统计量的变化不是随机因素导致。

(1) H0:{\mu}_a = {\mu}_b(描述随机因素)

(2) H1: {\mu}_a \neq  {\mu}_b ( 描述显著的变化)

(3) 第一类错误\alpha: 承认H1,否定H0,但实际是随机因素导致的变化,犯这类错误的概率(H0是真,否定H0的概率)

(4) 第二类错误\beta:不否定H0,但实际是显著的变化,犯这类错误的概率(H0是假,未否定H0的概率)

(5) p-value:统计量所服从的概率分布对应的临界值(横坐标值),p < α 则否定H0, 

* 注意1-p不代表H1发生的概率,比如:p=α=0.05, 那么H0和H1发生的概率是相等的,不能否定H0。

2). 检验方法,根据数据的分布、统计量来做选择,如:

(1) 两个正态总体,总体方差\sigma_1=\sigma_2但未知其值,总体均值相等(\mu_1=\mu_2)的检验,检验统计量是:T = \frac{\tilde{X_1}-\tilde{X_2}}{S_w\sqrt{\frac{1}{n_1} + \frac{1}{n_2}}} ; S_w^2 =\frac{(n_1-1)S_1^2 + (n_2+1)S_2^2}{n_1+n_2-2}; \tilde{X_1} , \tilde{X_2} 表示样本集均值

(2) 两个非独立总体(同一总体实验前后对比)均值相等(\mu_1=\mu_2)的检验,检验统计量是:

T = \frac{ \tilde{Z}  - \mu}{S\sqrt{n}}; S^2 = \frac{1}{n-1}\sum_{i=1}^n(Z_i - \tilde{Z} )^2;  \tilde{Z} = \frac{1}{n}\sum_{i=1}^nZ_i;

其中Z_i = X_{1i}-X_{2i} ,T 服从自由度为 n-1 的 t 分布。

*均值符号是Z一个横线,这里用波浪线是因为简书有bug

3). power

1-1 power

从1-1可以看到:

(1) 若两总体是相同的(H0为真),认为两总体分布都是蓝色曲线,那么犯第一类错误的概率(否定H0)为α;

(2) 若两总体是有差异的(H0为假),  红色总体落入蓝色总体判定域内的部分就是β,此时没有否定H0,范了第二类错误;逃出判定域的部分就是1-β,此时否定了H0, 是假设检验能够检测出差异的能力power

所以(1-\beta)是检测到显著变化的概率,也叫假设检验的 power。

图1-2 大样本量

图1-2中可以看出,当样本量足够大时,两个分布会更窄高,此时power(检测显著的能力)也变大。

3). 样本量估计

在两个总体符合正态分布,且方差相同的情况下,要检测出指定程度的数据变化(如均值增加幅度)可以用以下方法计算最小样本量。

(1) 均值变化,单侧检验

n =\frac{(Z_{1-\alpha/2} +Z_{1-\beta})^2}{d^2},z=\frac{(x-\mu)}{\sigma},d=\frac{D}{\sigma}, D为均值增加值,d称为effect size

(2) 两正态总体,均值不同的双侧检测

n1=n2=\frac{(Z_{1-\alpha/2}+Z_{1-\beta})^2(\sigma_1^2+\sigma_2^2)}{D^2},D为均值差值。

(3)  Python 对于T-Test 的实现

from statsmodels.stats import power

print(power.tt_ind_solve_power(effect_size = 0.5, alpha =0.05, power=0.8))

effect_size = power.tt_ind_solve_power(alpha =0.05, power=0.8, nobs1=25) # nobs是两组样本数,

(4) 在实践中,总体往往不是正态分布,且这样计算出的最小样本量巨大,A/B实验无法给出这么长的实验时间积累样本量的情况下,就根据业务情况,监测显著情况,1周、2周左右;D是根据经验在实验开始前预估的提升值(或差值)。

2.数据的分布

1)检验数据是否符合正态分布的方法有:

(1) 画QQ_plot,正态分布的数据会接近y=x的直线

stats.probplot(data, plot=plt)  # python

(2) 正态总体假设检验方法(Hypothesis Tests for Normality

Kolmogorov-Smirnov

skewness test

the kurtosis test

the D’Agostino-Pearson omnibus test,

2).在数据科学实践中,我们关注的数据样本总体往往不是正态分布,转化为正态分布的方法:

(1) 根据中心极限定理,即便原始总体不符合正态分布,只要样本足够大,并且数据并非在很大程度上偏离正常值,那么多个样本的均值会呈现钟形正态分布。(面向数据科学家的实用统计学p42)。如在某个属性维度观察样本的频率分布图,若随机抽取5个、20个数目的样本均值为一个样本,再画出新样本的频率分布图,会发现随着抽取数目的增大,均值更接近于正态分布。

(2)长尾数据用 log 转换值

相关文章

网友评论

      本文标题:AB测试原理(二)假设检验(参数方法)

      本文链接:https://www.haomeiwen.com/subject/gdiqjltx.html