创建时间:2024-08-16
首发时间:2024-08-16
最后编辑时间:2024-08-16
作者:Geeker_LStar
顾名思义,【随记】这个专栏没有固定的主题。它可能会包含一些有趣的数学问题(咳咳咳,论我的突发奇想)或一些 “有趣” 的 bug,等等。相当于一种日常记录,有点像大杂烩。
你或许能从其中找到一些有趣的东西…嘿嘿。⭐
今天下午在写《机器学习》专栏中讲主成分分析的文章,讲到样本主成分分析的协方差计算的时候,我发现 “取平均值” 并不是乘
1
n
\frac{1}{n}
n1,而是乘
1
n
−
1
\frac{1}{n-1}
n−11. 同时,我之前早就发现,在用样本数据而不是总体数据计算方差的时候,也是一样用
1
n
−
1
\frac{1}{n-1}
n−11 而非
1
n
\frac{1}{n}
n1 做取平均值。
这个问题我好奇了挺久的,看到一些说法是 “这种计算叫做无偏估计,除以 n-1 是为了补偿样本而非总体带来的偏差” 或 “样本数据消耗了一个自由度,所以要 -1”,不过我觉得这些说法在数学上不够严谨,so,这一篇就从数学的角度来解释(证明)一下
1
n
−
1
\frac{1}{n-1}
n−11 的合理性!
okay 先来看一下问题的背景。
我们现在有一堆数据,想要计算这一堆数据的方差。但是很抱歉哦(?),我们不能用所有数据去计算总体方差,而是只能选择其中的一部分数据去计算样本方差 (别问为什么问就是我也不知道) 。我们的目的就是让样本方差
s
2
s^2
s2 的期望尽可能接近总体方差
σ
2
\sigma^2
σ2。(后面我们可以证明,样本方差的期望就等于总体方差,所以被叫做 “无偏估计”。
okay(什么口头禅),我们把【处理前的】(看好这四个字)样本方差记作
s
2
s^2
s2,则有:
s
2
=
∑
i
=
1
n
(
x
i
−
x
ˉ
)
2
s^2 = \sum_{i=1}^{n}(x_i-\bar{x})^2
s2=i=1∑n(xi−xˉ)2
其中
x
i
x_i
xi 就是第
i
i
i 个数据,
x
ˉ
\bar{x}
xˉ 就是样本均值。至于为什么是处理前的,因为它没有做【取平均值】的操作(无论是取 1/n 还是 1/n-1)。
嗯…因为最终是要和总体方差建立关联的,所以我们不妨先在
s
2
s^2
s2 中引入总体均值
μ
\mu
μ。
s
2
=
∑
i
=
1
n
(
(
x
i
−
μ
)
−
(
x
ˉ
−
μ
)
)
2
s^2= \sum_{i=1}^{n}((x_i-\mu)-(\bar{x}-\mu))^2
s2=i=1∑n((xi−μ)−(xˉ−μ))2
很显然式子本身并没有改变。
好的,接下来我们进行一波简单的变形(其实就是打开完全平方)。
s
2
=
∑
i
=
1
n
(
(
x
i
−
μ
)
2
+
2
(
x
i
−
μ
)
(
x
ˉ
−
μ
)
+
(
x
ˉ
−
μ
)
2
)
s^2= \sum_{i=1}^{n}((x_i-\mu)^2+2(x_i-\mu)(\bar{x}-\mu)+(\bar{x}-\mu)^2)
s2=i=1∑n((xi−μ)2+2(xi−μ)(xˉ−μ)+(xˉ−μ)2)
then,我们利用
∑
\sum
∑ 的性质,把一个
∑
\sum
∑ 拆成三个。
s
2
=
∑
i
=
1
n
(
x
i
−
μ
)
2
+
∑
i
=
1
n
2
(
x
i
−
μ
)
(
x
ˉ
−
μ
)
+
∑
i
=
1
n
(
x
ˉ
−
μ
)
2
s^2= \sum_{i=1}^{n}(x_i-\mu)^2+\sum_{i=1}^{n}2(x_i-\mu)(\bar{x}-\mu)+\sum_{i=1}^{n}(\bar{x}-\mu)^2
s2=i=1∑n(xi−μ)2+i=1∑n2(xi−μ)(xˉ−μ)+i=1∑n(xˉ−μ)2
en…现在我们需要一些《注意力》(《注意到》(((doge)
我们不妨把三项拆开来看。首先第一项
∑
i
=
1
n
(
x
i
−
μ
)
2
\sum_{i=1}^{n}(x_i-\mu)^2
∑i=1n(xi−μ)2。哦吼,这玩意不就是每一个样本和总体均值的差的平方的和嘛,这是啥,这不就是方差 * n 嘛((因为正经的方差需要在平方和前面 *
1
/
n
1/n
1/n.
所以第一项破案了,
∑
i
=
1
n
(
x
i
−
μ
)
2
=
n
σ
2
\sum_{i=1}^{n}(x_i-\mu)^2=n\sigma^2
∑i=1n(xi−μ)2=nσ2,前面说过
σ
2
\sigma^2
σ2 就是总体方差。
第二项,
∑
i
=
1
n
2
(
x
i
−
μ
)
(
x
ˉ
−
μ
)
\sum_{i=1}^{n}2(x_i-\mu)(\bar{x}-\mu)
∑i=1n2(xi−μ)(xˉ−μ)。这个怎么说,首先
2
(
x
ˉ
−
μ
)
2(\bar{x}-\mu)
2(xˉ−μ) 是一个定值,所以我们可以把它提到
∑
\sum
∑ 外面,即:
∑
i
=
1
n
2
(
x
i
−
μ
)
(
x
ˉ
−
μ
)
=
2
(
x
ˉ
−
μ
)
∑
i
=
1
n
(
x
i
−
μ
)
\sum_{i=1}^{n}2(x_i-\mu)(\bar{x}-\mu)=2(\bar{x}-\mu)\sum_{i=1}^{n}(x_i-\mu)
i=1∑n2(xi−μ)(xˉ−μ)=2(xˉ−μ)i=1∑n(xi−μ)
我们来看一下
∑
i
=
1
n
(
x
i
−
μ
)
\sum_{i=1}^{n}(x_i-\mu)
∑i=1n(xi−μ) 这一项。
还是,把它用
∑
\sum
∑ 的规则展开:
∑
i
=
1
n
(
x
i
−
μ
)
=
∑
i
=
1
n
x
i
−
n
μ
=
n
x
ˉ
−
n
μ
=
n
(
x
ˉ
−
μ
)
\sum_{i=1}^{n}(x_i-\mu)=\sum_{i=1}^nx_i-n\mu=n\bar{x}-n\mu=n({\bar{x}-\mu})
i=1∑n(xi−μ)=i=1∑nxi−nμ=nxˉ−nμ=n(xˉ−μ)
很好,这样第二项也破案了,最终的结果就是:
2
(
x
ˉ
−
μ
)
∑
i
=
1
n
(
x
i
−
μ
)
=
2
(
x
ˉ
−
μ
)
n
(
x
ˉ
−
μ
)
=
2
n
(
x
ˉ
−
μ
)
2
2(\bar{x}-\mu)\sum_{i=1}^{n}(x_i-\mu)=2(\bar{x}-\mu)n({\bar{x}-\mu})=2n(\bar{x}-\mu)^2
2(xˉ−μ)i=1∑n(xi−μ)=2(xˉ−μ)n(xˉ−μ)=2n(xˉ−μ)2
接着来看第三项,
∑
i
=
1
n
(
x
ˉ
−
μ
)
2
\sum_{i=1}^{n}(\bar{x}-\mu)^2
∑i=1n(xˉ−μ)2.
emmm 这个没什么说的吧,直接就等于
n
(
x
ˉ
−
μ
)
2
n(\bar{x}-\mu)^2
n(xˉ−μ)2.
okay 现在三项都破案了,最终我们原始的式子就变成了:
s
2
=
σ
2
−
2
n
(
x
ˉ
−
μ
)
2
+
n
(
x
ˉ
−
μ
)
2
=
n
σ
2
−
n
(
x
ˉ
−
μ
)
2
s^2=\sigma^2-2n(\bar{x}-\mu)^2+n(\bar{x}-\mu)^2=n\sigma^2-n(\bar{x}-\mu)^2
s2=σ2−2n(xˉ−μ)2+n(xˉ−μ)2=nσ2−n(xˉ−μ)2
好嘞,现在我们可以计算
s
2
s^2
s2 的期望:
E
[
s
2
]
=
E
[
n
σ
2
−
n
(
x
ˉ
−
μ
)
2
]
\mathbb{E}[s^2] = \mathbb{E}[n\sigma^2 - n(\bar{x} - \mu)^2]
E[s2]=E[nσ2−n(xˉ−μ)2]
期望具有线性性质(和
∑
\sum
∑ 一样),所以我们可以把两项分开写:
E
[
s
2
]
=
n
σ
2
−
n
E
[
(
x
ˉ
−
μ
)
2
]
\mathbb{E}[s^2] = n\sigma^2 - n \mathbb{E}[(\bar{x} - \mu)^2]
E[s2]=nσ2−nE[(xˉ−μ)2]
由于:
E
[
(
x
ˉ
−
μ
)
2
]
=
σ
2
n
\mathbb{E}[(\bar{x} - \mu)^2] = \frac{\sigma^2}{n}
E[(xˉ−μ)2]=nσ2
代入上面展开后的期望得到:
E
[
s
2
]
=
n
σ
2
−
n
⋅
σ
2
n
=
n
σ
2
−
σ
2
=
(
n
−
1
)
σ
2
\mathbb{E}[s^2] = n\sigma^2 - n \cdot \frac{\sigma^2}{n} = n\sigma^2 - \sigma^2 = (n-1)\sigma^2
E[s2]=nσ2−n⋅nσ2=nσ2−σ2=(n−1)σ2
okay!!! 非常好!我们已经得到了想要的式子!
E [ s 2 ] \mathbb{E}[s^2] E[s2],也就是处理前的样本方差的期望,等于 ( n − 1 ) (n-1) (n−1) 倍的总方差!
所以,为了让处理后的样本方差(也就是取平均值之后的样本方差)的期望等于总方差,即实现无偏估计,我们只需要把处理前的样本方差乘上 1 n − 1 \frac{1}{n-1} n−11 就可以了!
也就是说,处理后的样本方差,记作
S
2
S^2
S2,就等于:
1
n
−
1
∑
i
=
1
n
(
x
i
−
x
ˉ
)
2
\frac{1}{n-1}\sum_{i=1}^{n}(x_i-\bar{x})^2
n−11i=1∑n(xi−xˉ)2
okay,现在我们成功破案!
也就是说,为了保证样本方差的期望等于总体方差,我们需要在取平均值的时候乘以
1
n
−
1
\frac{1}{n-1}
n−11 而不是
1
n
\frac{1}{n}
n1.
终于从数学上解决了这个困扰我很久的问题(cooooool!!
好了好了,解决了这个,我要继续去写我的主成分分析了…
(是嘟这是随记所以每一篇都不会很长。
这篇文章讲解了在进行无偏估计时,样本方差需要用 1 n − 1 \frac{1}{n-1} n−11 而不是 1 n \frac{1}{n} n1 取平均值的数学道理。希望对你有所帮助!
一起加油!❤