🎓 レベル:標準 | 重要度:B(推奨)
📎 前提:ブートストラップ法 | 統計:ブートストラップ・ジャックナイフ
要点(BLUF)
- ジャックナイフ法:データを1個ずつ抜いて統計量を 回計算し、そのばらつきから標準誤差を、平均からのずれからバイアスを推定します。
- ブートストラップより古く、リサンプリングが決定的(乱数不要・ 通りで尽きる)。とくにバイアス推定に強い。
- 平均の標準誤差が理論値と一致(0.1411)。さらに、ジャックナイフのバイアス補正が分散の 補正をちょうど復元することを確かめます。
1. 一個抜き(leave-one-out)
ジャックナイフは、 番目を除いた 個で統計量を計算します。これを全 について行い、 個の部分推定量 を得ます。
これらのばらつきから標準誤差を、平均と元推定量の差からバイアスを見積もります。ブートストラップが「復元抽出をランダムに 回」なのに対し、ジャックナイフは「一個抜きを決定的に 回」——乱数を使わないので結果が一意です。
2. 標準誤差の推定
ジャックナイフ標準誤差は次式( は部分推定量の平均):
係数 は、一個抜きが標本をほんの少ししか変えない(差が小さい)ことを補正する増幅項です。平均の標準誤差で理論値と一致するか確かめます。
import numpy as np
# 乱数シードを固定
rng = np.random.default_rng(51)
data = rng.exponential(2.0, 200)
n = len(data)
# 一個抜きで平均を再計算
jack = np.array([np.delete(data, i).mean() for i in range(n)])
jack_mean = jack.mean()
se_jack = np.sqrt((n-1)/n * np.sum((jack - jack_mean)**2))
print(f"ジャックナイフSE(平均)= {se_jack:.4f}")
print(f"理論SE(平均) = {data.std(ddof=1)/np.sqrt(n):.4f}")
出力:
ジャックナイフSE(平均)= 0.1411
理論SE(平均) = 0.1411
出力の意味:ジャックナイフ標準誤差 0.1411 が理論値 = 0.1411 と完全一致。実は平均に対しては、ジャックナイフ SE は標本標準誤差と代数的に厳密に一致します(一個抜き平均が線形なため)。乱数も反復も使わずに標準誤差が出る点が、ジャックナイフの簡便さです。
3. バイアス推定:n−1 補正を復元する
ジャックナイフの真骨頂はバイアス推定です。推定量のバイアスは
で見積もれます。これを、**分散の最尤推定( 版、バイアスあり)**に適用すると、ジャックナイフが自動で 補正(不偏分散)を導くことを確認します。
import numpy as np
# 乱数シードを固定
rng = np.random.default_rng(51)
data = rng.exponential(2.0, 200)
n = len(data)
theta_hat = data.var(ddof=0) # 1/n の分散(バイアスあり)
jack_var = np.array([np.delete(data, i).var(ddof=0) for i in range(n)])
bias_jack = (n-1) * (jack_var.mean() - theta_hat)
print(f"プラグイン分散(1/n) = {theta_hat:.4f}")
print(f"ジャックナイフ バイアス推定 = {bias_jack:.4f}")
print(f"バイアス補正後 = {theta_hat - bias_jack:.4f}")
print(f"不偏分散(1/(n-1)) = {data.var(ddof=1):.4f}")
出力:
プラグイン分散(1/n) = 3.9610
ジャックナイフ バイアス推定 = -0.0199
バイアス補正後 = 3.9809
不偏分散(1/(n-1)) = 3.9809
出力の意味: の分散 3.9610 は真の分散をわずかに過小評価する(負のバイアス)。ジャックナイフはバイアスを と推定し、補正すると 3.9809——これは で計算した不偏分散とぴったり一致します。ジャックナイフが、教科書の「 で割る」というバイアス補正を、式を知らなくてもデータから自動で再発見したわけです。これがジャックナイフがバイアス推定に使われる理由です。
4. ブートストラップとの使い分け
| ジャックナイフ | ブートストラップ | |
|---|---|---|
| リサンプル | 一個抜き(決定的・ 通り) | 復元抽出(ランダム・ 回) |
| 乱数 | 不要 | 必要 |
| 得意 | バイアス推定・軽量 | 分布全体・信頼区間 |
| 弱点 | 非滑らかな統計量(中央値)で不正確 | 計算量が大きい |
中央値のような滑らかでない統計量ではジャックナイフは標準誤差を誤ります(一個抜きでは中央値がほとんど動かない)。そこはブートストラップ(ブートストラップ法)の方が信頼できます。ジャックナイフは「ブートストラップの線形近似」と見なせ、両者は親戚です。
数式の直観的意味
ジャックナイフは「**各データ点が推定量にどれだけ影響しているか(影響関数)を、抜いてみることで測る」操作です。 を抜いたときの推定量の動き が、点 の「てこの強さ」。標準誤差はこのてこの二乗和、バイアスはてこの平均的なずれから出ます。 倍するのは、一個抜きが標本を しか変えないので、その微小変化を母集団スケールに引き伸ばすため。分散の 補正を復元するのは偶然ではなく、ジャックナイフが「サンプルサイズへの依存( の項)」を一個抜きの差分で捉えているから——バイアスの主要項が に比例する推定量に対して、ジャックナイフはその項を正確に打ち消します。
⚠️ よくある誤解・落とし穴
- 「中央値にも正確」ではない:中央値・分位点など非滑らかな統計量ではジャックナイフ SE は不正確。ブートストラップを使うべき。
- 「ジャックナイフはブートストラップの上位互換」ではない:得意分野が違う。バイアスはジャックナイフ、分布はブートストラップ。
- 「乱数が要る」ではない:一個抜きは決定的。同じデータなら常に同じ結果(再現性の心配なし)。
- 「 や の係数は飾り」ではない:これらがバイアス補正・標準誤差の正しさの要。落とすと値がずれます。
- 「推定論をここで展開」ではない:影響関数・一致性の理論は統計の本拠(ブートストラップ・ジャックナイフ)。ここは手続きと数値挙動(境界)。
対応シミュレーション参照
本文の平均のジャックナイフSE(理論と一致)とバイアス推定(分散の 補正を復元・default_rng(51))。
関連ノート
- ブートストラップ法(前提・親戚のリサンプリング)
- 並べ替え検定(permutation test)(次のトピック・検定のリサンプリング)
- ブートストラップ信頼区間(区間推定)
- ブートストラップ・ジャックナイフ(統計・推定論)
- 第8章 ブートストラップとリサンプリング 目次
- シミュレーション・モンテカルロ法 全体目次