Python实现Welch‘s T-test

Python实现Welch’s T-test

@authot: Heisenberg

@date: 2022.11.15

T-test

t检验(t test)又称学生t检验(Student t-test)用于统计量服从正态分布,但方差未知的情况,用t分布理论推论差异发生的概率,从而比较两个平均数的差异是否显著,通常用于估算两组数据是否有显著的差异。

用途

  1. 单样本均值检验(One-sample t-test)
    用于检验 总体方差未知、正态数据或近似正态的 单样本的均值 是否与 已知的总体均值相等
  2. 两独立样本均值检验(Independent two-sample t-test)
    用于检验 两对独立的 正态数据或近似正态的 样本的均值 是否相等,这里可根据总体方差是否相等分类讨论。
  3. 配对样本均值检验(Dependent t-test for paired samples)
    用于检验 一对配对样本的均值的差 是否等于某一个值
  4. 回归系数的显著性检验(t-test for regression coefficient significance)
    用于检验 回归模型的解释变量对被解释变量是否有显著影响

应用场景

目的:检验两独立样本的均值是否相等。

要求:两样本独立,服从正态分布或近似正态。

应用场景举例:

  1. 检验两工厂生产同种零件的规格是否相等(双侧检验)
  2. 为研究某种治疗儿童贫血新药的疗效,以常规药作为对照,治疗一段时间后,检验施以新药的儿童血红蛋白的增加量是否比常规药的大(单侧检验),Welch’s T-test.
  3. 检验两种药物对治疗高血压的效果,检验两组药物的降压水平是否相等(双侧检验)

Welch’s T-test

在情况2中,方差不相等的话则要考虑Welch’s T-test。Welch’s T-test是一种双样本位置检验,用于检验两个总体均值相等的假设。当两个样本的方差不相等且样本量可能不相等时更可靠。 [2][3] 这些测试通常被称为“未配对”或“独立样本”t 测试,因为它们通常在被比较的两个样本的统计单位不重叠时应用。

取统计量 t = X ˉ 1 − X ˉ 2 s A 2 n A + s B 2 n B t=\frac{\bar{X}_1-\bar{X}_2}{\sqrt{\frac{s_A^2}{n_A}+\frac{s_B^2}{n_B}}} t=nAsA2+nBsB2 Xˉ1Xˉ2, where s A , s B s_A, s_B sA,sB是A、B组的标准差.

Python Implementation

from scipy.stats import ttest_ind
a = [1,2,3,5,6,7,8,9,0] #mean= 4.55 var= 9.14
b = [0,1,3,3,4,7,9,9,10] #mean= 5.11 var = 12.32
ttest_ind(a,b,equal_var=False,alternative='less')# Welch's单边检验 H0: a
Ttest_indResult(statistic=-0.33922676577637906, pvalue=0.36947337777918676)
ttest_ind(a,b,equal_var=False,alternative='greater')# Welch's单边检验 H0: a
Ttest_indResult(statistic=-0.33922676577637906, pvalue=0.6305266222208132)
ttest_ind(a,b,equal_var=False,alternative='two-sided')# Welch's双边检验
Ttest_indResult(statistic=-0.33922676577637906, pvalue=0.7389467555583735)
ttest_ind(a,b,equal_var=True) #假设方差齐的Student's t-test
Ttest_indResult(statistic=-0.3392267657763791, pvalue=0.7388505065080258)

Reference

三种不同的T-test介绍

一文详解t检验(给了很多应用场景举例,推荐。)

你可能感兴趣的:(statistics,Coding,Data,Processing,python)