0.理论
A/B测试:一种受控实验,经常在网站上进行,也可以在其他环境中进行。要测试的是对网站做出某种改变后的效果,并和改变以前进行对比。可以使用A/B测试以下内容:
- 设计的调整
- UI流
- 算法的调整
- 定价调整
我们使用T检验和p值来衡量实验效果是否显著。
1.使用Python计算t统计量和p值
import numpy as np
from scipy import stats
# A是实验组,B是对照组
A = np.random.normal(25.0, 5.0, 10000)
B = np.random.normal(26.0, 5.0, 10000)
# 结果说明A比B显著下降了
stats.ttest_ind(A, B)
Ttest_indResult(statistic=-14.703132443038696, pvalue=1.1052116722161497e-48)
# 将B的均值设置与A一致
B = np.random.normal(25.0, 5.0, 10000)
# 结果表明没有显著差异
stats.ttest_ind(A, B)
Ttest_indResult(statistic=0.6791152970619797, pvalue=0.4970726702072421)
# 将样本量设置为10W
A = np.random.normal(25.0, 5.0, 100000)
B = np.random.normal(25.0, 5.0, 100000)
# 结果表明没有显著差异
stats.ttest_ind(A, B)
Ttest_indResult(statistic=-0.28197242894480523, pvalue=0.7779649431166276)
# 将A与自己比较,没有任何区别
stats.ttest_ind(A, A)
Ttest_indResult(statistic=0.0, pvalue=1.0)
2.参考资料
Python数据科学与机器学习:从入门到实践
作者:
[美]弗兰克•凯恩(Frank Kane)