0%

假设检验 | t检验

t-test
  • 适用于样本量小、总体方差未知的样本
  • 研究两组数据是否存在差异

$t$分布

Student’s t-distribution[1]

从均值为$\mu$、方差为$\sigma^2$的正态总体种抽取容量为$n$的随机样本,随机样本的

  • 均值:$\bar{x}$
  • 方差:$s2=\frac{1}{n-1}\sum_{i=1}n(x_i-\bar{x})^2$

则随机变量T
$$T=\frac{\bar{x}-\mu}{s/\sqrt{n} }$$
服从自由度为$n-1$的$t$分布,即$T\sim t(n-1)$。

  • $t$分布是一种典型的长尾分布

$t$检验

单样本$t$检验

设$x_1,\cdots,x_n$是来自$N(\mu,\sigma^2)$的样本,考虑如下三种关于$\mu$的检验问题:

  1. $$H_0:\mu\leq\mu_0\quad vs \quad H_1:\mu>\mu_0$$
  2. $$H_0:\mu\geq\mu_0\quad vs \quad H_1:\mu<\mu_0$$
  3. $$H_0:\mu=\mu_0\quad vs \quad H_1:\mu\neq\mu_0$$

对于上述检验问题.,若$\sigma$未知,则可用$t$检验统计量
$$t=\frac{\bar{x}-\mu_0}{s/\sqrt{n} }=\frac{\sqrt{n}(\bar{x}-\mu_0)}{s}$$
来进行检验。

其中$s$为样本标准差
$$s2=\frac{1}{n-1}\sum_{i=1}n(x_i-\bar{x})^2$$

对于给定的样本观测值计算得到的检验统计量$t$的值为
$$t_0=\frac{\sqrt{n}(\bar{x}-\mu_0)}{s}$$

在零假设$H_0:\mu=\mu_0$下,有
$t\sim t(n-1)$

在显著性水平为$\alpha$的情况下:

  • 检验问题1:$H_0:\mu\leq\mu_0\quad vs \quad H_1:\mu>\mu_0$
    • 拒绝域为
      $$C_1={t\geq t_{1-\alpha}(n-1)}$$
    • $p$值为
      $$p_1=P(t\geq t_0)$$
      其中$t$是服从自由度为$n-1$的$t$分布的随机变量
  • 检验问题2:$H_0:\mu\geq\mu_0\quad vs \quad H_1:\mu<\mu_0$
    • 拒绝域为
      $$C_2={t\leq t_{\alpha}(n-1)}$$
    • $p$值为
      $$p_2=P(t\leq t_0)$$
      其中$t$是服从自由度为$n-1$的$t$分布的随机变量
  • 检验问题3:$H_0:\mu=\mu_0\quad vs \quad H_1:\mu\neq\mu_0$
    • 拒绝域为
      $$C_3={|t|\geq t_{1-\alpha/2}(n-1)}$$
    • $p$值为
      $$p_3=P(|t|\geq |t_0|)$$
      其中$t$是服从自由度为$n-1$的$t$分布的随机变量

独立样本$t$检验

设$x_1,\cdots,x_m$是来自正态总体$N(\mu_1,\sigma_12)$的样本,$y_1,y_2,\cdots,y_n$是来自另一个正态总体$N(\mu_2,\sigma_22)$的样本,两个样本相互独立,其中
$$\sigma_1=\sigma_2=\sigma但未知$$
考虑如下三类检验问题:

  1. $$H_0:\mu_1-\mu_2 \leq 0 \quad vs \quad H_1:\mu_1-\mu_2 > 0$$
  2. $$H_0:\mu_1-\mu_2 \geq 0 \quad vs \quad H_1:\mu_1-\mu_2 < 0$$
  3. $$H_0:\mu_1-\mu_2 = 0 \quad vs \quad H_1:\mu_1-\mu_2 \neq 0$$

