自由度(degrees of freedom)

自由度 = 你的数据里”还能自由变化”的独立信息的个数。

假设我让你报10个数,唯一的限制是”这10个数的平均值必须是5″。你报前9个数时完全自由——但第10个数一报出来,整个平均就被钉死了,你其实”没得选”。虽然报出了10个数,真正自由的信息只有9个。这就是 n−1。

为什么样本方差恰好是 n−1?
s2=1n−1∑i=1n(xi−x‾)2s^{2}=\frac{1}{n-1}\sum_{i=1}^{n}\left( x_{i}-\bar{x} \right)^{2}

为什么分母是 n−1 而不是 n?两层原因,一层是直觉,一层是深刻:

直觉层(偏差的方向性):每个离差 (xi−x‾) (x_i-\bar{x}) 里都混着 x‾\bar{x},而 x‾\bar{x}是从这同一份数据里算出来的——数据整体上会向自己的均值”靠拢”,离差被系统性压小了。你可以验证一个恒等式:∑i=1n(xi−x‾)≡0 \sum_{i=1}^{n}\left( x_{i}-\bar{x} \right)\equiv 0 。这意味着 n 个离差只有 n−1 个是独立的,最后一个是被前 n−1 个决定的。你只有 n−1 份”新鲜的”偏差信息,却要拿它们估计总体方差。

深刻层(无偏性):用 n 做分母会系统性低估总体方差,数学上可以证明 E[1n∑i=1n(xi−x‾)2]=n−1nσ2 E\left[ \frac{1}{n}\sum_{i=1}^{n}\left( x_{i}-\bar{x} \right)^{2} \right]=\frac{n-1}{n}\sigma^{2} 。乘上nn−1\frac{n}{n-1}修正,就得到 s2s^{2} 的期望恰好等于 σ2\sigma^{2} ——这就是贝塞尔校正(n−1 的来历其实比 t 分布早:贝塞尔在1815年做天文测量时就用了)。

几何解释:自由度是”残差空间的维数”

这是费希尔的视角,也是最不直观的但最有解释力的一个。把你的 n 个数据点看成 n 维空间里的一个点:

  • “样本均值等于某值”是 n 维空间里的一个超平面约束
  • 离差向量 (x1−x‾,…,xn−x‾) \left( x_{1}-\bar{x},\dots ,x_{n}-\bar{x} \right) 全体构成一个 (n−1) 维的子空间(因为它垂直于 (1,1,…,1) 方向,且坐标和为零)
  • 所以那 n 个离差”住”在 n−1 维空间里,自然只有 n−1 份独立信息

这个几何图像能一举解释所有线性模型的自由度公式:回归里残差自由度 = n − p(p 个回归系数对应 p 个约束/超平面),ANOVA 里组间自由度 = k−1、组内自由度 = n−k,全是”残差空间维数”的特例。你画过的莱文检验示意图里,”绝对偏差再做 ANOVA”之所以有效,本质也是在这个几何框架里搬动度量。

一张表看遍常见自由度
场景自由度约束来自
样本方差n−1均值已知(1个约束)
单样本 t 检验n−1同上
两独立样本 t(等方差合并)n₁+n₂−2两个组均值
线性回归残差n−pp 个回归系数
一元线性回归(含截距)n−2截距+斜率
ANOVA 组间k−1k 个组均值
ANOVA 组内n−k同上
卡方独立性检验(r−1)(c−1)行合计+列合计
F 检验(两个方差比)(n₁−1, n₂−1)分子分母各自的均值约束
历史:这个概念是怎么长出来的
  • 1815年,贝塞尔在天文观测的误差分析里第一次用了 n−1 的修正(他称之为”减少的观测数”)
  • 1908年,戈塞特的 t 曲线是按样本量 n 参数化的——他还没意识到那个自然参数其实是 n−1
  • 1915年,费希尔在推导相关系数的精确分布时,系统引入了”自由度”的语言,并在1920年代明确以 ν = n−1 重写了 t 分布。“n 还是 n−1″之争,本质上是”以样本为中心”还是”以信息为中心”两种视角之争,费希尔赢了,因为几何视角下 ν 才是那个刻画曲线形状的参数(t 曲线的尾部厚度完全由 ν 决定,与 n 只是差一个常数的关系)
  • 顺便:这就是为什么戈塞特的 z 和费希尔的 t 只差一个 √(n−1)——我们上一轮已经用他论文里的原始数值验证过这个换算了
几个”反直觉”的进阶点

1. 自由度可以是小数。 韦尔奇检验的自由度用那个著名的近似公式:ν≈(s12n1+s22n2)2(s12/n1)2n1−1+(s22/n2)2n2−1 \nu \approx \frac{\left( \frac{s_{1}^{2}}{n_{1}}+\frac{s_{2}^{2}}{n_{2}} \right)^{2}}{\frac{\left( s_{1}^{2}/n_{1} \right)^{2}}{n_{1}-1}+\frac{\left( s_{2}^{2}/n_{2} \right)^{2}}{n_{2}-1}}

算出来的常常是 23.7 这样的非整数。这和”维数必须是整数”的几何直觉不矛盾——它是两个卡方变量的”等效维数”(韦尔奇-萨特思韦特近似的本质:找另一个卡方分布去逼近两个卡方之和的分布,被逼近的那个卡方的维数可以非整数)。你博客里写过布朗-福赛思检验用中位数——在 Welch 思路下, Welch + 中位数版本的异方差稳健检验,自由度同样走这个公式。

2. 自由度越大,t 越接近正态。 t 曲线比正态”尾部更厚”,厚的原因正是”用 s 代替 σ 引入的额外不确定性”——s 本身是从同一份数据估的,在小样本里 s 可能严重偏离 σ,所以尾部要留余量。n 越大,s 越可靠,余量越小;ν→∞ 时,t 的方差(ν/(ν−2))趋近 1,曲线退化为标准正态。这就是不确定性的度量本身带着不确定性这个哲学直觉的数学表达。

3. 自由度 ≠ 样本量,但永远 ≤ 样本量。 每估一个参数就锁死一个方向。所以”自由度=20″意味着你名义上有20份独立信息——哪怕原始数据有1000行(比如回归里有980个参数要估)。这也是为什么模型越复杂,同样的数据越”不经用”——这是过拟合在自由度语言下的表达。

4. 现代统计里的自由度早已超出”n−k”框架。 混合效应模型里的”有效自由度”(Kenward-Roger 校正)、非参数bootstrap里的”经验自由度”、深度学习里有人尝试用”有效参数个数”来推广这个概念——自由度的核心始终是那句:你的推断建立在多少份真正独立的证据之上。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注