有偏估计 and 无偏估计 - 方差分母 n-1 - 详细证明
最近在写一个 Feature Engineering Method 的 Python 库,其中在计算相似度的库中有一个方法,叫做 Pearson 系数,其中包含了方差以及协方差的计算,但分母为 n-1 而不是小时候学习的除以 n,于是乎查阅资料,学习到了有偏估计与无偏估计,在这里总结一下。
-
均值 - 无偏估计
以计算学生身高为例,世界上有学生很多,想要知道世界上所有学生身高的均值 μ μ μ,我们会采用这种方式:
μ = 1 N ∑ i = 1 N h i , h i μ=\frac{1}{N}\sum_{i=1}^{N}h_i,h_i μ=N1∑i=1Nhi,hi 表示第 i i i 个学生的身高, N N N 为世界上所有学生的人数。
但是世界上的学生不计其数,我们无法获取所有学生的身高,所以我们想出了采样的方法,通过计算样本的平均身高 h ˉ \bar h hˉ 来 近似 真实 的 μ μ μ,所以我们采用:
h ˉ = 1 n ∑ i = 1 n h i , n \bar h=\frac{1}{n}\sum_{i=1}^{n}h_i,n hˉ=n1∑i=1nhi,n 为采集到的样本大小,10 个学生,那我们便计算 10 个学生的均值,以此类推。
经过多次采样后会发现,多次的均值 h ˉ \bar h hˉ 会在 μ μ μ 周围波动(我们假设 μ μ μ 已知,其实这个老天爷知道)。
均值是一个无偏估计,在证明之前,先罗列需要用到的几个公式,对随机变量 H H H 有:
E ( a h i ) = a ⋅ E ( h i ) E(ah_i) = a·E(h_i) E(ahi)=a⋅E(hi)
E ( ∑ i = 1 n h i ) = ∑ i = 1 n E ( h i ) E(\sum_{i=1}^n h_i) = \sum_{i=1}^n E(h_i) E(∑i=1nhi)=∑i=1nE(hi)
证明如下:
E [ h ˉ ] = E [ ∑ i = 1 n h i n ] = 1 n ∑ i = 1 n E [ h i ] = 1 n ∑ i = 1 n μ = μ \begin{aligned}E[\bar{h}] =& E[\frac{\sum_{i=1}^n h_i}{n}] \\ =& \frac{1}{n}\sum_{i=1}^nE[h_i] \\ =& \frac{1}{n}\sum_{i=1}^n \mu \\ =& \mu \\ \end{aligned} E[hˉ]====E[n∑i=1nhi]n1i=1∑nE[hi]n1i=1∑nμμ
也就是说 h ˉ \bar h hˉ 的期望等于随机变量 h h h 的期望 μ μ μ,所以是无偏估计。
-
方差 - 有偏估计
现在我们想要看一下世界上所有学生身高的稳定程度,那么就要计算学生身高的方差:
σ 2 = 1 N ∑ i = 1 N ( h i − μ ) 2 \sigma^2=\frac{1}{N}\sum_{i=1}^{N}(h_i-μ)^2 σ2=N1∑i=1N(hi−μ)2
但是我们遇到了同样的问题,无法获取所有学生的身高,所以同样采样:
S 2 = 1 n ∑ i = 1 n ( h i − μ ) 2 S^2=\frac{1}{n}\sum_{i=1}^{n}(h_i-μ)^2 S2=n1∑i=1n(hi−μ)2
利用 S 2 S^2 S2 来近似 σ 2 \sigma^2 σ2,此时便出现了一个问题, μ \mu μ 是未知的,所以我们只能使用均值 h ˉ \bar h hˉ 来代替,于是得到:
S 2 = 1 n ∑ i = 1 n ( h i − h ˉ ) 2 S^2=\frac{1}{n}\sum_{i=1}^{n}(h_i-\bar h)^2 S2=n1∑i=1n(hi−hˉ)2
但是在替换之后问题便出现了,根据最小二乘法,均方差的最优解(能取得 S 2 S^2 S2 最小值的解)就是 h ˉ \bar h hˉ,即:
h ˉ = h ∗ a r g m i n [ 1 n ∑ i = 1 n ( h i − h ∗ ) 2 ] \bar h=\mathop{}_{~~~~~h_*}^{argmin}[\frac{1}{n}\sum_{i=1}^{n}(h_i-h_*)^2] hˉ= h∗argmin[n1∑i=1n(hi−h∗)2]
既然 h ∗ = h ˉ h_*=\bar h h∗=hˉ 时 S 2 S^2 S2 最小,那么我们将 μ μ μ 替换成 h ˉ \bar h hˉ 后则一定有如下不等式成立:
1 n ∑ i = 1 n ( h i − h ˉ ) 2 ≤ 1 n ∑ i = 1 n ( h i − μ ) 2 \frac{1}{n}\sum_{i=1}^{n}(h_i-\bar h)^2\le \frac{1}{n}\sum_{i=1}^{n}(h_i-μ)^2 n1∑i=1n(hi−hˉ)2≤n1∑i=1n(hi−μ)2
即 S 2 ≤ σ 2 S^2\le\sigma^2 S2≤σ2
可见,用 S 2 S^2 S2 来近似,低估了 σ 2 \sigma^2 σ2。其实我们希望是这样的 E [ S 2 ] = σ 2 E[S^2]=\sigma^2 E[S2]=σ2,但此时却被低估了。(类似均值 E [ h ˉ ] = μ E[\bar{h}]=\mu E[hˉ]=μ,这里 S 2 S^2 S2 对应 h ˉ \bar{h} hˉ 属于近似值, σ 2 \sigma^2 σ2 对应 μ \mu μ 属于真实期望值)
-
方差 - 转换成无偏估计
那具体低估了多少呢?算一下:
E [ S 2 ] = E [ 1 n ∑ i = 1 n ( h i − h ˉ ) 2 ] = E [ 1 n ∑ i = 1 n ( ( h i − μ ) − ( h ˉ − μ ) ) 2 ] = E [ 1 n ∑ i = 1 n ( ( h i − μ ) 2 + ( h ˉ − μ ) 2 − 2 ( h i − μ ) ( h ˉ − μ ) ] = E [ 1 n ∑ i = 1 n ( h i − μ ) 2 + 1 n ∑ i = 1 n ( h ˉ − μ ) 2 − 1 n ∑ i = 1 n 2 ( h i − μ ) ( h ˉ − μ ) ] = E [ 1 n ∑ i = 1 n ( h i − μ ) 2 ] + E [ ( h ˉ − μ ) 2 − 2 n ( h ˉ − μ ) ∑ i = 1 n ( h i − μ ) ] = σ 2 + E [ ( h ˉ − μ ) 2 − 2 n ( h ˉ − μ ) ∑ i = 1 n ( h i − μ ) ] \begin{aligned}E[S^2]=& E[\frac{1}{n}\sum_{i=1}^{n}(h_i-\bar h)^2] \\ =& E[\frac{1}{n}\sum_{i=1}^{n}((h_i-\mu)-(\bar h - \mu))^2] \\ =& E[\frac{1}{n}\sum_{i=1}^{n}((h_i-\mu)^2+(\bar h - \mu)^2-2(h_i-\mu)(\bar h - \mu)] \\ =& E[\frac{1}{n}\sum_{i=1}^{n}(h_i-\mu)^2+\frac{1}{n}\sum_{i=1}^{n}(\bar h - \mu)^2-\frac{1}{n}\sum_{i=1}^{n}2(h_i-\mu)(\bar h - \mu)] \\ =& E[\frac{1}{n}\sum_{i=1}^{n}(h_i-\mu)^2]+E[(\bar h - \mu)^2-\frac{2}{n}(\bar h - \mu)\sum_{i=1}^{n}(h_i-\mu)] \\ =& \sigma^2+E[(\bar h - \mu)^2-\frac{2}{n}(\bar h - \mu)\sum_{i=1}^{n}(h_i-\mu)] \\ \end{aligned} E[S2]======E[n1i=1∑n(hi−hˉ)2]E[n1i=1∑n((hi−μ)−(hˉ−μ))2]E[n1i=1∑n((hi−μ)2+(hˉ−μ)2−2(hi−μ)(hˉ−μ)]E[n1i=1∑n(hi−μ)2+n1i=1∑n(hˉ−μ)2−n1i=1∑n2(hi−μ)(hˉ−μ)]E[n1i=1∑n(hi−μ)2]+E[(hˉ−μ)2−n2(hˉ−μ)i=1∑n(hi−μ)]σ2+E[(hˉ−μ)2−n2(hˉ−μ)i=1∑n(hi−μ)]
其中,
h ˉ − μ = ∑ i = 1 n h i − μ = 1 n ∑ i = 1 n h i − 1 n ∑ i = 1 n μ = 1 n ∑ i = 1 n ( h i − μ ) \begin{aligned}\bar h - \mu=&\sum_{i=1}^{n}h_i-\mu \\ =& \frac{1}{n}\sum_{i=1}^{n}h_i-\frac{1}{n}\sum_{i=1}^{n}\mu \\ =& \frac{1}{n}\sum_{i=1}^{n}(h_i-\mu) \end{aligned} hˉ−μ===i=1∑nhi−μn1i=1∑nhi−n1i=1∑nμn1i=1∑n(hi−μ)
且有: n ( h ˉ − μ ) = ∑ i = 1 n ( h i − μ ) n(\bar h - \mu)=\sum_{i=1}^{n}(h_i-\mu) n(hˉ−μ)=∑i=1n(hi−μ)
将此结果代入得,
E [ S 2 ] = σ 2 + E [ ( h ˉ − μ ) 2 − 2 n ( h ˉ − μ ) ∑ i = 1 n ( h i − μ ) ] = σ 2 + E [ ( h ˉ − μ ) 2 − 2 ( h ˉ − μ ) 2 ] = σ 2 − E [ ( h ˉ − μ ) 2 ] \begin{aligned}E[S^2]=& \sigma^2+E[(\bar h - \mu)^2-\frac{2}{n}(\bar h - \mu)\sum_{i=1}^{n}(h_i-\mu)] \\ =& \sigma^2+E[(\bar h - \mu)^2-2(\bar h-\mu)^2] \\ =& \sigma^2-E[(\bar h-\mu)^2] \\ \end{aligned} E[S2]===σ2+E[(hˉ−μ)2−n2(hˉ−μ)i=1∑n(hi−μ)]σ2+E[(hˉ−μ)2−2(hˉ−μ)2]σ2−E[(hˉ−μ)2]
又,已知计算法则:
E [ ( X − E [ X ] ) ] = v a r ( X ) E[(X-E[X])]=var(X) E[(X−E[X])]=var(X)
v a r ( a h i ) = a 2 ⋅ v a r ( h i ) var(ah_i) = a^2 ·var(h_i) var(ahi)=a2⋅var(hi)
v a r ( ∑ i = 1 n h i ) = ∑ i = 1 n v a r ( h i ) var(\sum_{i=1}^n h_i) = \sum_{i=1}^n var(h_i) var(∑i=1nhi)=∑i=1nvar(hi)
所以,
E [ ( h ˉ − μ ) 2 ] = E [ ( h ˉ − E [ h ˉ ] ) 2 ] = v a r ( h ˉ ) = v a r ( ∑ i = 1 n h i n ) = 1 n 2 v a r ( ∑ i = 1 n h i ) = 1 n 2 ∑ i = 1 n v a r ( h i ) = n σ 2 n 2 = σ 2 n \begin{aligned} E[(\bar{h}-\mu)^2] &= E[(\bar{h} - E[\bar{h}])^2] = var(\bar h) \\ &=var\left(\frac{\sum_{i=1}^n h_i}{n}\right) \\ &=\frac{1}{n^2}var\left(\sum_{i=1}^n h_i\right) \\ &=\frac{1}{n^2}\sum_{i=1}^n var\left( h_i\right) \\ &=\frac{n\sigma^2}{n^2} \\ &=\frac{\sigma^2}{n} \\ \end{aligned} E[(hˉ−μ)2]=E[(hˉ−E[hˉ])2]=var(hˉ)=var(n∑i=1nhi)=n21var(i=1∑nhi)=n21i=1∑nvar(hi)=n2nσ2=nσ2
将结果 E [ ( h ˉ − μ ) 2 ] = σ 2 n E[(\bar{h}-\mu)^2]=\frac{\sigma^2}{n} E[(hˉ−μ)2]=nσ2 代入得:
E [ S 2 ] = σ 2 − E [ ( h ˉ − μ ) 2 ] = σ 2 − σ 2 n = n − 1 n σ 2 \begin{aligned} E[S^2]=& \sigma^2-E[(\bar h-\mu)^2] \\ =& \sigma^2-\frac{\sigma^2}{n} \\ =& \frac{n-1}{n}\sigma^2 \\ \end{aligned} E[S2]===σ2−E[(hˉ−μ)2]σ2−nσ2nn−1σ2
所以 S 2 S^2 S2 对 σ 2 \sigma^2 σ2 低估了 σ 2 n \frac{\sigma^2}{n} nσ2,
E [ S 2 ] = E [ 1 n ∑ i = 1 n ( h i − h ˉ ) 2 ] = n − 1 n σ 2 E[S^2]=E[\frac{1}{n}\sum_{i=1}^{n}(h_i-\bar h)^2]=\frac{n-1}{n}\sigma^2 E[S2]=E[n1∑i=1n(hi−hˉ)2]=nn−1σ2
用 S 2 S^2 S2 进行近似,相当于只得到了 n − 1 n σ 2 \frac{n-1}{n}\sigma^2 nn−1σ2
调整式子后,
n n − 1 E [ 1 n ∑ i = 1 n ( h i − h ˉ ) 2 ] = σ 2 \frac{n}{n-1}E[\frac{1}{n}\sum_{i=1}^{n}(h_i-\bar h)^2]=\sigma^2 n−1nE[n1∑i=1n(hi−hˉ)2]=σ2
最终得,
E [ 1 n − 1 ∑ i = 1 n ( h i − h ˉ ) 2 ] = σ 2 E[\frac{1}{n-1}\sum_{i=1}^{n}(h_i-\bar h)^2]=\sigma^2 E[n−11∑i=1n(hi−hˉ)2]=σ2
所以,如果想要使得估计值等于 σ 2 \sigma^2 σ2,应使用 1 n − 1 ∑ i = 1 n ( h i − h ˉ ) 2 \frac{1}{n-1}\sum_{i=1}^{n}(h_i-\bar h)^2 n−11∑i=1n(hi−hˉ)2
使用 1 n − 1 \frac{1}{n-1} n−11 时才是无偏估计。