はじめに
分散を $n-1$ で割る理由は、暗記事項として説明されることが多いですが、実際には定数モデルに対する最小二乗法をそのまま計算すると自然に現れる量として理解できます。
ここでは、その流れをできるだけ素直に追ってみます。
問題設定
独立同分布な観測値 $x_i$($i=1,\dots,n$)が
x_i = a + \varepsilon_i
と表されるとします。
誤差 $\varepsilon_i$ は
\mathbb{E}[\varepsilon_i] = 0, \qquad
\mathrm{Var}(\varepsilon_i) = \sigma^2
を満たすと仮定します。
定数モデルに対する最小二乗法
未知パラメータ $a$ に対して、次の最小二乗問題を考えます。
\hat a = \arg\min_a \sum_{i=1}^n (x_i - a)^2
この最小化問題の解は
\hat a = \bar{x}
となり、最小二乗法によるベストフィットは標本平均になります。
一例として、30 個のデータ点に対して最小二乗フィットを行った結果を示します。
Pythonの描画コードはこちら
import numpy as np
import matplotlib.pyplot as plt
# 再現性のため乱数シードを固定
np.random.seed(0)
# 真の定数パラメータと誤差
a_true = 2.0
sigma = 1.0
n = 30
# データ生成(x_i = a + ε_i)
x = a_true + sigma * np.random.randn(n)
# 最小二乗解(= 標本平均)
a_hat = np.mean(x)
# 可視化
plt.figure(figsize=(6, 4))
plt.scatter(np.arange(n), x, label="Observed data $x_i$")
plt.axhline(a_true, ls="--", c="k", label="True constant $a$")
plt.axhline(a_hat, c="C3", label="Least-squares fit $\\hat a = \\bar{x}$")
plt.xlabel("Data index $i$")
plt.ylabel("Observed value $x_i$")
plt.legend()
plt.tight_layout()
# 保存
plt.savefig("ls_fit.png", dpi=150, bbox_inches="tight")
plt.show()
図中の赤線は、最小二乗法によって求めた推定値 $\hat a=\bar{x}$ を表しています。
この値を基準に残差を定義すると、二乗和が最小になるように定数 $a$ が選ばれていることになります。
その結果、この推定値を用いて分散を評価すると、真の平均 $a$ を基準にした場合と比べて、残差は必ず小さくなります。
この「残差が小さくなる」という性質が、分散評価において $n-1$ が現れる理由と深く関係しています。次のセクションでは、この点をもう少し詳しく見ていきます。
残差平方和(RSS)
得られた推定値 $\hat a=\bar{x}$ を用いると、残差平方和(Residual Sum of Squares, RSS)は
\mathrm{RSS}
= \sum_{i=1}^n (x_i - \hat a)^2
= \sum_{i=1}^n (x_i - \bar{x})^2
と書けます。
ここで、残差はもともとの誤差分散 $\sigma^2$ によってスケールされていると考えられるため、標準化として
\frac{\mathrm{RSS}}{\sigma^2}
を考えます。
自由度と分布
この問題では、データ点数が $n$、推定したパラメータ数が $1$(定数 $a$)であるため、残差が持つ自由度は $n-1$ になります。
したがって、
\frac{\mathrm{RSS}}{\sigma^2} \sim \chi^2_{n-1}
が成り立ちます。
カイ二乗分布の性質($\mathbb{E}[{\chi^2_{n-1}}]=n-1$)から、
\mathbb{E}[\mathrm{RSS}] = (n-1)\sigma^2
が得られます。
不偏分散
ここで
s^2 \equiv \frac{\mathrm{RSS}}{n-1}
と定義すると、
\mathbb{E}[s^2] = \sigma^2
となり、$s^2$ は母分散 $\sigma^2$ の不偏推定量になります。これが、いわゆる不偏分散です。
補足:定性的な理解
1. 「当てはめた分だけ」残差は小さくなりやすい
$\hat a=\bar{x}$ は、$\sum_i (x_i-a)^2$ を 最小にするように選ばれています。
つまり、同じデータに対して「二乗和ができるだけ小さくなる位置」を意図的に選んでいることになります。
そのため、
- 「標本平均とのズレを測る($\bar{x}$ を使う)」
- 「真の平均 $a$ からのズレを測る(本来は未知)」
を比べると、前者のほうが二乗和は小さくなりやすく、結果として分散が 小さめに評価される方向の偏りが入りやすい、と考えることができます。
2. 推定誤差を使って分散を評価しているという見方
別の角度から見ると、$\hat a$ はデータから推定した量であり、不確かさを持っています。
この不確かさは、いわゆる 標準誤差 に対応し、スケールとしては $\sigma/\sqrt{n}$ 程度です。
分散を評価する際には、本来、
- 各データ点に含まれる誤差($\sigma^2$)
- 推定量 $\hat a$ 自身の不確かさ
の両方を含めた 誤差伝搬 を考える必要があります。
しかし実際には、$\hat a$ を最小二乗法で決めたうえで残差を定義しているため、この時点では $\hat a$ の不確かさを考慮していません。
その結果、$\hat a$ を既知の値であるかのように扱って分散を評価することになり、残差のばらつきは小さく出ます。このため、残差から直接分散を評価すると、分散がやや過小評価されやすくなる、という見方ができます。
まとめ
- 定数モデル $x_i=a+\varepsilon_i$ に最小二乗法を適用すると、推定値は標本平均になる
- そのときの残差平方和は $\sum (x_i-\bar{x})^2$ で与えられる
- 残差は自由度 $n-1$ のカイ二乗分布に従い、期待値は $(n-1)\sigma^2$ となる
- この性質から、$\mathrm{RSS}/(n-1)$ が自然に不偏分散として現れる
分散を $n-1$ で割る理由は、特別な補正というよりも、最小二乗法における自由度の構造をそのまま反映した結果として理解できます。
参考記事
