双样本T检验详解

检验目标

检验两独立样本的均值是否相等,可用于AB实验场景


t分布.png

前提条件

两样本独立,服从正态分布或近似正态;AB实验中,虽然指标的样本分布可能不符合正态分布,但是根据中心极限定理,当样本量足够大时,指标的均值通常符合正态分布;

公式

总体方差不等且未知(s_1^2 > 2s_2^2 or s_2^2 > 2s_1^2

t=\frac{\overline{X_1}-\overline{X_2}}{\sqrt[]{{s_1^2 \over n_1} +{s_2^2 \over n_2}}}
{自由度={\frac {\left({\frac {s_{1}^{2}}{n_{1}}}+{\frac {s_{2}^{2}}{n_{2}}}\right)^{2}}{{\frac {\left(s_{1}^{2}/n_{1}\right)^{2}}{n_{1}-1}}+{\frac {\left(s_{2}^{2}/n_{2}\right)^{2}}{n_{2}-1}}}}.}

计算因子说明:

  1. \overline{X_1} =\frac{1}{n_1} {\sum_1^n{X_{1i}}}
  2. \overline{X_2} =\frac{1}{n_2} {\sum_1^{n_2}{X_{2i}}}
  3. s_1 =\sqrt[]{\frac{\sum_1^{n_1}({X_{1i}-\overline{X_1})^2}}{{n_1}-1}}
  4. s_2 =\sqrt[]{\frac{\sum_1^{n_2}({X_{2i}-\overline{X_2})^2}}{{n_2}-1}}

结论:

  1. 对于要检验两总体均值是否相等的双侧检验,若根据样本数据算出来的
    统计量的绝对值|t|> t_{{\alpha \over 2},n-1},则拒绝原假设,认为样本均值与总体均值不等,否则不拒绝原假设。
  2. 对于要检验总体均值\overline{X_1}>\overline{X_2}单侧检验,若根据样本数据算出来的|t|>t_{{\alpha},n-1},则拒绝原假设,认为总体均值\overline{X_1}>\overline{X_2},否则不拒绝原假设。
  3. 对于要检验总体均值\overline{X_1}<\overline{X_2}单侧检验,若根据样本数据算出来的|t|>t_{{\alpha},n-1},则拒绝原假设,认为总体均值\overline{X_1}<\overline{X_2},否则不拒绝原假设。

python代码样例:

import math
import numpy as np
from scipy import stats

if __name__ == '__main__':
    A1 = [30.02, 29.99, 30.11, 29.97, 30.01, 29.99]
    A2 = [29.89, 29.93, 29.72, 29.98, 30.02, 29.98]
   # 方差不相等:https://en.wikipedia.org/wiki/Student%27s_t-test#Equal_or_unequal_sample_sizes,_unequal_variances_(sX1_%3E_2sX2_or_sX2_%3E_2sX1)
    t, p = stats.ttest_ind(A1, A2, equal_var=False)
    print("独立样本T检验,t=%f"%t,"p=%f" % p)

    # 方差不相等:https://en.wikipedia.org/wiki/Student%27s_t-test#Equal_or_unequal_sample_sizes,_unequal_variances_(sX1_%3E_2sX2_or_sX2_%3E_2sX1)
    t, p = stats.ttest_ind(A1, A2, equal_var=False)
    print("独立样本T检验,t=%f"%t,"p=%f" % p)

R语言代码样例:

group1 <- c(30.02, 29.99, 30.11, 29.97, 30.01, 29.99)
group2 <- c(29.89, 29.93, 29.72, 29.98, 30.02, 29.98)
result <- t.test(x=group1,y=group2,var.equals=FALSE)
print(result)

    Welch Two Sample t-test

data:  group1 and group2
t = 1.959, df = 7.0306, p-value = 0.09077
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.01956909  0.20956909
sample estimates:
mean of x mean of y 
   30.015    29.920 

总体方差相等且未知,样本方差满足(\frac{1}{2}<\frac{s_1^2}{s_2^2}<2

{\displaystyle t={\frac {{\overline{X_1}-\overline{X_2}}}{s_{p}\cdot {\sqrt {{\frac {1}{n_{1}}}+{\frac {1}{n_{2}}}}}}}}
自由度={n_1}+{n_2}-2

计算因子说明:

  1. \overline{X_1} =\frac{1}{n_1} {\sum_1^n{X_{1i}}}
  2. \overline{X_2} =\frac{1}{n_2} {\sum_1^{n_2}{X_{2i}}}
  3. s_1 =\sqrt[]{\frac{\sum_1^{n_1}({X_{1i}-\overline{X_1})^2}}{{n_1}-1}}
  4. s_2 =\sqrt[]{\frac{\sum_1^{n_2}({X_{2i}-\overline{X_2})^2}}{{n_2}-1}}
  5. s_p =\sqrt[]{({n_1}-1)s_1^2+({n_2}-1)s_2^2\over{n_1+n_2-2}}

结论:

  1. 对于要检验两总体均值是否相等的双侧检验,若根据样本数据算出来的
    统计量的绝对值|t|> t_{{\alpha \over 2},n-1},则拒绝原假设,认为样本均值与总体均值不等,否则不拒绝原假设。
  2. 对于要检验总体均值\overline{X_1}>\overline{X_2}单侧检验,若根据样本数据算出来的|t|>t_{{\alpha},n-1},则拒绝原假设,认为总体均值\overline{X_1}>\overline{X_2},否则不拒绝原假设。
  3. 对于要检验总体均值\overline{X_1}<\overline{X_2}单侧检验,若根据样本数据算出来的|t|>t_{{\alpha},n-1},则拒绝原假设,认为总体均值\overline{X_1}<\overline{X_2},否则不拒绝原假设。

如何确定最小样本数

均值类指标

t={{2(t_{1-\alpha/2}+t_{1-\beta})^2{\sigma_{pooled}}^2}\over{\delta^2}}

公式参数说明:

  1. \delta是实验组和对照组的指标差值,通常可以根据校验灵敏度MDE和指标均值计算得到;
  2. {\sigma_{pooled}}^2表示实验组和对照组的综合方差
  3. 对于比例类指标,{\sigma_{pooled}}^2=p_{test}(1-p_{test})+p_{control}(1-p_{control}),其中p_{control}是对照组的指标,p_{test}=p_{control}+\delta;

转化率指标

引用

  1. https://zhuanlan.zhihu.com/p/138711532
  2. https://zhuanlan.zhihu.com/p/26977856
  3. https://mp.weixin.qq.com/s?__biz=MzI2MjE3OTA1MA==&mid=2247485911&idx=1&sn=a2cedc338f569fdf3f222320ea52a5fb&chksm=ea4e5852dd39d14427ec85ef0a1f3f8a05187ccf8f02745f3b186efb2ac7c105679c117a9487&scene=27
  4. https://en.wikipedia.org/wiki/Student%27s_t-test#Equal_or_unequal_sample_sizes,similar_variances(1/2_%3C_sX1/sX2_%3C_2)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容