今天又把西瓜书的2.4节比较检验读了一下,读到t检验时发现以前很多理解不到位的地方。这里从最基础的高斯分布开始,把内容串起来,数学推导大多略去,可以找有关教材和百科。
记 X X X是随机变量
高斯分布
- 两个高斯分布相加仍然是高斯分布
- 高斯分布“再生性”:如果一个高斯分布,表示成两个独立随机变量之和,则这两个独立随机变量必服从高斯分布
Γ \Gamma Γ(Gamma)函数
Γ
(
x
)
=
∫
0
∞
e
−
t
t
x
−
1
d
t
(
x
>
0
)
\Gamma(x)=\int_{0}^{\infty}e^{-t} t^{x-1} dt \quad (x>0)
Γ(x)=∫0∞e−ttx−1dt(x>0)
性质:
- Γ ( 1 ) = 1 \Gamma(1)=1 Γ(1)=1; Γ ( 1 / 2 ) = π \Gamma(1/2)=\sqrt \pi Γ(1/2)=π
- Γ ( x + 1 ) = x Γ ( x ) \Gamma(x+1)=x\Gamma(x) Γ(x+1)=xΓ(x); 当 x x x为整数时, Γ ( n ) = ( n − 1 ) ! \Gamma(n)=(n-1)! Γ(n)=(n−1)!
B(Beta)函数
B ( x , y ) = ∫ 0 1 t x − 1 ( 1 − t ) y − 1 d t ( x > 0 , y > 0 ) B(x,y)=\int_0^1 t^{x-1}(1-t)^{y-1} dt \quad (x>0, y>0) B(x,y)=∫01tx−1(1−t)y−1dt(x>0,y>0)
- Γ \Gamma Γ函数和B函数关系: B ( x , y ) = Γ ( x ) Γ ( y ) / Γ ( x + y ) B(x,y)=\Gamma(x)\Gamma(y)/\Gamma(x+y) B(x,y)=Γ(x)Γ(y)/Γ(x+y)
三大分布
卡方分布
k
n
(
x
)
=
1
Γ
(
n
2
)
2
n
/
2
e
−
x
/
2
x
(
n
−
2
)
/
2
(
x
>
0
)
k_n(x)=\frac{1}{\Gamma(\frac{n}{2})2^{n/2}}e^{-x/2}x^{(n-2)/2} \quad (x>0)
kn(x)=Γ(2n)2n/21e−x/2x(n−2)/2(x>0)
其中
n
n
n是自由度,该函数全称自由度为
n
n
n的皮尔逊卡方密度,记为
χ
n
2
\chi_n^2
χn2。皮尔逊是英国统计学家,现代统计学的奠基人之一
分布含义:若
X
1
,
⋯
,
X
n
X_1, \cdots, X_n
X1,⋯,Xn相互独立,服从
N
(
0
,
1
)
N(0,1)
N(0,1),则
X
1
2
+
⋯
+
X
n
2
X_1^2+\cdots+X_n^2
X12+⋯+Xn2服从自由度为
n
n
n的卡方分布
χ
n
2
\chi_n^2
χn2,因为每个变量都能随意变化,这也解释了“自由度”一词的含义。
当
n
=
1
n=1
n=1时,
X
1
2
∼
χ
1
2
X_1^2\sim\chi_1^2
X12∼χ12,概率密度函数为
(
2
π
y
)
−
1
e
−
y
/
2
(\sqrt{2\pi y})^{-1}e^{-y/2}
(2πy)−1e−y/2
- 若 X 1 ∼ χ m 2 , X 2 ∼ χ n 2 X_1 \sim\chi_m^2, X_2\sim\chi_n^2 X1∼χm2,X2∼χn2,则易得 X 1 + X 2 ∼ χ m + n 2 X_1+X_2\sim\chi_{m+n}^2 X1+X2∼χm+n2
- 若 X 1 , ⋯ , X n X_1,\cdots,X_n X1,⋯,Xn独立,服从指数分布,概率密度函数为 λ e − λ y \lambda e^{-\lambda y} λe−λy,则 2 λ ( X 1 + ⋯ + X n ) ∼ χ 2 n 2 2\lambda (X_1 +\cdots +X_n)\sim \chi_{2n}^2 2λ(X1+⋯+Xn)∼χ2n2
- 对于线性回归,如果假定了数据特征
X
X
X固定,不是随机量,
y
=
X
T
β
+
ϵ
y=X^T\bm\beta+\epsilon
y=XTβ+ϵ,其中
ϵ
\epsilon
ϵ是高斯分布
N
(
0
,
σ
2
)
\mathcal N(0, \sigma^2)
N(0,σ2)的随机噪声,
β
\beta
β是参数
- 可以证明拟合结果 β ^ \hat \bm \beta β^是高斯分布 N ( β , ( X T X ) − 1 σ 2 ) \mathcal N(\bm \beta, (\bm X^T \bm X)^{-1}\sigma^2) N(β,(XTX)−1σ2)
- 总残差平方和与方差之比满足卡方分布,即 ∑ i = 1 N ( y i − y ^ i ) 2 / σ 2 ∼ χ N − p − 1 2 \sum_{i=1}^N(y_i-\hat y_i)^2/\sigma^2 \sim \chi^2_{N-p-1} ∑i=1N(yi−y^i)2/σ2∼χN−p−12,其中 N N N是样本数, p p p是特征维度。方差有无偏估计 σ ^ 2 = 1 N − p − 1 ∑ i = 1 N ( y i − y ^ i ) 2 \hat \sigma^2=\frac{1}{N-p-1}\sum_{i=1}^N(y_i - \hat y_i)^2 σ^2=N−p−11∑i=1N(yi−y^i)2,该无偏估计和卡方分布也紧密相连!
- 这一块内容参考陈希孺《概率论与数理统计》或"The Elements of Statistical Learning" by Hastie et al.
(学生)t分布
X
1
∼
χ
n
2
X_1\sim \chi_n^2
X1∼χn2,
X
2
∼
N
(
0
,
1
)
X_2\sim N(0, 1)
X2∼N(0,1),则
X
2
/
X
1
/
n
X_2/\sqrt{X_1/n}
X2/X1/n概率密度为
t
n
(
y
)
=
Γ
(
(
n
+
1
)
/
2
)
n
π
Γ
(
n
/
2
)
(
1
+
y
2
n
)
−
n
+
1
2
t_n(y)=\frac{\Gamma((n+1)/2)}{\sqrt {n\pi}\Gamma(n/2)} \left(1+\frac{y^2}{n} \right)^{-\frac{n+1}{2}}
tn(y)=nπΓ(n/2)Γ((n+1)/2)(1+ny2)−2n+1
称为自由度
n
n
n的t分布,记为
t
n
t_n
tn。该分布关于原点对称,与标准高斯分布
N
(
0
,
1
)
N(0, 1)
N(0,1)类似,当自由度
n
n
n很大时,
t
t
t分布接近标准高斯分布。这个分布是英国(又是英国)统计学家W·哥色特在1907年以“student”的笔名首次发表
- t分布有其他的引入方式,参考我之前的博客:
- 该分布可用于t检验
F分布
X
1
∼
χ
n
2
,
X
2
∼
χ
m
2
X_1 \sim \chi_n^2,\ X_2\sim\chi_m^2
X1∼χn2, X2∼χm2,则
m
−
1
X
2
/
(
n
−
1
X
1
)
m^{-1}X_2/(n^{-1}X_1)
m−1X2/(n−1X1)概率密度为
f
m
n
(
y
)
=
m
m
/
2
n
n
/
2
Γ
(
m
+
n
2
)
Γ
(
m
2
)
Γ
(
n
2
)
y
m
/
2
−
1
(
m
y
+
n
)
−
(
m
+
n
)
/
2
(
y
>
0
)
f_{mn}(y)=m^{m/2}n^{n/2}\frac{\Gamma(\frac{m+n}{2})}{\Gamma(\frac{m}{2})\Gamma(\frac{n}{2})}y^{m/2-1} (my+n)^{-(m+n)/2}\quad (y>0)
fmn(y)=mm/2nn/2Γ(2m)Γ(2n)Γ(2m+n)ym/2−1(my+n)−(m+n)/2(y>0)
称为自由度为
(
m
,
n
)
(m,n)
(m,n)的F分布,记为
F
m
n
F_{mn}
Fmn
- 该分布可用于F检验,例如线性回归中的回归显著性检验(全体回归系数皆为0的检验)
三大分布的重要性质
- 设
X
1
,
⋯
,
X
n
X_1, \cdots, X_n
X1,⋯,Xn独立同分布,服从
N
(
μ
,
σ
2
)
N(\mu, \sigma^2)
N(μ,σ2). 记
X
ˉ
=
(
X
1
+
⋯
+
X
n
)
/
n
,
S
2
=
∑
i
=
1
n
(
X
i
−
X
ˉ
)
2
/
(
n
−
1
)
\bar {X}=(X_1+\cdots+X_n)/n, S^2=\sum_{i=1}^n (X_i -\bar X)^2/(n-1)
Xˉ=(X1+⋯+Xn)/n,S2=∑i=1n(Xi−Xˉ)2/(n−1),则
( n − 1 ) S 2 / σ 2 = ∑ i = 1 n ( X i − X ˉ ) 2 / σ 2 ∼ χ n − 1 2 (n-1)S^2/\sigma^2=\sum_{i=1}^n (X_i-\bar X)^2/\sigma^2 \sim \chi_{n-1}^2 (n−1)S2/σ2=i=1∑n(Xi−Xˉ)2/σ2∼χn−12
这也说明样本方差和卡方分布有紧密关系 - 假设同1,则
n ( X ˉ − μ ) / S ∼ t n − 1 \sqrt n(\bar X-\mu) / S \sim t_{n-1} n(Xˉ−μ)/S∼tn−1
- 这一条可以用于t检验,检验高斯分布均值是否满足我们的预期
- 设
X
1
,
⋯
,
X
n
,
Y
1
,
⋯
,
Y
m
X_1, \cdots, X_n, Y_1, \cdots, Y_m
X1,⋯,Xn,Y1,⋯,Ym独立,
X
i
X_i
Xi有分布
N
(
μ
1
,
σ
1
2
)
N(\mu_1, \sigma_1^2)
N(μ1,σ12),
Y
i
Y_i
Yi有分布
N
(
μ
2
,
σ
2
)
N(\mu_2, \sigma^2)
N(μ2,σ2),则
[ ∑ j = 1 m ( Y j − Y ˉ ) 2 / ( σ 2 2 ( m − 1 ) ) ] / [ ∑ i = 1 n ( X i − X ˉ ) 2 / ( σ 1 2 ( n − 1 ) ) ] ∼ F m − 1 , n − 1 \left[\sum_{j=1}^m (Y_j - \bar Y)^2/(\sigma_2^2 (m-1))\right]/\left[\sum_{i=1}^n (X_i - \bar X)^2/(\sigma_1^2 (n-1))\right] \sim F_{m-1, n-1} [j=1∑m(Yj−Yˉ)2/(σ22(m−1))]/[i=1∑n(Xi−Xˉ)2/(σ12(n−1))]∼Fm−1,n−1
若 σ 1 2 = σ 2 2 \sigma_1^2=\sigma_2^2 σ12=σ22,则
n m ( n + m − 2 ) ( n + m [ ( X ˉ − Y ˉ ) − ( μ 1 − μ 2 ) ] / [ ∑ i = 1 n ( X i − X ˉ ) 2 + ∑ j = 1 m ( Y j − Y ˉ ) 2 ] 1 / 2 ∼ t n + m − 2 \sqrt{\frac{nm(n+m-2)}{(n+m}}\left[(\bar X-\bar Y) - (\mu_1-\mu_2) \right] / \left[ \sum_{i=1}^n (X_i-\bar X)^2 + \sum_{j=1}^m (Y_j - \bar Y)^2 \right]^{1/2} \sim t_{n+m-2} (n+mnm(n+m−2)[(Xˉ−Yˉ)−(μ1−μ2)]/[i=1∑n(Xi−Xˉ)2+j=1∑m(Yj−Yˉ)2]1/2∼tn+m−2
机器学习中的模型比较检验
(参考周志华《机器学习》2.4节)
模型的性能可以通过假设检验得方式进行评估。对于一个模型的分类错误率可以通过“二项检验”,而对于多次实验得到的多组测试错误率,则可以使用t检验。
t检验
t检验用于对高斯分布的均值进行检验:设
X
1
,
⋯
,
X
n
X_1,\cdots, X_n
X1,⋯,Xn是从高斯分布抽样,当方差未知时,关于均值
θ
\theta
θ与目标值
θ
0
\theta_0
θ0关系的检验,常见形式如:
1
°
H
0
:
θ
⩾
θ
0
,
H
1
:
θ
<
θ
0
2
°
H
0
′
:
θ
⩽
θ
0
,
H
1
′
:
θ
>
θ
0
3
°
H
0
′
′
:
θ
⩾
θ
0
,
H
1
′
′
:
θ
≠
θ
0
\begin{aligned} 1\degree\quad H_0: \theta\geqslant \theta_0, \quad &H_1:\theta < \theta_0 \\ 2\degree \quad H_0': \theta\leqslant \theta_0, \quad &H_1':\theta > \theta_0 \\ 3\degree \quad H_0'': \theta \geqslant \theta_0, \quad & H_1'':\theta \neq \theta_0 \end{aligned}
1°H0:θ⩾θ0,2°H0′:θ⩽θ0,3°H0′′:θ⩾θ0,H1:θ<θ0H1′:θ>θ0H1′′:θ=θ0
其中
H
0
,
H
0
′
,
H
0
′
′
H_0, H_0', H_0''
H0,H0′,H0′′为原假设,
H
1
,
H
1
′
,
H
1
′
′
H_1, H_1', H_1''
H1,H1′,H1′′为对立假设。 t检验的具体细节不讨论,大致思路是利用
n
(
X
ˉ
−
θ
0
)
/
S
\sqrt n (\bar X-\theta_0)/S
n(Xˉ−θ0)/S服从
t
n
−
1
t_{n-1}
tn−1,其中
S
S
S是样本标准差。
以
H
0
′
′
H_0''
H0′′为例,对于水平
α
\alpha
α的检验为
Φ
′
′
:
\Phi'':\quad
Φ′′:当
∣
n
(
X
ˉ
−
θ
0
)
/
S
∣
⩽
t
n
−
1
(
α
/
2
)
|\sqrt n (\bar X - \theta_0) /S|\leqslant t_{n-1}(\alpha/2)
∣n(Xˉ−θ0)/S∣⩽tn−1(α/2)时接受
H
0
′
′
H_0''
H0′′
- 值得一提的是,t检验中 Φ \Phi Φ和 Φ ′ \Phi' Φ′不是一致最优检验
- 利用 H 0 ′ ′ H_0'' H0′′,可以检验模型的错误率
上述方法用于对单个学习器的泛化性能的假设进行检验,下文的方法则对不同学习器的性能进行比较。
两样本t检验
从两个高斯分布抽出样本
X
1
,
⋯
,
X
n
X_1,\cdots,X_n
X1,⋯,Xn和
Y
1
,
⋯
,
Y
m
Y_1, \cdots, Y_m
Y1,⋯,Ym,方差未知(但需满足方差相同),给定
θ
0
\theta_0
θ0,考虑两个高斯分布的均值差,类似上文t检验,同样能提出三种检验问题。
做法类似,方差未知,先用两组样本综合,将方差估计出来
S
2
=
1
n
+
m
−
2
[
∑
i
=
1
n
(
X
i
−
X
ˉ
)
2
+
∑
j
=
1
m
(
Y
j
−
Y
ˉ
)
2
]
S^2=\frac{1}{n+m-2}\left[\sum_{i=1}^n(X_i - \bar X)^2 + \sum_{j=1}^m(Y_j - \bar Y)^2\right]
S2=n+m−21[∑i=1n(Xi−Xˉ)2+∑j=1m(Yj−Yˉ)2],检验统计量
n
m
n
+
m
(
X
ˉ
−
Y
ˉ
−
θ
0
)
/
S
\sqrt{\frac{nm}{n+m}}(\bar X-\bar Y-\theta_0)/S
n+mnm(Xˉ−Yˉ−θ0)/S,注意当假设成立时,这仍然是一个t分布
- 该方法可以检验两个学习器的性能是否有显著区别,机器学习中还会采用交叉验证t检验的方法,即“ 5 × 2 5\times2 5×2交叉验证”,建议翻书
其他情况
翻书、翻书……
- 二分类问题,同数据集下、两算法的比较:可以采用McNemar检验方式,,这种方法计算分类正确和错误的联列表,并构造一个统计量满足卡方分布
- 多数据集、多算法的比较:可以采用Friedman检验和Nemenyi检验。这两种方法都对算法性能在不同数据集上进行排序,计算平均序值。Friedman构造统计量满足卡方分布或F分布。Nemenyi检验计算平均序值差别的临界值域,当两算法的平均序值之差大于临界值域,则拒绝“两算法性能相同”这一假设。
参考文献:
[1] 周志华. 机器学习. 清华大学出版社. 2016.
[2] 陈希孺. 概率论与数理统计. 中国科学技术大学出版社. 2009.
[3] Trevor Hastie et al. The Elements of Statistical Learning, Second Edition. Springer. 2009.