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

1. 假设检验

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

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

(1) H0:(描述随机因素)

(2) H1:  ( 描述显著的变化)

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

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

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

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

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

(1) 两个正态总体,总体方差但未知其值,总体均值相等()的检验,检验统计量是:;

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

其中,T 服从自由度为 n-1 的 t 分布。

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

3). power


1-1 power

从1-1可以看到:

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

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

所以是检测到显著变化的概率,也叫假设检验的 power。


图1-2 大样本量

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

3). 样本量估计

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

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

,,, D为均值增加值,d称为effect size

(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测试原理(二)假设检验(参数方法))