以下内容均转载自 萧萧九宸的CSDN文章 T分布: 一个被啤酒厂发现的关键统计概念,对原文乱码进行了优化:
翻译来源: The t-distribution: a key statistical concept discovered by a beer brewery
这篇博文会介绍两种你在数据科学, 统计学, 机器学习领域中几乎每次都会遇到的概率分布。
高斯分布(正态分布/常态分布)
想象我们在进行一项关于城市人口身高的研究。 我们走街串巷随机测量了一堆人的身高(其中有一些人认为这太奇怪了,想要叫警察,但是这是为了科学,别闹了)。
现在我们决定,进行一些探索性数据分析(Exploratory Data Analysis)。 但是我们手头恰好没有数据分析软件(例如 R),所以我们就简单的做一个身高分布直方图。
我们看到了什么? 啊哈, 著名的钟型曲线。 这可能是你遇到过的最为重要的概率分布。 感谢中心极限定理(Central limit theorem), 高斯分布在很多现实世界中的很多现象中都存在。高斯分布过于常见, 以致于人们直接干脆称之为常态分布/正态分布(Normal Distribution)
中心极限定理阐明了, 足够多的随机变量求和后的平均数是符合正态分布的。 那些随机变量自身可以遵循任意的概率分布, 只要我们在衡量某种由这些随机变量求和结果所表示的量时(只要样本量足够大), 我们最终都会得到正态分布。
高斯分布的概率密度函数如下:
f
(
x
∣
μ
,
σ
)
=
1
σ
2
π
e
−
(
x
−
μ
)
2
2
σ
2
f(x|\mu,\sigma) = \frac{1}{\sigma \sqrt{2 \pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}
f(x∣μ,σ)=σ2π1e−2σ2(x−μ)2
这个公式可能看上去有些吓人,但是它在数学运算上非常便捷。如果你感兴趣它是如何推到出来的,你可以阅读这里。正如你所看到的,这个分布有两个参数:
- μ \mu μ 平均数(mean)
-
σ
\sigma
σ 标准差(standard deviation)
平均数 μ \mu μ 控制着期望值(大部分值所要去的地方),方差 σ 2 \sigma^2 σ2 控制着这个分布中取值的范围分布情况或者说分散程度。
正态分布的概念在机器学习中有极大的价值,各种各样的机器学习算法都会用到:
-线性模型假设误差是正态分布的
-高斯过程假设模型下一个函数值的所有值都是正态分布的
-高斯混合使你可以对复杂的分布进行建模, 基于混合模型构建分类器
-正态分布是变分自动编码器的一个重要组件
"学生"的t分布
如果我们想要用高斯分布对我们的数据进行建模,但是并不知道方差
σ
2
\sigma^2
σ2 怎么办?这个问题在样本量比较小,以致于我们无法准确估计标准差 (
σ
\sigma
σ) 的时候会出现。
(译者补充开始):
- 为什么样本量较小的时候,标准差会无法准确估计呢?此处可以延伸阅读一下贝塞尔纠偏(Bessel’s Correction)
- 直观举例来看:
-
假设我们有一个数据总体的平均值是 2050 2050 2050,但是统计学家并不知道这件事,他只能根据抽样的样本来估计总体的均值。现在假设他获得的样本较少,为: 2051 , 2053 , 2055 , 2050 , 2051 2051 , 2053 , 2055 , 2050 , 2051 2051,2053,2055,2050,2051
-
可以算得样本的均值为: 2052 2052 2052
-
这个可以作为我们对总体均值的一个估计,现在我们面临的问题是,需要进一步估计样本的方差。假如我们知道样本真实的均值是 2050 2050 2050 ,那么根据方差计算公式,我们进行如下计算:
1 5 [ ( 2051 − 2050 ) 2 + ( 2053 − 2050 ) 2 + ( 2055 − 2050 ) 2 + ( 2050 − 2050 ) 2 + ( 2051 − 2050 ) 2 ] = 7.2 \frac{1}{5}[(2051-2050)^2 + (2053-2050)^2 +(2055-2050)^2 +(2050-2050)^2 +(2051-2050)^2 ]=7.2 51[(2051−2050)2+(2053−2050)2+(2055−2050)2+(2050−2050)2+(2051−2050)2]=7.2 -
假如我们使用估计的均值进行如下计算
1 5 [ ( 2051 − 2052 ) 2 + ( 2053 − 2052 ) 2 + ( 2055 − 2052 ) 2 + ( 2050 − 2052 ) 2 + ( 2051 − 2052 ) 2 ] = 3.2 \frac{1}{5}[(2051-2052)^2 + (2053-2052)^2 +(2055-2052)^2 +(2050-2052)^2 +(2051-2052)^2 ]=3.2 51[(2051−2052)2+(2053−2052)2+(2055−2052)2+(2050−2052)2+(2051−2052)2]=3.2 -
可以看到使用估计均值计算出的方差,比使用实际均值计算出的方差明显地小了很多,这个偏差已经明显到不可忽略。现在就会自然产生一个疑问,是不是用样本均值计算出来的方差始终(无论样本均值小于或是大于总体实际均值)比用总体均值计算出来的方差要小?答案是肯定的,原因可以通过一个简单的数学恒等式证明:
-
( a + b ) 2 = a 2 + 2 a b + b 2 (a+b)^2=a^2+2ab+b^2 (a+b)2=a2+2ab+b2,其中 a a a 表示样本值与总体均值的偏差, b b b 表示样本均值与总体均值的偏差,注意: a + b a + b a+b 所表示的即是样本值与总体均值的偏差。 通过如下的例子可以更清晰的理解:
-
从上述的计算中就可以看到, 如果用总体实际均值计算方差, 其结果应该是
a 2 + b 2 n \frac{a^2 + b^2}{n} na2+b2 -
很明显是大于等于使用估计均值计算出来的方差
a 2 n \frac{a^2}{n} na2
(译者补充结束)
-
William Gosset 在一个吉尼斯黑啤酒酿酒厂工作时,找到了解决样本量较小时,总体方差未知导致无法用高斯分布建模数据问题的方法。
首先我们假设有值
x
1
,
.
.
.
,
x
n
x_1,...,x_{n}
x1,...,xn , 这些值是从一个正态分布
N
(
μ
,
σ
2
)
N(\mu, \sigma^2)
N(μ,σ2) 的总体中抽样获得的
我们并不知道真正的方差, 但是我们可以通过样本均值和样本方差来估计:
x
ˉ
=
1
n
∑
i
=
1
n
x
i
\bar{x} = \frac{1}{n}\sum_{i=1}^{n}x_{i}
xˉ=n1i=1∑nxi
s
2
=
1
n
−
1
∑
i
=
1
n
(
x
i
−
x
ˉ
)
2
s^2 = \frac{1}{n-1}\sum_{i=1}^{n}(x_{i}-\bar{x})^2
s2=n−11i=1∑n(xi−xˉ)2
- 译者注:上面的 s 2 s^2 s2 计算时,分母为 n − 1 n-1 n−1 而非 n n n 的原因就是为了纠正使用样本均值算出的方差总比实际方差小的问题。
现在我们构建一个随机变量:
t
=
x
ˉ
−
μ
s
/
n
t=\frac{\bar{x}-\mu}{s/\sqrt{n}}
t=s/nxˉ−μ
就会呈现一个 自由度为
n
−
1
n-1
n−1 的 T分布, 其中
n
n
n 是样本的数量。
- 译者注:
- 统计学中自由度的定义是 一次计算中,可以自由变化的变量个数。更多信息建议参考 Wiki 定义。上面这个随机变量 t 其实是由 x 1 , . . . , x n x_{1}, ..., x_{n} x1,...,xn 决定的,因为每次抽样, x 1 , . . . , x n x_{1}, ..., x_{n} x1,...,xn 都是会随机变动的,所以 t 这个值也就成了一个随机变量,注意到公式中 n , μ n, \mu n,μ 其实都是是固定的参数, x ˉ \bar{x} xˉ 和 s s s 都是依赖 x 1 , . . . , x n x_{1}, ..., x_{n} x1,...,xn 计算出来的。
- 那么这里自然有一个问题是为什么自由度是 n − 1 n-1 n−1 而不是 n n n,因为这个计算中,应该有 n n n 个变量可以自由变化啊
- 原因是T值的计算公式中使用了 s s s, s s s 的计算过程中依赖 ( x i − x ˉ ) (x_i-\bar{x}) (xi−xˉ) 的值,而这就产生了一个隐藏的限制, ∑ i = 1 n ( x i − x ) = 0 \sum_{i=1}^n(x_i - x) = 0 ∑i=1n(xi−x)=0。所以这使得一旦前 n − 1 n-1 n−1 个 ( x i − x ˉ ) (x_i - \bar{x}) (xi−xˉ) 确定后,第 n n n 个 ( x i − x ˉ ) (x_i - \bar{x}) (xi−xˉ) 立马被锁定。自由度因此变成了 n − 1 n-1 n−1。
这个公式可能和正态分布到标准正态分布的变形很类似:
x
ˉ
−
μ
σ
/
n
\frac{\bar{x}-\mu}{\sigma/\sqrt{n}}
σ/nxˉ−μ
(译者补充开始):
- 标准正太分布是以0为均数、以1为标准差的正态分布,记为
N
(
0
,
1
)
N(0, 1)
N(0,1), 标准正态分布曲线下面积分布规律是:在-1.96~+1.96范围内曲线下的面积等于0.9500,在-2.58~+2.58范围内曲线下面积为0.9900。如下图:
- 给定一个遵循正态分布的随机变量 X ∼ N X \sim N X∼N ( μ \mu μ, σ \sigma σ, 随机变量 Z = X − μ σ Z=\frac{X-\mu}{\sigma} Z=σX−μ 则符合标准正态分布。这个转换过程也被称为 $ \mu$ 变换
- 应用举例,假设已知一个正态分布 X ∼ N ( 20 , 5 ) X \sim N(20, 5) X∼N(20,5),想要求得在该分布中,X 取到大于30的概率,即可计算 Z = X − μ σ = 30 − 20 5 = 2 Z=\frac{X-\mu}{\sigma } = \frac{30-20}{5} = 2 Z=σX−μ=530−20=2,得到 P ( X > 30 ) = P ( Z > 2 ) P(X\gt30)= P(Z\gt2) P(X>30)=P(Z>2),查标准正态分布表可得结果 P ( Z > 2 ) = 2.28 P(Z\gt2)=2.28 P(Z>2)=2.28
- 在正态分布总体中以固定的个数 n n n 多次抽取样本时,多个样本集的平均数 X ˉ \bar{X} Xˉ 的分布仍服从正态分布 N ( μ , σ ) N(\mu, \sigma) N(μ,σ)。所以,对样本均数的分布进行 μ \mu μ变换,也可变换为标准正态分布 N ( 0 , 1 ) N(0, 1) N(0,1)
(译者补充结束)
我们并不知道真正的总体方差,所以在尝试对样本均值进行 μ \mu μ变换 时,只能用样本估计出的方差 s s s 替换实际方差 μ \mu μ, 导致最终得到的结果是 t分布。
t分布奠定了一个名为 t检验 的科学方法的基础。该方法曾被吉尼斯黑啤酒酿酒厂用于检验啤酒质量。
由于啤酒厂担心竞争者可能会由此发现 T检验的方法,所以 William Gosset只能将这个发现以笔名 “学生” 发布, 使得 t-分布也被广泛称为学生分布。
Gosset 的发现后来被著名的统计学家 Ronald Fisher(他被认为是频率论方法的作者)正规化描述。
如上图所示,当自由度(v = n-1)从小变大的过程中,t-分布逐渐逼近为标准正态分布 。这是因为当抽样的数量越多,我们计算出的样本均值就越接近总体的实际均值。t-分布和标准正态分布相比更为“肥大的尾巴” 补偿了我们进行小样本量抽样时的不确定性。
感兴趣的读者可能会问,“t-分布的概率密度函数是什么? 我们如何推导出它?”。这个推导在数学角度来讲并不容易,但是推导的核心思想我们可以很容易掌握。
假设我们希望的得到正态分布变量 X ∼ N ( 0 , σ ) X \sim N(0,\sigma) X∼N(0,σ) 的概率密度函数,但是不能依赖标准差 σ \sigma σ。直觉上,如果我们想避免使用 σ \sigma σ,就需要作出某种假设,让我们把 σ \sigma σ 当做一个随机变量,假设它遵循伽马分布(Gamma-Distribution, 这是一个在贝叶斯统计中广泛使用的分布)。然后我们可以猜测,变量 X 是两个连续概率分布的混合:正态分布和伽马分布,我们对涉及到 σ \sigma σ 的部分进行积分,提取出来,就可以得到 t-分布的概率密度函数。
如果想看正式的证明过程,可以看A note about the Student’s t distribution和Student’s t distribution两篇英文博文。
结论
高斯分布和学生分布是统计学和机器学习中最为重要的连续概率分布的一部分。t-分布可以用作总体方差未知,或样本集较小时高斯分布的占位符。这两种分布有着非常严格和正式的关联关系。