当前位置: 首页 > news >正文

揭秘A/B测试:如何用Z统计量和t统计量揭示成功背后的统计学奥秘

来源:Gumm, B. (2012). Metrics and statistics behind A/B testing. In D. Siroker, P. Koomen & C. Harshman (Eds.), A/B testing (pp. 180-193). John Wiley & Sons, Inc. https://go.exlibris.link/GCpjV5sN

A/B测试和统计学基础

A/B测试是一种在线实验,用来比较两个版本的网站或应用(比如,A版和B版),看看哪个表现更好。这通常用于优化用户体验或提高转化率。

1. 置信区间(Confidence Intervals)

置信区间是一种统计工具,用来估计一个总体参数(比如,拥有学士学位的旧金山居民的比例)的可能范围。这个范围基于样本数据计算得出,并且我们有一定的信心认为真实的总体参数就在这个区间内。

  • 点估计(Point Estimate):一个单一的数值,用来估计总体参数。比如,如果你随机调查了1000个旧金山居民,发现509个人有学士学位,那么点估计就是50.9%。

  • 区间估计(Interval Estimate):不是一个单一的数,而是一个数值范围。这个范围告诉我们,我们有多大的信心认为真实的总体参数在这个区间内。比如,95%的置信区间意味着如果我们重复实验很多次,95%的情况下计算出的区间会包含真实的总体参数。

2. 置信水平(Confidence Levels)

置信水平(比如,95%)告诉我们置信区间包含真实总体参数的概率。这并不是说有95%的概率总体参数就在这次实验计算出的区间内,而是如果我们做很多这样的实验,95%的置信区间会包含真实的总体参数。

A/B测试中的统计测试

在A/B测试中,我们通常比较两个版本的性能,比如两个网页的转化率。

Z统计量和t统计量,这两种统计量在A/B测试中常用来确定结果是否具有统计显著性。

概念

Z统计量(Z Statistic)用于比较比例

  • 比例或百分比的测试统计量:如果你的指标是一个比例(比如,转化率),你会使用Z统计量来比较两个比例之间的差异是否显著。这个统计量考虑了样本的比例和样本大小。

t统计量(t Statistic)用于比较平均值

  • 平均值的测试统计量:如果你的指标是一个平均值(比如,用户在网站上停留的平均时间),你会使用t统计量来比较两个平均值之间的差异是否显著。这个统计量考虑了样本的平均值、样本的方差和样本大小。

如何计算

1) Z统计量(Z Statistic)

Z统计量主要用于比较两个比例(比如,转化率、点击率)是否有显著差异。它假设样本量足够大,且数据呈正态分布

Z统计量的计算公式

Z = \frac{p_B - p_A}{\sqrt{p(1-p) \left(\frac{1}{n_B} + \frac{1}{n_A}\right)}}

其中:

  • ( p_B ) 和 ( p_A ) 分别是两个版本(比如,A版和B版)的样本比例。

  • ( n_B ) 和 ( n_A ) 是两个版本的样本大小。

  • ( p ) 是合并后的比例,计算公式为  p = \frac{X_B + X_A}{n_B + n_A},其中 ( X_B ) 和 ( X_A ) 分别是两个版本中的成功次数(比如,转化次数)。

如何解读Z统计量
  • Z统计量的值告诉我们两个比例之间的差异有多大。

  • 通常,如果Z统计量的绝对值大于1.96(对应95%置信水平),我们认为两个比例之间存在显著差异。

Z统计量的例子

假设你是一个网站设计师,想要通过改变网站的注册按钮颜色来增加用户注册的数量。你进行了一个A/B测试:

  • A版本(原注册按钮):1000个用户中有100个注册了,转化率是10%。

  • B版本(新注册按钮):1000个用户中有120个注册了,转化率是12%。

你想知道这个变化是否真的有效,还是仅仅因为偶然。

计算Z统计量
  1. 合并比例 ( p ):

    p = \frac{100 + 120}{1000 + 1000} = \frac{220}{2000} = 0.11

  2. Z统计量:

    Z = \frac{0.12 - 0.10}{\sqrt{0.11 \times (1 - 0.11) \left(\frac{1}{1000} + \frac{1}{1000}\right)}}

    Z = \frac{0.02}{\sqrt{0.11 \times 0.89 \times 0.001}}

    Z = \frac{0.02}{\sqrt{0.0000979}}

    Z \approx \frac{0.02}{0.00989}

    Z \approx 2.02

如果Z统计量的绝对值大于1.96(对应95%置信水平),我们可以认为两个版本的转化率存在显著差异。在这个例子中,Z统计量是2.02,所以我们可以说新注册按钮的转化率显著高于原注册按钮。

2) t统计量(t Statistic)

t统计量主要用于比较两个平均值(比如,平均销售额、平均停留时间)是否有显著差异。与Z统计量不同,t统计量适用于样本量较小(通常小于30)或总体标准差未知的情况

t统计量的计算公式

t = \frac{\bar{x}_B - \bar{x}_A}{s_p \sqrt{\frac{1}{n_B} + \frac{1}{n_A}}}

其中:

  • ( \bar{x}_B ) 和 ( \bar{x}_A ) 分别是两个版本的样本平均值。

  • ( n_B ) 和 ( n_A ) 是两个版本的样本大小。

  • ( s_p ) 是合并后的样本标准差,计算公式为:

s_p = \sqrt{\frac{(n_B - 1)s_B^2 + (n_A - 1)s_A^2}{n_B + n_A - 2}}

  • ( s_B^2 ) 和 ( s_A^2 ) 分别是两个版本的样本方差。

