#埃尔法哥哥#数据分析误区:AB测试=简单对照?NO!正确打开方式应该是这样( 三 )



这里有个简单的流程 。
当我们判断一个指标是否显著时 , 先看P值 。 能得到显著与否的结论 , 但是要注意仍然有概率犯错 。
当我们判断一个指标不显著、实验没效果时 , 要注意是否会存在流量不够的问题 , 造成了实际有效果 , 但没被检验出来的可能性 。 (不过一般来说 , 开始实验前最好就评估好样本量的问题)
AB实验相关的面试常见问题
1.怎么降低犯第一类错误的概率?
把p值限定得越小 , 犯第一类错误的概率就越低 。 因为P值本来就是犯第一类错误的概率……
2.怎么降低犯第二类错误的概率?

#埃尔法哥哥#数据分析误区:AB测试=简单对照?NO!正确打开方式应该是这样
本文插图

降低犯第二类错误的概率 , 换言之就是提升统计功效 。
这个部分和我们置信度(1-p值)、样本量都有关系 。
首先 , 如果我们降低置信度 , 可以提升统计功效 。 比如说不需要p值<0.05就认为显著了 , 我们认为p值<0.1就显著 。 那么红色的部分会往更中间集中 , 相对应 , 蓝色的部分会变小 。
不过这种方式的缺点在于 , 我们犯第一类错误的概率就会变大 。

#埃尔法哥哥#数据分析误区:AB测试=简单对照?NO!正确打开方式应该是这样
本文插图

其次 , 可以提升样本量 , 使我们的正态分布钟型变更尖 , 让犯第二类错误的概率变小 。

#埃尔法哥哥#数据分析误区:AB测试=简单对照?NO!正确打开方式应该是这样
本文插图

3.怎么确定样本量?
样本量和我们的统计功效息息相关 。 怎么根据我们希望的统计功效 , 来反过来推算实验所需的样本量呢?
输入 :
1、指标的base值和两组指标的差异(比如说 , 现在对照组留存是60% , 认为提升到61%才是有意义的 , 差异就是0.01)
2、指标方差 。 如一个实验组的指标如阅读数的方差 , 可用历史数据估算 。
3、t检验的显著性水平 , 默认0.05
4、统计功效 , 一般取80% , 可以调整 。
输出:
单个实验组的样本量 。
这个部分的公式推导就不展开了(公式推导是我的弱项…) , python中提供了相应的计算包 , 可以去实验一下 , 感兴趣的也可以自己研究背后的计算函数、原理 。
python statsmodels里计算样本量的包
4.产品要求开AABB实验 , 我听不听?

#埃尔法哥哥#数据分析误区:AB测试=简单对照?NO!正确打开方式应该是这样
本文插图

听你个大头鬼哦 。
首先 , 不科学 。 抽样产生的误差本身就已经在我们的计算概率里了!为啥还要专门开4组实验对比?
其次 , 不聪明 。 多样本进行对比更可能犯错 。 比如说 , 一次抽样有5%的可能犯错 , 四次抽样 , 产生6组对比(A1A2,A1B1,A1B2,A2B1,A2B2,B1B2) , 一组对比时不犯错的概率95% , ?假设各组对比结果相互独立 , 至少一组犯错的概率[ 1 -(1-0.05)^6 ] =0.265 , 远大于0.05 。 多来几次抽样 , 犯错的概率增加 。 更别提评估成本了——本来只用评估两组 , 现在需要看6组 。
最后 , 不好使 。 AABB实验可能会影响实验的灵敏度 。 流量不变则意味着各组样本流量减少一半 , 灵敏度下降;加大流量则更多用户进组 , 有可能引入风险 。 因此不管怎么说都是加大成本的 。
5. 实验做了有效果 , 上线没有效果是怎么回事?
有可能犯第一类错误 。 你看到的显著可能不是真的 , 只是抽样的随机误差带来的~~~
文源:知乎作者 无眠


推荐阅读