已知$\bar{x}\sim N(\mu_1,\frac{1}{m}\sigma^2)$,$\bar{y}\sim N(\mu_2,\frac{1}{n}\sigma^2)$,且两个样本相互独立,则有
$$\bar{x}-\bar{y}\sim N\left(\mu_1-\mu_2, \left(\frac{1}{m}+\frac{1}{n} \right)\sigma^2\right)$$
所以有
$$\frac{(\bar{x}-\bar{y})-(\mu_1-\mu_2)}{\sqrt{\frac{1}{m}+\frac{1}{n} }\sigma}\sim N(0,1)$$

因为
$$\frac{(m-1)}{\sigma2}s_x2=\frac{1}{\sigma2}\sum_{i=1}m(x_i-\bar{x})2\sim\chi2(m-1)$$
$$\frac{(n-1)}{\sigma2}s_y2=\frac{1}{\sigma2}\sum_{i=1}n(y_i-\bar{y})2\sim\chi2(n-1)$$
所以有
$$\frac{(m+n-2)}{\sigma2}s_w2=\frac{1}{\sigma2}\left(\sum_{i=1}m(x_i-\bar{x})2+\sum_{j=1}n(y_j-\bar{y})^2 \right)\sim\chi^2(m+n-2)$$
其中
$$s_w2=\frac{1}{m+n-2}\left(\sum_{i=1}m(x_i-\bar{x})2+\sum_{j=1}n(y_j-\bar{y})^2 \right)$$

所以
\begin{aligned}
t&=\frac{N(0,1)}{\sqrt{\frac{\chi^2(m+n-2)}{m+n-2} } }\sim t(m+n-2)\
&=\frac{\frac{(\bar{x}-\bar{y})-(\mu_1-\mu_2)}{\sqrt{\frac{1}{m}+\frac{1}{n} }\sigma} }{\sqrt{\frac{(m+n-2)}{\sigma2}s_w2/(m+n-2)} }\
&=\frac{(\bar{x}-\bar{y})-(\mu_1-\mu_2)}{s_w\sqrt{\frac{1}{m}+\frac{1}{n} } } \sim t(m+n-2)
\end{aligned}

配对样本$t$检验的统计量为
$$t=\frac{\bar{x}-\bar{y} }{s_w\sqrt{\frac{1}{m}+\frac{1}{n} } } \sim t(m+n-2)$$

对给定样本,计算得到统计量的值为
$$t_0=\frac{\bar{x}-\bar{y} }{s_w\sqrt{\frac{1}{m}+\frac{1}{n} } }$$

在显著性水平为$\alpha$的情况下:

  • 检验问题1:$H_0:\mu_1-\mu_2 \leq 0 \quad vs \quad H_1:\mu_1-\mu_2 > 0$
    • 拒绝域为
      $$W_1={t\geq t_{1-\alpha(m+n-2)}}$$
    • $p$值为
      $$p_1=P(t\geq t_0)$$
  • $H_0:\mu_1-\mu_2 \geq 0 \quad vs \quad H_1:\mu_1-\mu_2 < 0$
    • 拒绝域为
      $$W_2={t\leq t_{\alpha}(m+n-2)}$$
    • $p$值为
      $$p_2=P(t\leq t_0)$$
  • $H_0:\mu_1-\mu_2 = 0 \quad vs \quad H_1:\mu_1-\mu_2 \neq 0$
    • 拒绝域为
      $$W_3={|t|\geq t_{1-\alpha/2}(m+n-2)}$$
    • $p$值为
      $$p_3=P(|t|\geq |t_0|)$$

配对样本

设配对样本为
$$\mathbf{X}={X_1,X_2,\cdots,X_n}$$
$$\mathbf{Y}={Y_1,Y_2,\cdots,Y_n}$$

$$\mathbf{Z}={Z_1,Z_2,\cdots,Z_n}$$
其中
$$Z_i=X_i-Y_i$$
$i=1,2,\cdots,n$。

$\mu$是$Z$的总体均值,设假设为
$$H_0:\mu=0\quad \mathrm{vs} \quad H_1:\mu\neq0$$

检验统计量为
$$T=\frac{\overline{Z} }{S_z/\sqrt{n} }\sim t(n-1)$$
拒绝域为
$$W=\left{|T|\geq t_{1-\frac{\alpha}{2} }(n-1) \right}$$