如何解读t统计量
  • t统计量的值告诉我们两个平均值之间的差异有多大。

  • 通常,我们需要查看t分布表或使用统计软件来确定t统计量的临界值,以判断差异是否显著。这取决于所需的置信水平和自由度(df = n_B + n_A - 2)。

t统计量的例子

假设你是一个在线课程的提供商,你想要通过改变课程介绍视频的长度来增加用户的购买意愿。你进行了一个A/B测试:

  • A版本(原视频长度):50个用户的平均观看时间是5分钟。

  • B版本(新视频长度):50个用户的平均观看时间是7分钟。

你想知道这个变化是否真的有效。

计算t统计量
  1. 首先计算两个版本的方差和标准差(这里假设方差分别是 ( s_A^2 ) 和 ( s_B^2 ),标准差分别是 ( s_A ) 和 ( s_B ))。

  2. 合并标准差 ( s_p ):

    s_p = \sqrt{\frac{(50 - 1)s_A^2 + (50 - 1)s_B^2}{50 + 50 - 2}}

  3. t统计量:

    t = \frac{7 - 5}{s_p \sqrt{\frac{1}{50} + \frac{1}{50}}}

    t = \frac{2}{s_p \sqrt{0.02}}

假设 ( s_p ) 计算出来是2分钟,那么:

t = \frac{2}{2 \times 0.1414}

t = \frac{2}{0.2828}

t \approx 7.07

如果t统计量的绝对值大于t分布表中的临界值(取决于所需的置信水平和自由度),我们可以认为两个版本的平均观看时间存在显著差异。在这个例子中,t统计量远大于2(常见的临界值),所以我们可以说新视频长度的平均观看时间显著高于原视频长度。

3) 小结

在A/B测试中,我们通常根据Z统计量或t统计量的值来计算p值。p值是一个概率值,表示观察到的差异完全由随机因素引起的概率。如果p值小于0.05(或其他预设的显著性水平),我们就认为结果具有统计显著性,即差异不太可能由随机因素引起。

4) 生活中的例子

想象一下,你是一个餐厅老板,想要测试两种不同的菜单设计(A和B)来提高顾客的消费额。你随机给一半的顾客A菜单,另一半B菜单。几周后,你发现用B菜单的顾客平均消费比用A菜单的顾客高5美元。

现在,你想知道这个5美元的差异是真的因为菜单B设计得更好,还是仅仅因为偶然的巧合,比如某天顾客特别多或者某天的菜品特别受欢迎。

这时候,Z统计量和t统计量就派上用场了,它们就像是一个“探测器”,用来帮助你判断这个差异是真实的还是偶然的

  1. 观察差异:你观察到的5美元就是A菜单和B菜单之间的差异。

  2. 标准误差:这就像是一个“误差范围”,它告诉你因为偶然因素,两个菜单的平均消费额可能会有多大的波动。如果波动很小,那么你更有信心说两个菜单的平均消费额是不同的。

  3. Z统计量或t统计量:这就像是一个“放大镜”,它把你观察到的5美元差异放大,然后除以“误差范围”,这样你就能看到这个差异在统计上有多大。如果这个统计量很大,那就意味着这个差异不太可能是偶然发生的。

  4. p值:这就像是一个“概率尺”,它告诉你如果两个菜单实际上没有任何区别(即,差异完全是偶然的),那么你观察到的这个5美元差异(或更大的差异)发生的概率是多少。如果这个概率很小(比如小于5%),那就意味着偶然发生这种情况的可能性很小,所以你可以说这个差异是统计显著的,很可能是真的。

所以,使用Z统计量或t统计量来计算p值的逻辑就是:通过一个统计上的“探测器”和“放大镜”来确定你观察到的差异是真的还是假的,然后使用“概率尺”来量化这个判断的可信度。如果p值很小,那你就可以有信心地说,你的新菜单B确实帮助顾客花得更多,这不太可能仅仅是偶然的巧合。


http://www.mrgr.cn/news/54020.html

相关文章:

  • Unity--AssestBundles--热更新
  • 机器学习核心:监督学习与无监督学习
  • Java中的I/O流分类简介
  • 专家辅助证人出庭质证实务运用之技巧
  • 巧用 API 接口,精准监控商品价格与销量全攻略
  • Lua条件语句
  • Linux——K8S平台的权限规划
  • 飞控开发软件有哪些?技术详解
  • 大模型照亮人工智能医疗助手的发展之路
  • CSP-J2023年复赛
  • 那些年 我们说走就走
  • 数学归纳法——第一数学归纳法、第二数学归纳法步骤和示例
  • RHCE--ntp客户端,时间服务器服务端
  • 【原创】java+ssm+mysql小区疫情管理系统设计与实现
  • 【Windows】检查当前登陆用户是否需要密码
  • 将本地文件上传到GIT上
  • [近源攻击]badusb制作
  • 解锁文本数据可视化的无限可能:Wordcloud库全解析
  • 项目管理APP推荐_功能对比与用户评价
  • springboot038基于SpringBoot的网上租赁系统设计与实现(论文+源码)_kaic
  • 算法之二分查找法
  • 计算机网络基本架构实例1
  • Spring篇(事务篇 - 基础介绍)
  • 【Java】Java 的反射机制(二):类的加载(拓展)
  • 从多线程到 epoll:如何优雅地处理高并发请求?
  • python 爬虫 入门 三、登录以及代理。