你好,我是黄申,今天我们来聊聊统计意义和显著性检验。
之前我们已经讨论了几种不同的机器学习算法,包括朴素贝叶斯分类、概率语言模型、决策树等等。不同的方法和算法会产生不同的效果。在很多实际应用中,我们希望能够量化这种效果,并依据相关的数据进行决策。
为了使这种量化尽可能准确、客观,现在的互联网公司通常是根据用户的在线行为来评估算法,并比较同类算法的表现,以此来选择相应的算法。在线测试有一个很大的挑战,那就是如何排除非测试因素的干扰。
从图中可以看出,自 2016 年 1 月 12 日开始,转化率曲线的趋势发生了明显的变化。假如说这天恰好上线了一个新版的技术方案 A,那么转化率上涨一定是新方案导致的吗?不一定吧?很有可能,1 月 12 日有个大型的促销,使得价格有大幅下降,或者有个和大型企业的合作引入了很多优质顾客等,原因有非常多。如果我们取消 12 日上线的技术方案 A,然后用虚线表示在这种情况下的转化率曲线,这个时候得到了另一张图。
从图中可以发现,不用方案 A,反而获得了更好的转化率表现,所以,简单地使用在线测试的结果往往会导致错误的结论,我们需要一个更健壮的测试方法,A/B 测试。
A/B 测试,简单来说,就是为同一个目标制定两个或多个方案,让一部分用户使用 A 方案,另一部分用户使用 B 方案,记录下每个部分用户的使用情况,看哪个方案产生的结果更好。这也意味着,通过 A/B 测试的方式,我们可以拿到使用多个不同方法之后所产生的多组结果,用于对比。