p值为
$$p=2\cdot t_{n-1}(|T|)$$

$t$检验 vs $u$检验

单样本

检验法 $H_0$ $H_1$ 检验统计量 拒绝域 $p$值
$u$检验
($\sigma$已知)
$\mu\leq\mu_0$ $\mu>\mu_0$ $u=\frac{\bar{x}-\mu_0}{\sigma/\sqrt{n} }$ $\{u\geq u_{1-\alpha}\}$ $1-\Phi(u_0)$
$\mu\geq\mu_0$ $\mu < \mu_0$ $\{u\leq u_{\alpha}\}$ $\Phi(u_0)$
$\mu=\mu_0$ $\mu\neq\mu_0$ $\{|u|\geq u_{1-\alpha/2}\}$ $2(1-\Phi(|u_0|))$
$t$检验
($\sigma$未知)
$\mu\leq\mu_0$ $\mu>\mu_0$ $t=\frac{\bar{x}-\mu_0}{s/\sqrt{n} }$ $\{t\geq t_{1-\alpha}(n-1)\}$ $P(T\geq t_0)$
$\mu\geq\mu_0$ $\mu < \mu_0$ $\{t\leq t_{\alpha}(n-1)\}$ $P(T\leq t_0)$
$\mu=\mu_0$ $\mu\neq\mu_0$ $\{|t|\geq t_{1-\alpha/2}(n-1)\}$ $P(|T|\geq|t_0|)$
  • $u_0=\frac{\sqrt{n}(\bar{x}-\mu_0)}{\sigma}$
  • $T$是服从自由度为$n-1$的$t$分布的随机变量
  • $t_0=\frac{\sqrt{n}(\bar{x}-\mu_0)}{s}$

独立样本

检验法 $H_0$ $H_1$ 检验统计量 拒绝域 $p$值
$u$检验
($\sigma_1,\sigma_2$已知)
$\mu_1\leq\mu_2$ $\mu_1>\mu_2$ $u=\frac{\bar{x}-\bar{y} }{\sqrt{\frac{\sigma^2_1}{m}+\frac{\sigma_1^2}{n} } }$ $\{u\geq u_{1-\alpha}\}$ $1-\Phi(u_1)$
$\mu_1\geq\mu_2$ $\mu_1<\mu_2$ < td> $\{u\leq u_{\alpha}\}$ $\Phi(u_1)$
$\mu_1=\mu_2$ $\mu_1\neq\mu_2$ $\{|u|\geq u_{1-\alpha/2}\}$ $2(1-\Phi(|u_1|))$
$t$检验
($\sigma_1=\sigma_2$未知)
$\mu_1\leq\mu_2$ $\mu_1>\mu_2$ $t=\frac{\bar{x}-\bar{y} }{s_w\sqrt{\frac{1}{m}+\frac{1}{n} } }$ $\{t\geq t_{1-\alpha}(m+n-2)\}$ $P(T_1\geq t_1)$
$\mu_1\geq\mu_2$ $\mu_1<\mu_2$ < td> $\{t\leq t_{\alpha}(m+n-2)\}$ $P(T_1\leq t_1)$
$\mu_1=\mu_2$ $\mu_1\neq\mu_2$ $\{|t|\geq t_{1-\alpha/2}(m+n-2)\}$ $P(|T_1|\geq|t_1|)$
大样本$u$检验
($m,n$充分大)
$\mu_1\leq\mu_2$ $\mu_1>\mu_2$ $u=\frac{\bar{x}-\bar{y} }{\sqrt{\frac{s_x^2}{m}+\frac{s_y^2}{n} } }$ $\{u\geq u_{1-\alpha}\}$ $1-\Phi(u_2)$
$\mu_1\geq\mu_2$ $\mu_1<\mu_2$ < td> $\{u\leq u_{\alpha}\}$ $\Phi(u_2)$
$\mu_1=\mu_2$ $\mu_1\neq\mu_2$ $\{|u|\geq u_{1-\alpha/2}\}$ $2(1-\Phi(|u_2|))$
近似$t$检验
($m,n$没有很大)
$\mu_1\leq\mu_2$ $\mu_1>\mu_2$ $t=\frac{\bar{x}-\bar{y} }{\sqrt{\frac{s_x^2}{m}+\frac{s_y^2}{n} } }$ $\{t\geq t_{1-\alpha}(l)\}$ $P(T_2\geq t_2)$
$\mu_1\geq\mu_2$ $\mu_1<\mu_2$ < td> $\{t\leq t_{\alpha}(l)\}$ $P(T_2\leq t_2)$
$\mu_1=\mu_2$ $\mu_1\neq\mu_2$ $\{|t|\geq t_{1-\alpha/2}(l)\}$ $P(|T_2|\geq|t_2|)$
  • $u_1=\frac{\bar{x}-\bar{y} }{\sqrt{\frac{\sigma_12}{m}+\frac{\sigma_22}{n} } }$
  • $t_1=\frac{\bar{x}-\bar{y} }{s_w\sqrt{\frac{1}{m}+\frac{1}{n} } }$
  • $T_1$是服从自由度为$m+n-2$的$t$分布的随机变量
  • $u_2=\frac{\bar{x}-\bar{y} }{\sqrt{\frac{s_x2}{m}+\frac{s_y2}{n} } }$
  • $t_2=\frac{\bar{x}-\bar{y} }{\sqrt{\frac{s_x2}{m}+\frac{s_y2}{n} } }$
  • $T_2$是服从自由度为$l$的$t$分布的随机变量,其中$l$为
    $$l=\frac{s_x2/m+s_y2/n}{\frac{s_x2}{m2(m-1)}+\frac{s_y2}{n2(n-1)} }$$
    $l$一般不为整数,可以取与$l$最接近的整数代替之。

$t$检验 vs $\chi^2$检验

$t$检验 $\chi^2$检验
用途 检验两组样本之间是否存在统计意义上的差异 检验两个变量之间是否有关系
原假设
Null Hypothesis
两组样本的均值不存在统计意义上的差异
There is no statistical difference between the means of the two groups
两个变量之间没有关系
There is no relationship between the two variables
拒绝原假设意味着 两组样本的均值具有显著差异
the means are statistically different
两个变量之间存在一定关系
There is a relationship between the two variables.
(But, it does not tell you the direction or the size of the relationship.)

实现代码

Python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from scipy import stats

def ab_test(df_test, df_contrl, col):
'''
t检验 或 非参数检验

输出:p值、检验方法
'''
result = []

if len(df_test[col] < 30) or len(df_contrl[col] < 30):
result = [-1.0, "样本量过少"]
else:
## 正态性检验
norm_stat_test, norm_pval_test = stats.sharpiro(df_test[col])
norm_stat_contrl, norm_pval_contrl = stats.shapiro(df_contrl[col])

if norm_pval_test > 0.05 and norm_pval_contrl > 0.05:
## 正态性检验通过,进行方差齐性检验
F = df_test[col].var() / df_contrl[col].var()
n = len(df_test[col]) - 1
m = len(df_contrl[col]) - 1
F_pval = 1 - stats.f.cdf(F, n, m)

if F_pval < 0.05:
## 方差齐性检验不通过,使用不等方差T检验(Welch T检验)
stat, pval = stats.ttest_ind(df_test[col], df_contrl[col], equal_val=False)
test_method = "Welch-t检验"
else:
## 使用等方差T检验(Student T检验)
stat, pval = stats.ttest_ind(df_test[col], df_contrl[col], equal_val=True)
test_method = "Student-t检验"
else:
## 使用非参数检验
stat, pval = stats.stats.mannwhitneyu(df_test[col], df_contrl[col], alternative="two-sided")
test_method = "Mann-Whiteny-U检验"
result = [pval, test_method]
return result

参考资料


  1. 'Student’是William Sealy Gosset的笔名 ↩︎

Thank you for your approval.

欢迎关注我的其它发布渠道