論文一覧に戻る 📚 用語集トップ 🗺 概念マップ
📚 用語解説
📚 用語解説
区間推定
Interval Estimation
推測統計

🔖 キーワード索引

本ページで扱うキーワード群。 各チップから該当セクションへジャンプできる。

📍 文脈 🎨 直感 📐 数式 🔬 数式を言葉で読み解く 🧮 実値計算 🐍 Python ⚠️ 落とし穴 🌐 関連手法 📚 関連教材 推定全般 信頼区間 点推定

📍 文脈ボックス: あなたが今見ているもの

あなたが今見ているのは 区間推定 (interval estimation) の用語ページである。 区間推定は、 母数 (母平均・母比率・母分散など) を「点」ではなく「範囲」で推定する手法で、 推定の不確かさを定量的に伝える役割を持つ。 上位概念は 推定 (estimation)、 対概念は 点推定 (point estimation)、 出力結果は 信頼区間 (confidence interval) として扱われる。 SSDSE-B-2026 の都道府県データを用いて、 全国平均が「どの範囲に含まれる可能性が高いか」を実際に計算する。

🎨 直感で掴む: 「平均は 100±5」の意味

点推定が「平均は 100」と一点で答えるのに対し、 区間推定は「平均は 95〜105 の範囲にあると 95% の確信を持って言える」と答える。 サンプルサイズが小さい・ばらつきが大きいほど区間は広がり、 信頼度を上げる (90→99%) ほど区間は広くなる。

日常的なたとえ: 体重計が「68.5 kg」と表示するのは点推定。 「±0.3 kg の誤差で 68.2〜68.8 kg」と幅で答えるのが区間推定。 後者は誤差の存在を率直に開示する。

SSDSE-B-2026 の 47 都道府県人口から「全国 (47 都道府県という母集団) の平均人口」の 95% 信頼区間を求めれば、 全国平均はおおむね 180〜350 万人の範囲内に収まる、 という形で表現できる。

📐 数式または定義

母分散 $\sigma^2$ が既知 (または $n$ が十分大きい) 場合、 母平均 $\mu$ の $100(1-\alpha)\%$ 信頼区間は次で与えられる:

$$\bar{x} - z_{\alpha/2} \cdot \frac{\sigma}{\sqrt{n}} \;\le\; \mu \;\le\; \bar{x} + z_{\alpha/2} \cdot \frac{\sigma}{\sqrt{n}}$$

母分散が未知 (実務の大半) の場合は、 標本標準偏差 $s$ と $t$ 分布 (自由度 $n-1$) を用いる:

$$\bar{x} \pm t_{\alpha/2, n-1} \cdot \frac{s}{\sqrt{n}}$$

🔬 数式を言葉で読み解く

記号読み意味
$\bar{x}$エックスバー標本平均 — 観測したデータの平均値
$\mu$ミュー母平均 — 推定したい未知の真値
$\sigma$シグマ母標準偏差 (既知/未知で式が変わる)
$s$エス標本標準偏差 — 観測データから計算した SD
$n$エヌ標本サイズ — 観測した個数 (47 都道府県なら n=47)
$z_{\alpha/2}$ゼット アルファ半標準正規分布の臨界値 (95% なら 1.96)
$t_{\alpha/2,n-1}$ティー$t$ 分布の臨界値 (自由度 $n-1$、 $n=47$ 95% なら約 2.013)
$\sigma/\sqrt{n}$標準誤差標本平均のばらつき = SE。 $n$ が増えると区間が縮む

$\bar{x}$ を中心に、 標準誤差 $s/\sqrt{n}$ に臨界値 $t_{\alpha/2}$ を掛けた幅を上下に取る — これが信頼区間の正体。 $n$ が 4 倍になれば区間幅は半分、 信頼度を 95%→99% に上げれば臨界値が 1.96→2.58 に増え区間は広がる。

🧮 実値で計算してみる (SSDSE-B-2026 都道府県人口)

SSDSE-B-2026 の総人口 (A1101) 47 都道府県値から、 「全国 (47 都道府県を母集団とみなす) 平均人口」の 95% 信頼区間を算出する。 標本値の要約は以下:

統計量値 (人)
標本サイズ $n$47
標本平均 $\bar{x}$2,645,809
標本標準偏差 $s$2,797,551
標準誤差 $SE = s/\sqrt{n}$408,065
$t_{0.025, 46}$2.013
95% CI 下限1,824,417
95% CI 上限3,467,200

→ 全国の都道府県平均人口は 約 182 万〜347 万人 の範囲に 95% の信頼度で収まる。 区間幅 (約 164 万人) は東京・神奈川などの大都市と鳥取・島根などの小規模県で値の散らばりが極めて大きいことの反映である。

🐍 Python 実装

(1) scipy.stats.t.interval で 95% 信頼区間

🎯 このコードでやること: SSDSE-B-2026 の総人口 (A1101) について、 scipy.stats.t.interval を使って母平均の 95% 信頼区間を計算する。

📥 入力データ (SSDSE-B-2026 抜粋):

Code 都道府県 A1101 (総人口) R01000 北海道 5092000 R02000 青森県 1184000 R13000 東京都 14086000 R27000 大阪府 8763000 R47000 沖縄県 1468000 …(全 47 行)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import pandas as pd
from scipy import stats

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
pop = df[df['SSDSE-B-2026'] == 2023]['A1101'].dropna()

ci = stats.t.interval(0.95, df=len(pop)-1,
                      loc=pop.mean(), scale=stats.sem(pop))
print(f"標本平均: {pop.mean():,.0f}")
print(f"95% CI : ({ci[0]:,.0f}, {ci[1]:,.0f})")

📤 実行すると次の出力が得られる:

標本平均: 2,645,809 95% CI : (1,824,417, 3,467,200)

💬 結果の読み方: 47 都道府県の平均人口は約 265 万人で、 母平均 (この場合「47 都道府県という母集団の理論的な平均」) は 95% の確率で 182 万〜347 万人の範囲にある、 と結論できる。

(2) ブートストラップで CI を求める (分布仮定なし)

🎯 このコードでやること: 同じ A1101 データを 10,000 回ブートストラップ再標本化し、 平均の経験分布から 2.5% / 97.5% 分位を取って 95% CI を構築する (t 分布を仮定しない手法)。

📥 入力データ: 上と同じ pop シリーズ (47 都道府県の総人口)。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from scipy import stats
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
pop = df[df['SSDSE-B-2026'] == 2023]['A1101'].dropna().values

res = stats.bootstrap((pop,), lambda x, axis: x.mean(axis=axis),
                      confidence_level=0.95, n_resamples=10000,
                      method='percentile')
print(f"Bootstrap 95% CI: ({res.confidence_interval.low:,.0f}, {res.confidence_interval.high:,.0f})")

📤 実行例:

Bootstrap 95% CI: (1,928,000, 3,517,000)

💬 結果の読み方: t 分布版 (182〜347 万) とほぼ同じ範囲。 ブートストラップは分布を仮定しないので、 歪んだデータ (人口は東京が突出した右裾分布) に対しても妥当な区間が得られる。

(3) 信頼水準を変えた感度分析

🎯 このコードでやること: 信頼水準を 90%/95%/99% と変えて、 区間幅がどう変化するかを比較する。

📥 入力データ: 上と同じ pop (47 都道府県人口)。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import pandas as pd
from scipy import stats

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
pop = df[df['SSDSE-B-2026'] == 2023]['A1101'].dropna()

for conf in [0.90, 0.95, 0.99]:
    ci = stats.t.interval(conf, df=len(pop)-1,
                          loc=pop.mean(), scale=stats.sem(pop))
    width = ci[1] - ci[0]
    print(f"{conf:.0%} CI: ({ci[0]:,.0f}, {ci[1]:,.0f}) 幅={width:,.0f}")

📤 実行例:

90% CI: (1,960,806, 3,330,811) 幅=1,370,004 95% CI: (1,824,417, 3,467,200) 幅=1,642,784 99% CI: (1,549,333, 3,742,284) 幅=2,192,951

💬 結果の読み方: 信頼度を上げるほど区間幅は単調に拡大する。 「確実性 (高い信頼水準)」と「情報量 (狭い区間)」はトレードオフ関係にある。

(4) サンプルサイズと区間幅の関係

🎯 このコードでやること: 47 都道府県のうち、 ランダムに $n$ 個だけ取り出して 95% CI を計算し、 $n$ が増えると区間幅がどう縮むかを示す (理論的には $1/\sqrt{n}$ で減少)。

📥 入力データ: SSDSE-B-2026 から A1101 (総人口) を読み込み、 サンプルサイズ 5, 10, 20, 47 で部分標本化。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import pandas as pd
from scipy import stats

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
pop_all = df[df['SSDSE-B-2026'] == 2023]['A1101'].dropna()

for n in [5, 10, 20, 47]:
    sub = pop_all.sample(n=n, random_state=0)
    ci = stats.t.interval(0.95, df=n-1,
                          loc=sub.mean(), scale=stats.sem(sub))
    print(f"n={n:>2}: 平均={sub.mean():>10,.0f} 95%CI幅={ci[1]-ci[0]:>10,.0f}")

📤 実行例:

n= 5: 平均= 1,256,200 95%CI幅= 2,166,143 n=10: 平均= 2,970,500 95%CI幅= 4,125,632 n=20: 平均= 2,751,800 95%CI幅= 2,495,839 n=47: 平均= 2,645,809 95%CI幅= 1,642,784

💬 結果の読み方: サンプルサイズが増えるにつれて区間幅が縮む傾向が確認できる (実値はランダム性で多少前後)。 区間を半分にするにはサンプル数を 4 倍にする必要がある — これが「平方根則」の威力。

⚠️ 落とし穴

  1. 「95% の確率で母平均が区間に入る」は誤り: 正しくは「同じ手順で何度も標本を取ると 95% の試行で構築した区間が母平均を含む」。 母平均は固定の定数で、 区間が確率的に動く。
  2. 信頼区間 vs 予測区間の混同: 信頼区間は「母平均」の範囲、 予測区間は「次の 1 観測値」の範囲。 後者の方が必ず広くなる。 「次の都道府県の人口は…」と言いたいなら予測区間。
  3. n < 30 で正規近似: $n$ が小さいときに $z$ ではなく $t$ を使うべき。 $n=47$ なら両者ほぼ同じだが、 $n=10$ で $z=1.96$ を使うと区間が狭すぎになる。
  4. 母分散既知/未知の取り違え: 実務でほぼ常に母分散は未知。 教科書例題で「$\sigma$ が与えられている」設定が刷り込まれ、 実データで $\sigma$ を $s$ で代用しつつ $z$ を使う誤りが起きやすい。
  5. 大標本での過信: $n$ が大きいと区間は極めて狭くなるが、 系統誤差 (測定バイアス・サンプリングバイアス) は減らない。 「狭い区間 = 高い精度」ではなく「狭い区間 = 高い偶然誤差の制御」にすぎない。

📚 関連グループ教材・関連用語

前提となる概念:

並列の概念:

発展となる概念:

📚 グループ教材:

  • 推定 (estimation) — 推定全般の上位概念
  • 統計的推測 — 推定と検定を含むトピック
  • 相関と因果 — 区間推定を実データで体験する基準ページ

💡 30秒で分かる結論 — 区間推定

🍰 まずはやさしく

答えを範囲で予想する方法です。

正解がどこにあるかを探るために使います。

テストの平均点をだいたいこの範囲だと予想します。

結論と計算の方法について読みましょう。

最も忙しい読者のために、 まず結論だけまとめます。 詳細は以下のセクションへ:

📍 文脈 — どこで出会うか

🍰 まずはやさしく

データの報告でよく使われる書き方です。

数値の不確かさをセットで伝えるために使います。

スマホアプリの利用時間を報告する時に役立ちます。

どこでこの考え方が出てくるかを確認しましょう。

論文で「平均 50.3 (95% CI: 48.1–52.5)」のような表記を見たことがあるはず。 「点推定 + 不確実性」を 1 つのセットで示すのが現代統計の標準。 p 値より 解釈しやすい ため近年は CI 推奨派が増加。

このページの読み方:まず 30秒結論直感 を読み、 必要に応じて 数式計算例落とし穴 に進んでください。

🎨 直感で掴む

🍰 まずはやさしく

的に当てるのではなく網を投げるイメージです。

正解が含まれる範囲を知るために使います。

部活のメンバーの身長をだいたいで予想します。

直感的にどのような仕組みかを見ていきましょう。

「魚の平均サイズを 100 匹からの標本で推定」したい。

区間は「真の平均がどこにありそうか」の 不確実性 を示します。 n が増えるほど区間は狭くなり、 推定精度が上がる。

📐 定義・数式

🍰 まずはやさしく

範囲を決めるための計算ルールです。

正確な幅を導き出すために使います。

買い物で予算の幅を決める時に似ています。

具体的な数式と使いかたを勉強しましょう。

【正規近似の信頼区間】
$$\bar{X} \pm z_{\alpha/2} \cdot \frac{s}{\sqrt{n}}$$
$z_{0.025} = 1.96$ で 95% CI、 $s$=標本標準偏差、 $n$=サンプルサイズ
【信頼水準の意味】
$$P(\bar{X} - z_{\alpha/2} \cdot \mathrm{SE} \le \mu \le \bar{X} + z_{\alpha/2} \cdot \mathrm{SE}) = 1 - \alpha$$
「同じ手順で多数の標本を取れば、 そのうち $(1-\alpha)$ の区間が真値 $\mu$ を含む」

📐 サンプルサイズ設計 — 「区間幅から逆算する」

実務でよくある問い「区間幅を ±X にしたい。 何件サンプルすればいい?」を解く。

公式

$$n \geq \left( \frac{z_{\alpha/2} \cdot \sigma}{E} \right)^2 \quad (E = \text{許容誤差})$$

数式を言葉で読み解くと、 「$n$ は許容誤差 $E$ の 2 乗に反比例」。 つまり、 区間幅を半分にしたければサンプルは 4 倍必要。

このコードでやること: SSDSE-B-2026 都道府県データから推定した σ ≈ 2,797,551 を使い、 「95% CI 幅を ±500,000 にするには何件必要か」を計算する。

📥 入力データ: 標本標準偏差 s = 2,797,551(SSDSE-B-2026 47 県人口から計算)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from scipy import stats
import numpy as np

sigma_est = 2_797_551  # SSDSE-B-2026 から
z = stats.norm.ppf(0.975)  # 1.96

# 許容誤差 E ごとに必要 n を計算
print(f'{"許容誤差 E":>14} | {"必要 n":>8}')
print('-' * 27)
for E in [100_000, 200_000, 300_000, 500_000, 800_000, 1_000_000]:
    n_req = np.ceil((z * sigma_est / E) ** 2)
    print(f'{E:>14,} | {int(n_req):>8}')

📤 実行結果:

許容誤差 E | 必要 n --------------------------- 100,000 | 3007 200,000 | 752 300,000 | 335 500,000 | 121 800,000 | 47 1,000,000 | 31

💬 結果の読み方: 47 県の現在の σ 推定値で、 ±500,000 の精度が欲しいなら 121 件必要 → 都道府県を超えた市町村レベルのデータが必要になる。 ±200,000 まで絞り込みたいなら 752 件 → 全市町村 (1700 個) でほぼ十分。

🔬 記号・要素の読み解き

$\bar{X}$(標本平均)
点推定値。 区間の中心。
SE(標準誤差)
$s/\sqrt{n}$。 「平均値の不確実性」を測る。 n 増 → SE 減 → 区間狭まる。
$z_{\alpha/2}$
正規分布の臨界値。 95% なら 1.96、 99% なら 2.576。
$\alpha$(有意水準)
0.05 が慣習。 CI の信頼水準 = 1 − α。
マージン・オブ・エラー
$z_{\alpha/2} \cdot \mathrm{SE}$。 区間の半幅。

🔬 区間推定を「数式を言葉で読み解く」7 ステップ完全版

本セクションでは、 区間推定 $\bar{x} \pm z_{\alpha/2} \cdot \sigma / \sqrt{n}$ の式を、 構成要素ごとに「言葉」へ翻訳する。 計算手順だけでなく、 「なぜそれを掛けるのか」「なぜ √n で割るのか」まで言語化することで、 公式の暗記ではなく「意味の把握」が可能になる。

① 中心 $\bar{x}$ — 「最良の単一推定値」

$\bar{x}$(標本平均)は、 母平均 $\mu$ の不偏推定量。 「点推定としてはこれが最良」という意味で区間の中心に置く。 ただし「ここに $\mu$ が必ずある」のではなく、 「ここを中心に分布が広がっている」と読む。

② 標準誤差 $SE = \sigma / \sqrt{n}$ — 「平均値の不確実さ」

個別観測値の散らばりは $\sigma$ だが、 標本平均の散らばりはそれより小さい。 中心極限定理により、 標本平均 $\bar{X}$ の標準偏差は $\sigma / \sqrt{n}$ になる。 「$n$ が 4 倍になると不確かさが 2 倍縮む」は √ の効果。

数式を言葉で読み解くと、 「$\sqrt{n}$ で割る」=「サンプルが増えるほど平均は安定する。 だが、 縮むスピードは線形ではなく、 平方根の速さ」。 これが調査統計学で「サンプルサイズを 2 倍にしても精度は √2 ≒ 1.41 倍しか上がらない」と言われる根拠。

③ 信頼係数 $z_{\alpha/2}$ — 「カバー率の番人」

95% 信頼区間なら $z_{0.025} = 1.96$、 99% なら $z_{0.005} = 2.576$、 90% なら $z_{0.05} = 1.645$。 標準正規分布の両側で「外側に $\alpha$ だけ残す」分位点。 「区間が母平均をカバーする確率」を制御するのがこの係数の役割。

信頼度$\alpha$$z_{\alpha/2}$対応する分位点区間幅の目安
90%0.101.645$P(Z>1.645)=0.05$最狭(リスク高め)
95%0.051.960$P(Z>1.96)=0.025$標準(実務デフォルト)
99%0.012.576$P(Z>2.576)=0.005$広め(高信頼度)
99.9%0.0013.291$P(Z>3.29)=0.0005$医療等の重要場面

④ 母分散未知時の $t_{\alpha/2, n-1}$ — 「不確実性の二重補正」

$\sigma$ が分からないとき、 標本標準偏差 $s$ で代用する。 だが $s$ 自体に推定誤差があるため、 $z$ よりやや広い分位点が必要。 これが $t$ 分布。 自由度 $df = n-1$。

$t$ 分布は $n$ が大きいほど正規分布に近づく。 「$n \geq 30$ で実用上 $z$ と区別不要」が経験則。 SSDSE-B-2026 (47 都道府県) は $df=46$ で $t_{0.025, 46} \approx 2.013$($z=1.96$ よりわずかに広い)。

🔬 数式を言葉で読み解く — 信頼区間 vs 予測区間 vs ベイズ信用区間の違い

区間推定では「信頼区間 (Confidence Interval, CI)」「予測区間 (Prediction Interval, PI)」「信用区間 (Credible Interval, CrI)」の 3 つが混同されがちだが、 解釈もスコープも異なる。 SSDSE-B-2026 47 都道府県データを題材に、 3 つを並べて比較する。

区間の種類対象解釈幅の傾向
信頼区間 CI母平均 μ「同じ手順を 100 回繰り返すと 95 回はこの区間に μ が入る」狭い(√n に反比例)
予測区間 PI新しい個別観測値 y_new「次に観測される値の 95% がこの範囲」広い(個体ばらつき含む)
信用区間 CrIパラメータ θ の事後分布「与えられたデータの下で μ が 95% の確率でこの範囲」事前分布次第

このコードでやること: SSDSE-B-2026 の 47 都道府県の総人口 (A1101) について、 信頼区間と予測区間を同時に出力し、 幅の差を比較する。

📥 入力データ (SSDSE-B-2026 抜粋、 47 行):

Code,都道府県,A1101(総人口)
R01000,北海道,5092
R13000,東京都,14086
R27000,大阪府,8763
...
(47 行)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import pandas as pd
import numpy as np
from scipy import stats

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
pop = df[df['SSDSE-B-2026'] == 2023]['A1101'].dropna().values / 1000  # 総人口を千人単位に変換
n = len(pop); mean = pop.mean(); sd = pop.std(ddof=1)
se = sd / np.sqrt(n)

# 信頼区間 (母平均 μ の 95% CI)
ci_lo, ci_hi = stats.t.interval(0.95, df=n-1, loc=mean, scale=se)

# 予測区間 (新規 1 県の値の 95% PI)
pi_se = sd * np.sqrt(1 + 1/n)
pi_lo, pi_hi = stats.t.interval(0.95, df=n-1, loc=mean, scale=pi_se)

print(f'平均: {mean:.1f} 千人')
print(f'95% CI: [{ci_lo:.1f}, {ci_hi:.1f}] 幅={ci_hi-ci_lo:.1f}')
print(f'95% PI: [{pi_lo:.1f}, {pi_hi:.1f}] 幅={pi_hi-pi_lo:.1f}')

📤 実行例:

平均: 2645.8 千人
95% CI: [1824.4, 3467.2] 幅=1642.8
95% PI: [-3045.0, 8336.6] 幅=11381.5

💬 結果の読み方: CI の幅 1,643 千人に対し、 PI の幅は 11,382 千人で約 7 倍。 CI は「47 県平均がどこにあるか」の不確かさだけだが、 PI は「次に出てくる 1 県の値」をカバーするため個体差(東京 1409 万、 鳥取 54 万)を含む。 PI 下限が負になっているのは正規近似の限界 → 対数変換や分位点ブートストラップが必要。

📊 図で掴む — 区間推定の 3 つの基本ビュー

区間推定の「振る舞い」を直感で捉えるには、 SSDSE-B-2026 の実データを 3 枚の標準図に当てはめて眺めると速い。 ここでは 散布図・ヒストグラム・箱ひげ図の 3 枚で、 信頼区間がデータのどの側面を要約しているかを読み解く。

図 1: 散布図 — 標本平均と母平均の関係を可視化

横軸を「都道府県の総人口 (A1101)」、 縦軸を「65歳以上人口 (A1303)」とした散布図。 信頼区間は線形回帰の傾きパラメータに対しても定義され、 図中の回帰直線まわりにシャドウとして描かれる。 標本がばらつく中で、 母回帰直線が「どの帯のどこかに収まるか」を視覚化する。

総人口と65歳以上人口の散布図(信頼区間つき)

図 1: SSDSE-B-2026 の総人口×65歳以上人口の散布図。 区間推定の対象が「点」ではなく「帯」になっていることがポイント。

図 2: ヒストグラム — 標本平均の分布と CI の関係

同じ母集団から繰り返し標本を取って平均を求めると、 標本平均は釣鐘型に分布する(中心極限定理)。 ヒストグラムの両側 2.5% を切った範囲が、 ほぼ 95% 信頼区間の幅に対応する。 標本サイズ n が増えるほど分布は痩せ、 区間幅は $1/\sqrt{n}$ で縮む。

標本平均の分布ヒストグラム

図 2: 47 都道府県データからブートストラップで 5,000 回再標本化した平均の分布。 両端の 2.5% を除いた範囲が 95% 信頼区間。

図 3: 箱ひげ図 — グループ別の中央値と区間推定

地方ブロック別(北海道/東北/関東/中部/近畿/中国/四国/九州)に賃金を箱ひげ図で並べると、 各群の中央値・四分位範囲の差が一目でわかる。 各群に対しブートストラップ CI(ノッチ)を加えると、 「中央値の差が偶然か」を視覚的に判断できる。 ノッチが重なれば差は不確実、 離れていれば有意性が示唆される。

地方ブロック別賃金の箱ひげ図(ノッチつき)

図 3: 地方別賃金の箱ひげ図。 ノッチが中央値の 95% CI、 重なり具合で群差の確からしさを判断する。

図から読み取る 3 つの教訓

🧠 理解度チェック — 区間推定 10 問

区間推定は「結果の数字」よりも「数字の解釈」を間違えやすい。 以下 10 問を自力で答え、 解答と照合しよう。 すべて SSDSE-B-2026 を念頭においた実務想定の設問である。

問題(自分の答えをノートに書いてから解答へ)

  1. 「95% 信頼区間 [820, 905] 万円」と出た。 これは「真の平均賃金がこの区間に入る確率が 95%」と説明してよいか。
  2. サンプルサイズ n を 4 倍にすると、 95% CI の幅は何倍になるか(その他条件同じ)。
  3. 信頼水準を 95% から 99% に上げると、 区間幅はどう変わるか。 メリット・デメリットは。
  4. 標本標準偏差 s が大きい県と小さい県で、 CI の幅はどちらが広いか。 直感的に説明せよ。
  5. 「信頼区間が 0 を跨いでいない」ことは、 「効果がある」と結論できる根拠になるか。
  6. 非対称な分布(賃金など右に長い裾)に対して、 t 区間と Bootstrap 区間のどちらが妥当か。
  7. 予測区間と信頼区間の幅、 どちらが広い? なぜ?
  8. 母比率(例: ある特性を持つ県の割合)の 95% CI を計算する公式を一行で書け。
  9. 複数群を比較したとき、 「CI が重なっているから差なし」は常に正しいか。
  10. ベイズ信用区間(credible interval)と頻度論信頼区間の根本的な違いは何か、 一文で書け。

解答と解説

  1. 誤り。 頻度論の解釈は「同じ手順で繰り返し標本を取れば、 そのうち 95% の区間が真値を覆う」。 個別の区間 [820, 905] そのものに対する「真値が入る確率」は 0 または 1 で、 確率では語れない。
  2. 幅は $1/\sqrt{4}=1/2$ 倍、 つまり半分になる。 4 倍の労力で精度は 2 倍にしかならない、 という収穫逓減を覚えること。
  3. 区間幅は広くなる(臨界値が 1.96→2.576)。 メリットは「真値を覆う頻度が上がる」、 デメリットは「結論が曖昧になる(広すぎて意思決定に使いにくい)」。
  4. s が大きい県の方が広い。 ばらつきが大きい現象は「平均をピンポイントで言い切れない」ため、 不確実性を反映して CI も広がる。
  5. 差の CI が 0 を跨がないなら、 有意水準 5% で「差なし」を棄却できる材料にはなる。 ただし効果量の大小とは別問題で、 「統計的に有意」と「実用的に意味がある」は混同しないこと。
  6. 分布が歪んでいるならBootstrap 区間(特に BCa)を使う。 t 区間は正規性を仮定するため、 歪みのあるデータでは被覆率が崩れる。
  7. 予測区間の方が広い。 信頼区間は「平均値の不確実性」、 予測区間は「平均の不確実性 + 個体の散らばり」を足し合わせるため。
  8. $\hat{p} \pm 1.96\sqrt{\hat{p}(1-\hat{p})/n}$(標本比率 ± 標準誤差の 1.96 倍)。 ただし n が小さいときは Wilson 区間が安全。
  9. 常には正しくない。 各群の CI 同士が重なっていても、 「差の CI」を計算すると 0 を跨がないことがある。 群差を見るときは差の CI を直接計算すること。
  10. 頻度論 CI は「手順の長期頻度」を保証、 ベイズ信用区間は「事後分布における真値の確率の所在」を表す。 後者は個別区間に対し直接「真値が入る確率 95%」と言える。

採点目安: 8 問以上正解で「区間推定を実務で説明できるレベル」、 5-7 問で「概念は OK、 落とし穴の反復学習が必要」、 4 問以下なら本ページの「⚠️ 落とし穴・拡張版」と「信頼区間 vs 予測区間」セクションを再読しよう。

🧮 実値で計算してみる

SSDSE-B 47 都道府県の TFR の母平均を区間推定:

解釈:「同じ手順で何度も標本を取り直したら、 そのうち 95% の区間が真の母平均を含む」。

🧮 数式に値を入れて手で計算する: 95% 信頼区間

合成データで母平均の信頼区間を計算する。

Step 1: 標本統計量

x̄ = 50, σ = 10, n = 100 SE = σ/√n = 10/10 = 1.0 z = 1.96 (95%)

Step 2: 信頼区間

CI = x̄ ± z·SE = 50 ± 1.96·1.0 = [48.04, 51.96]

Step 3: n を 4 倍にすると

SE = 10/√400 = 0.5 幅 = 2·1.96·0.5 = 1.96 → 半分

🐍 Python で再現

1
2
3
4
5
6
7
8
import numpy as np
from scipy.stats import norm
xbar, sigma, n = 50, 10, 100
se = sigma / n**0.5
z = norm.ppf(0.975)
ci = (xbar - z*se, xbar + z*se)
print(f"95% CI: [{ci[0]:.2f}, {ci[1]:.2f}]")
print(f"幅: {ci[1] - ci[0]:.2f}")

📤 実行結果

95% CI: [48.04, 51.96] 幅: 3.92

💬 手計算 (Step 2) と Python 出力が完全一致。

🎮 触って理解する

「95% 信頼区間」の本当の意味は、 1 つの区間を見ても分かりません。 同じ手順を何度も繰り返すと初めて見えてきます。 下のシミュレーションでは、 真の母平均 μ = 100(緑の縦線・固定)から標本を何度も抽出し、 各標本の 95% 信頼区間を横棒で描きます。 約 95% の区間(緑)が μ を含み、 約 5% の区間(赤)が外す様子を体感してください。

💡 図の上をタップ/スワイプしても標本を抽出できます。 スライダーを動かすと区間幅が変わり、 標本はリセットされます。

抽出回数0
μ を含む0
実測 被覆率
区間の半幅 z·SE
🎨 直感:区間の中心(標本平均)は毎回ズレますが、 幅は毎回ほぼ同じ(σ・n・信頼水準で決まる)。 たくさん抽出すると、 赤い区間の割合が「1 − 信頼水準」(95% なら約 5%)に近づいていきます。 抽出回数が少ないと実測被覆率は大きくブレるので、 100 回・200 回とためしてください。
⚠️ よくある落とし穴:「この区間に真値が入る確率は 95%」は誤り
頻度論では、 真値 μ は固定、 動くのは区間の方です。 一度作った 1 本の区間について「95% の確率で μ を含む」とは言えません(含むか含まないかのどちらかで、 確率 0 か 1)。 正しくは「この手順を無限回繰り返せば、 作られる区間の 95% が μ を含む」という手順の性質です。 上の図で 1 本ずつ見ても意味が薄く、 多数の区間の集まりで初めて 95% が現れるのはこのためです。 「1 本の区間に確率を言える」解釈が欲しいなら、 ベイズの信用区間(credible interval)という別概念になります。

🚀 発展

  • σ が既知か未知か:このシミュレーションは母標準偏差 σ を既知として z を使うため、 実測被覆率はきれいに信頼水準へ収束します。 現実は σ 未知で標本標準偏差 s を使うので、 小標本では t 分布を使わないと被覆率が名目値を下回ります。
  • n を上げると幅が縮む:半幅は z·σ/√n。 n を 4 倍にして初めて幅が半分。 スライダーで確かめてください。
  • 信頼水準を上げると幅が広がる:99% は「外さない」代わりに区間が太る=情報が粗くなるトレードオフ。
  • 多重比較:区間を 100 本作れば約 5 本は外す。 多数の CI を同時に見るときは補正(Bonferroni 等)が要ります。

🐍 Python での扱い

最小再現コード。 SSDSE-B のような実データを前提に、 4〜8 行で動く例です:

📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行) 都道府県 A4103(合計特殊出生率) 北海道 1.06 東京都 0.99 沖縄県 1.6 …(全 47 行)
1
2
3
4
5
6
7
import pandas as pd
from scipy import stats
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
x = df[df['SSDSE-B-2026'] == 2023]['A4103'].dropna()  # A4103 = 合計特殊出生率
mean, se = x.mean(), x.std(ddof=1)/(len(x)**0.5)
ci = stats.t.interval(0.95, len(x)-1, loc=mean, scale=se)
print(f'平均 {mean:.3f}, 95% CI [{ci[0]:.3f}, {ci[1]:.3f}]')

補足:ライブラリのバージョンや前処理状態によって出力は変わります。 自分の環境で動かすときは pip list でバージョンを確認し、 入力 CSV のパス・列名を実態に合わせてください。

🐍 Python 実装 — 区間推定 4 種の徹底比較

SSDSE-B-2026 の都道府県人口データで、 (1) z 区間、 (2) t 区間、 (3) ブートストラップ区間、 (4) ベイズ信用区間 の 4 種類を計算し、 結果を比較する。

実装 1: 教科書通りの z 区間(母分散既知の仮定)

このコードでやること: SSDSE-B-2026 の 47 都道府県人口について、 母分散 σ が「過去の年次から既知 (例: σ=2,800,000)」と仮定し、 z 分布で 95% 信頼区間を計算する。

📥 入力データ: SSDSE-B-2026.csv(カラム例 — A1101 が総人口、 cp932 エンコーディング、 2 行目はカラム説明)

Code 都道府県 A1101_総人口 R01000 北海道 5,092,000 R02000 青森県 1,184,000 R03000 岩手県 1,189,670 ... R47000 沖縄県 1,467,480
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import pandas as pd
import numpy as np
from scipy import stats

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
# 2023 年の 47 都道府県 (R01000..R47000) を抽出
pref = df[df['SSDSE-B-2026'] == 2023].copy()
pop = pref['A1101'].astype(float).values

# 母標準偏差を既知と仮定 (歴史的データから σ=2,800,000)
sigma = 2_800_000
mean = pop.mean()
n = len(pop)

se = sigma / np.sqrt(n)
z = stats.norm.ppf(0.975)  # 1.96
ci_low = mean - z * se
ci_high = mean + z * se

print(f'n = {n}')
print(f'標本平均 = {mean:,.0f}')
print(f'SE = {se:,.0f}')
print(f'95% z 信頼区間: [{ci_low:,.0f},  {ci_high:,.0f}]')
print(f'区間幅 = {ci_high - ci_low:,.0f}')

📤 実行結果:

n = 47 標本平均 = 2,645,809 SE = 408,422 95% z 信頼区間: [1,845,316, 3,446,301] 区間幅 = 1,600,985

💬 結果の読み方: 47 県平均人口 2.6 百万人、 95% z 信頼区間 [1.8, 3.4] 百万人。 区間幅が広いのは「全国の県平均」という代表値が、 都道府県間の極端な散らばり(東京 1400 万 vs 鳥取 55 万)の影響を受けるため。

実装 2: 母分散未知の t 区間(実務でほぼ常にこちら)

このコードでやること: 標本標準偏差 $s$ を使って t 分布で信頼区間を計算(実務の 99% はこちら)。

📥 入力データ: 上と同じ pop 配列(47 県人口)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
from scipy import stats
import numpy as np

# scipy.stats.t.interval は (信頼度, df, loc, scale) を取る
ci_t = stats.t.interval(
    confidence=0.95,
    df=n - 1,
    loc=pop.mean(),
    scale=stats.sem(pop)   # = s / sqrt(n)
)

print(f'標本平均 = {pop.mean():,.0f}')
print(f'標本標準偏差 s = {pop.std(ddof=1):,.0f}')
print(f'SE = {stats.sem(pop):,.0f}')
print(f't_{{0.025, 46}} = {stats.t.ppf(0.975, df=n-1):.4f}')
print(f'95% t 信頼区間: [{ci_t[0]:,.0f},  {ci_t[1]:,.0f}]')
print(f'区間幅 = {ci_t[1] - ci_t[0]:,.0f}')

📤 実行結果:

標本平均 = 2,645,809 標本標準偏差 s = 2,797,551 SE = 408,065 t_{0.025, 46} = 2.0129 95% t 信頼区間: [1,824,417, 3,467,200] 区間幅 = 1,642,784

💬 結果の読み方: t 区間は z 区間より幅 ≈ 3.3% 広い($t/z = 2.013/1.96 = 1.027$)。 $n=47$ なので差は小さいが、 $n=10$ 程度なら 20-30% 広がる。 「不確かさを二重に補正する」という t 分布の役割が見える。

実装 3: ブートストラップ信頼区間(分布仮定なし)

このコードでやること: 母集団分布の仮定 (正規性) を置かずに、 元データから復元抽出を 10,000 回繰り返してパーセンタイル法で 95% 区間を作る。

📥 入力データ: 上と同じ pop 配列

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from scipy import stats
import numpy as np

# scipy.stats.bootstrap は (data, statistic, ...) のフォーマット
rng = np.random.default_rng(seed=42)
res = stats.bootstrap(
    (pop,),
    statistic=np.mean,
    n_resamples=10_000,
    confidence_level=0.95,
    method='percentile',
    random_state=rng,
)
ci_boot = res.confidence_interval
print(f'ブートストラップ標準誤差 = {res.standard_error:,.0f}')
print(f'95% ブートストラップ信頼区間: [{ci_boot.low:,.0f},  {ci_boot.high:,.0f}]')
print(f'区間幅 = {ci_boot.high - ci_boot.low:,.0f}')

# BCa 法 (バイアス補正・加速度補正) も比較
res_bca = stats.bootstrap(
    (pop,),
    statistic=np.mean,
    n_resamples=10_000,
    confidence_level=0.95,
    method='BCa',
    random_state=rng,
)
ci_bca = res_bca.confidence_interval
print(f'95% BCa 信頼区間: [{ci_bca.low:,.0f},  {ci_bca.high:,.0f}]')

📤 実行結果:

ブートストラップ標準誤差 = 404,067 95% ブートストラップ信頼区間: [1,924,124, 3,503,093] 区間幅 = 1,578,969 95% BCa 信頼区間: [2,025,812, 3,657,451]

💬 結果の読み方: BCa はパーセンタイル法より右にシフト。 これは 東京 (1400 万) の極端な右裾による歪みを補正した結果。 元データが対数正規に近い形なら BCa の方が良い被覆率を持つ。 t 区間との不一致は「データが正規でない」ことの証拠。

実装 4: ベイズ信用区間(Beta-Binomial と Normal-Normal)

このコードでやること: 母平均にフラットな事前分布を置き、 事後分布の 2.5%/97.5% 点で 95% 信用区間 (credible interval) を構成する。

📥 入力データ: 47 県人口 pop(平均 2,645,809、 標本 SE = 408,065)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from scipy import stats
import numpy as np

# Normal-Normal 共役: フラット事前 (分散 → 無限大) なら事後は N(x_bar, SE^2)
posterior_mean = pop.mean()
posterior_se = stats.sem(pop)

# 95% 信用区間 (HDI に近い、 対称事後なら同じ)
ci_bayes_low = stats.norm.ppf(0.025, loc=posterior_mean, scale=posterior_se)
ci_bayes_high = stats.norm.ppf(0.975, loc=posterior_mean, scale=posterior_se)

print(f'事後平均 = {posterior_mean:,.0f}')
print(f'事後 SE = {posterior_se:,.0f}')
print(f'95% ベイズ信用区間: [{ci_bayes_low:,.0f},  {ci_bayes_high:,.0f}]')

# 弱情報事前 (過去の県平均 = 2,500,000、 事前分散 = (500,000)^2) との比較
prior_mean = 2_500_000
prior_var = 500_000 ** 2
data_var = posterior_se ** 2
# Normal-Normal 後事のクローズド形式
posterior_var2 = 1.0 / (1.0/prior_var + 1.0/data_var)
posterior_mean2 = posterior_var2 * (prior_mean/prior_var + posterior_mean/data_var)
posterior_se2 = np.sqrt(posterior_var2)
ci2_low = stats.norm.ppf(0.025, loc=posterior_mean2, scale=posterior_se2)
ci2_high = stats.norm.ppf(0.975, loc=posterior_mean2, scale=posterior_se2)
print(f'弱情報事前による事後平均 = {posterior_mean2:,.0f}')
print(f'95% 信用区間 (弱情報事前): [{ci2_low:,.0f},  {ci2_high:,.0f}]')

📤 実行結果:

事後平均 = 2,645,809 事後 SE = 408,065 95% ベイズ信用区間: [1,846,016, 3,445,601] 弱情報事前による事後平均 = 2,587,517 95% 信用区間 (弱情報事前): [1,967,889, 3,207,144]

💬 結果の読み方: フラット事前のベイズ区間は z 区間とほぼ同じ。 弱情報事前 (2.5M ± 0.5M) を入れると事後は事前方向に引き寄せられ、 区間が約 23% 狭くなる。 ベイズの「事前情報を活用して精度を上げる」威力が定量的に確認できる。

📊 4 種の区間推定結果の総合比較

SSDSE-B-2026 都道府県人口 ($n=47$、 平均 2,645,809) について、 4 種の方法で計算した 95% 区間を一覧する。

方法下限上限前提
z 区間 (σ 既知)1,845,3163,446,3011,600,985正規・σ 既知
t 区間 (σ 未知)1,824,4173,467,2001,642,784正規性
Bootstrap %1,924,1243,503,0931,578,969なし(経験分布)
Bootstrap BCa2,025,8123,657,4511,631,639バイアス・スキュー補正
Bayes (flat prior)1,846,0163,445,6011,599,585事前分布 (平坦)
Bayes (informative)1,967,8893,207,1441,239,255弱情報事前

📝 観察:

  1. z 区間と t 区間は約 42,000 だけ違う($t/z = 1.027$、 自由度 46 では微差)。
  2. Bootstrap (パーセンタイル) は t より狭い。 「外れ値の影響が想定より小さい」ことを反映。
  3. BCa は右にシフト。 東京の極端な値による右スキューを補正。
  4. ベイズ (弱情報事前) は約 23% 狭い区間を返す。 事前情報の威力。
  5. 結論「47 県の平均人口は約 180 万 〜 350 万」は、 どの方法でもほぼ同じ。 「方法に依存しない結論」が見えていれば信頼性が高い

⚠️ よくある落とし穴

区間推定 を実務で扱うとき、 多くの分析者が同じところでつまずきます。 代表的な失敗パターンを先回りで押さえておくと、 後工程のトラブルを大幅に減らせます。

❌ 「真値が区間にある確率 95%」と誤解
頻度論では区間が確率変数、 真値は固定。 ベイズの信用区間との混同に注意。
❌ 正規近似の安易な適用
n < 30 や非正規分布では t 分布や Bootstrap を使う。
❌ 複数 CI の同時解釈
100 個の CI を作れば 5 個は真値を含まない。 多重比較補正を。
❌ CI で「有意」を判定
95% CI が 0 を含めば「α=0.05 で有意でない」と等価。 だが効果量の解釈に重点を置くべき。
❌ 区間幅の意味
区間が広い = 不確実性大。 「狭ければ信頼できる」と短絡しない(バイアスは別問題)。

※ 上記は文献調査・現場経験で報告される頻度の高い注意点。 ドメインや手法のバージョンによって追加の落とし穴がある場合があります。

⚠️ 信頼区間 vs 予測区間 — 「ここを混同しないこと」

初学者が最も混同する 2 つの概念を、 数式と例で完全に切り分ける。

信頼区間 (CI) — 「平均値はどこにある?」

$$\bar{x} \pm t_{\alpha/2, n-1} \cdot \frac{s}{\sqrt{n}}$$

対象は母平均 $\mu$。 「47 県平均人口は約 [1.8M, 3.5M] にあるだろう」と言うときの区間。 $n$ を増やすほど狭くなる。

予測区間 (PI) — 「次の 1 個の値はどこに来る?」

$$\bar{x} \pm t_{\alpha/2, n-1} \cdot s \cdot \sqrt{1 + \frac{1}{n}}$$

対象は新しい観測値 $X_{new}$。 「次に観測される 1 県の人口は約 [-3.0M, 8.3M] にあるだろう」と言うときの区間(負値が出るのは、 正規仮定が右スキュー実データに合っていない例)。 $n$ を増やしても下限は $\bar{x} \pm t \cdot s$ までしか縮まない。

数式を言葉で読み解く

CI の幅 ∝ $\frac{1}{\sqrt{n}}$、 PI の幅 ∝ $\sqrt{1 + \frac{1}{n}} \to 1$(n→∞)。 PI は「データ生成の散らばり $s$ そのもの」を超えて狭くなることはない。 一方 CI は無限に狭くできる。 「平均」と「個別値」の本質的違いがこの式に詰まっている。

このコードでやること: SSDSE-B-2026 の都道府県人口について、 CI と PI を並べて出力し、 幅の違いを定量化。

📥 入力データ: pop 配列(47 県人口、 平均 2,645,809、 s = 2,797,551)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from scipy import stats
import numpy as np

n = len(pop)
mean = pop.mean()
s = pop.std(ddof=1)
t_crit = stats.t.ppf(0.975, df=n-1)

# 信頼区間 (CI for mu)
ci_half = t_crit * s / np.sqrt(n)
ci_low, ci_high = mean - ci_half, mean + ci_half

# 予測区間 (PI for new observation)
pi_half = t_crit * s * np.sqrt(1 + 1/n)
pi_low, pi_high = mean - pi_half, mean + pi_half

print(f'95% 信頼区間 (母平均): [{ci_low:,.0f},  {ci_high:,.0f}]  幅={2*ci_half:,.0f}')
print(f'95% 予測区間 (新観測値): [{pi_low:,.0f},  {pi_high:,.0f}]  幅={2*pi_half:,.0f}')
print(f'PI / CI の比 = {pi_half/ci_half:.2f} 倍')

📤 実行結果:

95% 信頼区間 (母平均): [1,824,417, 3,467,200] 幅=1,642,784 95% 予測区間 (新観測値): [-3,044,961, 8,336,578] 幅=11,381,539 PI / CI の比 = 6.93 倍

💬 結果の読み方: PI は CI の約 7 倍広い。 「平均がどこにあるか」と「次の 1 県がどこに来るか」は全く別の問い。 PI の下限が負になっているのは「正規仮定がデータに合っていない」サイン(人口は対数正規)→ ブートストラップや対数変換が必要。

⚠️ 区間推定の落とし穴・拡張版 (10 件)

  1. 「95%」の解釈ミス: 「この 1 つの区間が母数を含む確率が 95%」ではない。 「同じ手順で何度も区間を作れば、 そのうち 95% が母数を含む」が正しい解釈。
  2. n < 30 で z 区間を使う: 小標本では t 区間に切り替える必要がある。 z で計算すると過小な幅 → 過信。
  3. 正規性の確認なしでパラメトリック CI: 強い歪み (右スキュー、 重い裾) があれば、 Bootstrap や対数変換が必要。 SSDSE-B-2026 の人口は典型的な右スキュー。
  4. 独立性の仮定違反: 時系列、 クラスター、 空間相関データで通常の SE 式を使うと SE が過小。 都道府県データには地域クラスタリングが潜在。
  5. 多重比較の無視: 同じデータで複数の区間を作ると、 そのうち少なくとも 1 つが誤る確率は $1-(1-\alpha)^m$。 Bonferroni 等で補正。
  6. 母分散と標本分散の混同: 標本分散には $n-1$(不偏)と $n$(最尤)の 2 種類。 区間推定では $n-1$。
  7. 離散変数に正規 CI を当てる: 比率 (0/1) や計数 (0,1,2,...) では Wilson 区間、 Clopper-Pearson 区間、 Poisson 区間など専用の方法を使う。
  8. 「区間内なら有意でない」と思い込む: CI と仮説検定は対応するが、 0 を含む区間 = 「効果なし」とまでは言えない(検出力不足の可能性)。
  9. ベイズ信用区間と信頼区間の混同: 同じように見えても哲学が違う。 ベイズは「事後分布のパーセンタイル」、 頻度論は「手順の長期被覆率」。
  10. 区間幅を最小化しすぎる: 「狭ければ良い」ではない。 信頼度を下げて狭くしても、 失敗確率が増えるだけ。

✅ 区間推定 実務チェックリスト

  1. □ サンプルサイズ $n$ を明記したか
  2. □ 信頼度 (90%/95%/99%) を明示したか
  3. □ 区間幅と中心値の両方を報告したか
  4. □ 正規性チェック (Shapiro-Wilk、 Q-Q プロット) を実施したか
  5. □ 独立性の仮定が成り立つか確認したか(時系列・クラスター・空間相関)
  6. □ 外れ値の影響度を確認したか(除外時/含む時の CI 比較)
  7. □ 信頼区間 (CI) と予測区間 (PI) を混同していないか
  8. □ 多重比較の補正は必要か
  9. □ 区間が業務的に意味ある幅か(狭すぎ・広すぎ)
  10. □ Bootstrap や Bayes でロバストネスチェックを行ったか
  11. □ 「95% 確率で母数を含む」と誤読されない表現になっているか
  12. □ 区間の片側 (one-sided) と両側 (two-sided) を取り違えていないか

⚠️ 区間推定の実務誤用パターン 8 連発

教科書通りに計算しても、 解釈や報告の段階で誤用される例は枚挙にいとまがない。 ビジネスレポートや論文で頻発する 8 つを並べる。

#誤用パターン何が問題か正しい対応
1CI を「真値の確率分布」として解釈する頻度論の枠組みから外れる。 個別 CI に確率は付与できない「手順の長期頻度」として説明、 確率解釈が欲しいならベイズ信用区間へ
2CI が 0 を跨がない = 効果あり、 と結論統計的有意 ≠ 実用的有意。 微小効果でも n が大きければ CI は 0 を跨がない効果量と CI の両方を併記し、 意思決定の閾値と比較
3複数の群 CI を見比べ、 重なりだけで有意差を判断各 CI が重なっても「差の CI」は 0 を跨がない場合あり差の CI を直接計算する、 t 検定や ANOVA を併用
4小標本で正規 CI を機械的に適用中心極限定理が効かず被覆率が崩れるt 区間、 Bootstrap、 Wilson 等の小標本向け手法を選択
5信頼区間と予測区間を混同前者は平均、 後者は個体。 幅が大きく異なる図と表に「CI / PI」を明記、 報告書では別行で示す
6CI 幅を眺めて「真の値の範囲」と説明真値は固定、 動くのは区間。 区間の枠が確率変数「同じ手順で 95% の区間が真値を覆う」と説明
7多重比較で各 CI を独立に作る全体の被覆率が崩れる(α インフレ)Bonferroni / Holm / Tukey 等で同時信頼区間に補正
8「外れ値を除いて再計算」を結果が出るまで繰り返す事後選択バイアスで CI の被覆保証が消える外れ値処理は事前に方針を固定、 ロバスト推定や Bootstrap で頑健化

この 8 パターンは、 ビジネスダッシュボード・ニュース記事・査読論文すべてで観察される。 「区間推定の数字は正しいが、 説明文が誤用」というケースが最も多いため、 計算より説明の言い回しを磨く方が実務的価値は高い。

🏯 ケーススタディ(仮想の平均賃金データ)— 47 都道府県の平均賃金 CI

📝 補足(データ出所の明示):SSDSE-B-2026 には賃金・所得の列が存在しません(家計は消費支出 L3221 と細目 L322101〜L322110 のみ)。 そのため以下の「平均賃金 438 万円」等の数値は、 CI の組み立て方を示すための仮想例(教材用のダミー値)であり、 SSDSE-B の実測値ではありません。 実測で試す場合は総人口 A1101 や消費支出 L3221 など実在列に置き換えてください。

区間推定は「全国レベルの平均」に対し、 単一の点推定値より遥かに情報量が多い。 ここでは仮想の賃金データを使って、 段階的に CI を組み立てる流れを追う。

ステップ 1: 47 都道府県の平均賃金(万円/年、 仮想データ)を読み込む

仮想の賃金カラム(教材用ダミー)を読み込み、 47 都道府県の点推定(標本平均)と標本標準偏差を計算する想定とする。 ここでは「47 都道府県は母集団全体」ではなく、 「ある年の標本」と捉え、 仮想的な母集団推論を行う設定とする。

ステップ 2: t 区間 vs Bootstrap 区間 vs Bayes 信用区間

同じ標本に対し、 (a) 正規/t 仮定の解析的 CI、 (b) 5,000 回ブートストラップの BCa 区間、 (c) 弱情報事前のベイズモデルから得る credible interval、 の 3 種を並べる。 結果はおおむね一致するが、 賃金分布が右に裾を引くため Bootstrap 区間がやや非対称になる。

推定手法下限(万円)点推定上限(万円)
正規 z 区間 (σ 既知仮定)412.5438.0463.551.0
t 区間 (自由度 46)411.6438.0464.452.8
Percentile Bootstrap (B=5000)413.2438.0466.152.9
BCa Bootstrap (B=5000)414.0438.0467.453.4
ベイズ (弱情報事前)411.0438.1465.254.2

ステップ 3: 解釈と意思決定

5 種の区間がすべて [411, 467] 万円付近に収まることから、 「全国平均賃金の点推定値 438 万円には 25 万円程度の不確実性がある」と説明できる。 仮にビジネス判断で「平均が 430 万円を上回るか」が論点なら、 すべての CI 下限が 411 万円以上なので「上回るとは言い切れない」結論になる。 一方「420 万円を上回るか」なら、 t 区間下限 411.6 < 420 < 上限 464.4 を見て「上回ると言い切れない、 さらに調査が必要」と判断する。

ステップ 4: 地方ブロック別の CI 比較

関東・近畿は中央値が高く CI も比較的タイト、 一方で四国・九州は中央値が低く CI が広い(標本数が少なくばらつきが大きいため)。 こうした「群ごとの不確実性差」は単一の全国平均では見えないため、 区間推定はグループ分析と組み合わせて初めて価値が出る。

ステップ 5: レポート文面の雛形

「SSDSE-B-2026(47 都道府県)から推定した平均賃金は 438 万円、 95% 信頼区間 [412, 464] 万円であった。 これは『同じ調査手順を繰り返した場合、 約 95% の試行でこの種の区間が真の母平均を覆う』ことを意味する。 区間幅が約 52 万円あるため、 全国一律の政策設計には地方別の追加分析が望ましい」。 この種の文面が「数字 + 区間 + 解釈 + 次の一手」の標準パターンである。

❓ 追加 FAQ — 区間推定のミクロな疑問 12 連発

Q1. 標本サイズが極端に小さい(n=3 等)でも CI を出してよい?

出してよいが、 t 分布の自由度 2 では臨界値が非常に大きく(t_{0.025,2}=4.30)CI が広くなる。 「広くて使えない」という事実自体が情報。 むしろ「n=3 では区間推定の結論を急がない」という慎重さの根拠として活用。

Q2. 外れ値がある場合、 CI は信頼できる?

古典 CI は外れ値に弱い。 トリム平均や中央値の CI(Bootstrap)に切り替える、 もしくはロバスト推定(M 推定)を用いる。 SSDSE で言えば「東京」が突出するため、 全国 47 都道府県の平均 CI と「東京除く 46 都道府県」CI を併記すると安全。

Q3. CI を「ある一回の調査結果」として図示するとき、 どう書くべき?

エラーバーで上下に伸ばし、 キャプションに「縦棒は 95% 信頼区間」と明記。 「信頼水準・自由度・推定手法」の 3 点が読者から見えるようにする。

Q4. CI の下限が負になることがあるが、 現実には負はあり得ない量(人口など)の場合は?

対数変換して CI を計算し、 元のスケールに逆変換する。 もしくは Bootstrap で範囲を制約する手法(truncated bootstrap)を採る。

Q5. CI とエラーバーは同じものと考えてよい?

エラーバーは「標準誤差」「標準偏差」「CI」のいずれかを表す。 必ずキャプションで定義を明記すること。 暗黙の前提は読み手の混乱を招く。

Q6. CI と p 値はどちらを優先報告すべき?

CI 優先。 p 値は二値判定(有意/有意でない)に流れがちだが、 CI は効果量と不確実性の両方を同時に伝える。 American Statistical Association も CI 重視を推奨。

Q7. CI を計算したが信頼水準を指定し忘れた、 どうする?

慣例は 95%。 ただし「報告書に 95% と明記」しなければ読み手が暗黙の解釈をする可能性がある。 毎回明記が原則。

Q8. ベイズ信用区間と CI を同じ図に重ねてよい?

重ねてよいが、 凡例で明確に区別。 「同じ幅でも意味が違う」点を本文で説明しないと混乱の元。

Q9. CI が広すぎて意味がない、 どう打開する?

(a) 標本を増やす、 (b) 層別化して群内ばらつきを減らす、 (c) 共変量で調整、 (d) ベイズ事前で外部情報を入れる、 の 4 通り。 どれも「不確実性を減らす情報源を追加する」発想。

Q10. CI の表記は [下限, 上限] か (下限, 上限) か?

統計界では一般に角括弧 [a, b]。 数学では区間記法 (a, b) は開区間を表すため、 紛らわしい場合がある。 角括弧 + 明示的に「95% CI」と書くのが安全。

Q11. CI を口頭で説明する 30 秒スクリプトは?

「この調査では平均 438 万円という結果でしたが、 同じ調査を繰り返すと結果は揺れます。 揺れの幅を 95% の確からしさで覆える範囲が 412 から 464 万円。 ピンポイントの数字より、 この帯で語る方が誤解が少ないです」。

Q12. CI が「変わらない方が安心」か?

むしろ逆。 追加データで CI が狭まるのが健全な学習。 同じデータを使い回して CI を一切動かさないと、 統計モデルが学習していないサインの可能性。

🎯 章末まとめ — 区間推定を「使える知識」に変える 7 視点

  1. 区間は手順、 真値は固定: 95% は個別の区間ではなく長期頻度の話。
  2. 幅は不確実性、 中心は推定値: 中心ばかり見ず幅で意思決定に補正をかける。
  3. 方法は分布に合わせて選ぶ: 正規/t/Bootstrap/Bayes は道具箱、 適材適所。
  4. 差の CI は群 CI の重なりではない: 差そのものに CI をかけるのが正攻法。
  5. サンプルサイズは事前設計: 区間幅から逆算するのがプロの仕事。
  6. 言葉のミスが最大の誤用: 数字より説明文の正確さに労力を割く。
  7. 追加情報で CI は縮む: 層別・共変量・事前分布で精度を上げる発想を常備。

区間推定は「結果に幅を持たせる文化」を組織に根付かせるための言語装置でもある。 数字だけで意思決定する組織と、 数字 + 幅 + 仮定で意思決定する組織では、 長期的な意思決定品質が顕著に分かれる。 区間推定は単なる統計手法でなく、 不確実性を扱う組織的なリテラシーの中核である。

📖 区間推定 関連用語ミニ辞典 — 20 語の即引きリファレンス

区間推定の周辺には、 似て非なる概念が多数あり、 用語選びで議論がブレやすい。 ここでは現場で頻出する 20 語を 1 行説明 + 区間推定との関係でまとめる。 各見出し語は再読の起点として使えるよう、 簡潔だが定義の核心を含めた。

用語1 行定義区間推定との関係
点推定母数の単一値での推定CI の中心が点推定値(多くの場合)
標準誤差 (SE)推定量の標本ばらつきの標準偏差CI 幅 ≈ 2 × 1.96 × SE
標準偏差 (SD)個々のデータのばらつき予測区間の主役、 CI とは別概念
中心極限定理標本平均が正規に近づく大標本 CI の理論的根拠
t 分布σ 未知小標本での平均の分布t 区間の臨界値の根拠
自由度t 分布の形状パラメータt 区間幅を決める要素
被覆率真値を覆う CI の長期割合理想的には信頼水準と一致
仮説検定帰無仮説の棄却判定「CI が 0 を跨がない」≒「両側 5% 検定で有意」
p 値帰無仮説下での極端さの確率CI と裏表の関係、 CI 報告が推奨
効果量差や関連の大きさの指標効果量にも CI を付けるのが現代の慣例
Bootstrap再標本化で分布を近似分布仮定なしで CI を作れる
BCa 区間Bootstrap の歪み補正版非対称分布で被覆率が高い CI
ベイズ信用区間事後分布の中央 95%確率解釈ができる「区間」
予測区間将来の個別観測値の区間CI より幅広(個体ばらつきを含む)
許容区間母集団の一定割合を覆う区間品質管理で CI と併用される
同時信頼区間複数推定量を同時に覆う区間多重比較での被覆率を保つ
α エラー真値を覆い損ねる確率CI の信頼水準 = 1 - α
サンプルサイズ設計必要 n を逆算する作業目標 CI 幅から n を決める
Wilson 区間小標本の比率 CI正規近似 CI より被覆率が高い
コンフォーマル予測分布仮定なし予測区間機械学習での予測 CI の標準化候補

これら 20 語は、 区間推定をめぐる議論で「相手が何を意味して言っているか」を即座に切り分けるためのスイッチである。 報告書を読むときも書くときも、 まずこの 20 語のどれを念頭においているかを確認すると齟齬が減る。

🌲 区間推定 手法選択フローチャート

実際の現場で「どの CI を使えばよいか」を 5 ステップで決めるためのフローチャート。 上から順に質問に答えていくと、 候補手法が 1-2 個に絞られる。

  1. 母数は何か? 平均→平均 CI / 比率→比率 CI / 分散→χ² 区間 / 回帰係数→回帰の CI に分岐。
  2. 母集団分布の仮定が立つか? 立つなら解析的 CI、 立たないなら Bootstrap / ノンパラメトリック CI。
  3. サンプルサイズは十分か? 大標本 (n ≥ 30) なら正規近似可、 小標本なら t / Wilson / 厳密法へ。
  4. 分布の歪みはどうか? 対称なら t、 非対称なら BCa Bootstrap、 極端なら対数変換後に CI。
  5. 事前情報があるか? あるならベイズ信用区間、 なければ頻度論 CI で十分。

この 5 ステップを毎回踏むことで、 「とりあえず正規近似」の機械的適用を防げる。 特にビジネス分析では、 標本サイズが小さい・分布が歪んでいる場面が多いため、 Bootstrap や Wilson 区間の出番がしばしばある。

📜 区間推定の思想史 — 「確率を持って語る」までの道のり

「区間で語る」という発想は当たり前に見えるが、 統計学の歴史では決して自明ではなかった。 ラプラスの誤差理論 (1812) で「測定値の散らばり」を確率分布で扱う発想が確立し、 ガウスの最小二乗法 (1809) で点推定が体系化される。 しかし「区間として真値を覆う」という考え方を明確に定式化したのは、 ネイマン (Jerzy Neyman) の 1937 年論文「Outline of a Theory of Statistical Estimation Based on the Classical Theory of Probability」である。

それまでは「真値の事後分布」というベイズ的解釈が混在しており、 区間の数値解釈に曖昧さがあった。 ネイマンはこれを「手順の長期頻度」に再定義することで、 頻度論統計学の中核概念として CI を位置付けた。 同時期にフィッシャー (R. A. Fisher) は信頼度 (fiducial) 区間という別の枠組みを提案、 両者は長く論争を続けた。

21 世紀に入り、 ベイズ計算(MCMC)の普及により、 ベイズ信用区間が実務でも広く使われるようになった。 さらに 2010 年代以降、 機械学習での予測不確実性の定量化として「コンフォーマル予測」が登場し、 分布仮定なしで予測区間を厳密に保証する枠組みが整備されつつある。 区間推定は今なお発展中の領域である。

📝 報告書・ダッシュボードで使える CI 文例テンプレート

区間推定は数字を出すまでが半分、 残りの半分は「どう伝えるか」である。 ここでは、 実務で使えるテンプレートを 6 種そろえる。 すべて SSDSE-B-2026 の文脈で例示。

テンプレ 1: 経営会議向け(30 秒で読める版)

「47 都道府県の平均賃金は438 万円(95% CI: 412 万円 - 464 万円)。 ピンポイントで 438 万円ではなく、 412 - 464 の幅で見るのが妥当。 全国施策の予算配分は中央値 438 万円を基準としつつ、 不確実性として ±26 万円のマージンを確保することを推奨」。

テンプレ 2: 学術論文向け(精密版)

「47 都道府県標本における平均賃金の点推定値は 438.0 万円であり、 標本標準偏差 s = 89.4、 自由度 46 の t 分布を用いた 95% 信頼区間は [411.6, 464.4] 万円であった。 Welch 法による Bootstrap 5000 反復の BCa 区間は [414.0, 467.4] 万円で、 両者は概ね一致した。 仮想母集団に対する点推定の被覆解釈は Neyman (1937) に従う」。

テンプレ 3: 一般向けプレス資料

「47 都道府県を対象とした調査では、 平均賃金は約 438 万円という結果でした。 ただし統計的な揺れを考慮すると、 真の平均は 410 万円台前半から 460 万円台までの幅に収まると考えられます。 単一の数字ではなく『幅』で受け止めるのが科学的な読み方です」。

テンプレ 4: ダッシュボードのツールチップ

「平均賃金 438 万円 (95% CI [412, 464])。 同じ調査を繰り返すと、 約 95% の試行でこの種の区間が真値を覆います」。 (※ ホバー時のミニ文の長さ目安は 30-60 文字)。

テンプレ 5: 図キャプション

「図 X: 地方ブロック別平均賃金(万円)。 ノッチは中央値の 95% Bootstrap 信頼区間 (B=5000)。 ノッチが重ならない群間は中央値の差が示唆される」。

テンプレ 6: 否定的結果(差なし)の報告

「群 A と群 B の平均差は 12.5 万円(95% CI [-3.2, 28.2])であり、 0 を含むため統計的有意差は確認されなかった。 ただし区間幅から効果量がゼロであると断定はできず、 サンプルサイズを増やした追加調査が望ましい」。

この 6 テンプレを脳内に常駐させると、 報告書の冒頭 30 秒で「数字 + 区間 + 解釈」を書き始められる。 区間推定の最大の価値は、 数字を「機械的」ではなく「会話可能な情報」に変換する点にある。

🧨 区間推定の誤解 TOP 6 — 教科書を読んでも残る勘違い

大学の授業で区間推定を学んだ人でも、 実務に出ると次の 6 つの誤解が残っていることが多い。 自分の頭の中でこれらに即座に「No」を即答できるか確認しよう。 ここを言葉で説明できるかが「区間推定が分かっている人」と「公式を暗記しただけの人」の決定的な分かれ目になる。

  1. 誤解 1: 「95% CI は真値が 95% の確率で入る区間」→ 頻度論では No。 これはベイズ信用区間の解釈で、 頻度論 CI には「個別の確率」は付与できない。 正しくは「同じ手順で長期的に作った区間のうち 95% が真値を覆う」。
  2. 誤解 2: 「CI が広い=データが悪い」→ No。 CI の広さは「不確実性の正直な表明」。 むしろ強引に狭くする方が危険。 広いなら追加データを集めるか、 結論を慎重にする。
  3. 誤解 3: 「CI が 0 を跨がないなら効果あり」→ 部分的に Yes だが、 統計的有意性と実用的有意性は別。 巨大標本では微小効果でも 0 を跨がず CI が出るため、 効果量と CI を併記する習慣を。
  4. 誤解 4: 「2 群の CI が重なれば差なし」→ No。 重なっていても差の CI は 0 を跨がない場合がある。 差そのものに CI を作るのが正攻法。
  5. 誤解 5: 「CI は平均だけに作る」→ No。 比率、 分散、 回帰係数、 オッズ比、 ハザード比、 効果量、 予測値など、 ほぼあらゆる統計量に CI が定義できる。
  6. 誤解 6: 「CI を計算したらそれが最終回答」→ No。 CI は「次にすべき行動」を示唆する材料。 広ければ「データを増やす」、 0 を跨ぐなら「効果は不確定なので慎重に」、 狭くて 0 を含まないなら「方針を進めてよい」、 のように意思決定の言語として読む。

この 6 つを言語化できれば、 区間推定の概念マスターと言ってよい。 数式の暗記より、 こうした解釈の言語化が実務での差別化要因になる。

🛠 ハンズオン — 自分の手で CI を作る 5 ステップ

区間推定は「自分で 1 度作ると一生忘れない」タイプの概念である。 SSDSE-B-2026 の都道府県データを題材に、 以下 5 ステップを Jupyter で順に実行することを強く推奨する。 道具を使う側でなく道具を組み立てる側に立つと、 CI のからくりが手のひらに乗る感覚で見えてくる。

  1. データロード: df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) を読み、 df = df[df['SSDSE-B-2026']==2023] で 2023 年の 47 都道府県に絞る。 総人口 A1101 を df['A1101'].describe() で分布確認。
  2. 点推定: x_mean = df['A1101'].mean()s = df['A1101'].std(ddof=1)n = len(df) を取得。 ここで「ピンポイント値」がどれだけ揺れるかを意識する。
  3. t 区間: from scipy.stats import t; tcrit = t.ppf(0.975, df=n-1) で臨界値を取り、 se = s/np.sqrt(n)(x_mean - tcrit*se, x_mean + tcrit*se) で CI を計算。
  4. Bootstrap 区間: boots = [df['A1101'].sample(n, replace=True).mean() for _ in range(5000)]np.percentile(boots, [2.5, 97.5]) で分布フリー CI を取得。 t 区間と比較。
  5. 可視化: matplotlib でヒストグラム + CI 線を描き、 「CI は分布のどこを切っているか」を視覚化。 これで「CI は確率分布の両端を切る道具」という直感が定着する。

この 5 ステップを 1 度走らせると、 「区間推定は計算機が勝手に出すブラックボックス」ではなく「自分が組み立てる道具」になる。 教科書を 10 回読むより、 1 度自分で実装する方が理解は深い。 CI は実装して初めて掴める概念である。

さらに発展課題として、 (a) 信頼水準を 90%, 95%, 99% で比較して幅の変化を観察する、 (b) 全国平均だけでなく地方ブロック別の CI を並べて意思決定に使う、 (c) ベイズ版(PyMC で正規モデルを書く)を実装して頻度論 CI と比較する、 の 3 つに挑戦したい。 特に (c) は、 同じデータに対し異なる解釈枠組みがどう異なる結論を導くかを実感できる、 統計教育の白眉である。 区間推定を 5 ステップで実装し終わったら、 「区間で考える文化」がチームの共通言語になっているかをコードレビュー時に確認するのもよい習慣である。 最後に、 自作の CI を上司や同僚に 60 秒で説明できるかを試そう。 「平均はこれ、 幅はこれ、 解釈はこう、 次にすべきはこれ」を一息で言えれば、 区間推定の概念は身体化されたといえる。 区間推定の真の到達点は計算ではなく、 不確実性を言葉に変換して他者と共有できる能力にある。

🗺 概念マップ: 推定の体系の中での位置

区間推定が「推定」というより大きな枠組みのどこに位置するか、 関連概念との関係を整理する。

階層概念関係
上位統計的推測推定 + 検定を含む最大の枠組み
上位推定 (estimation)標本から母数を推測する技法全般
本稿区間推定幅で答える推定
並列点推定一点で答える対概念
出力信頼区間区間推定の結果そのもの
類似予測区間「次の観測値」の範囲。 信頼区間より広い
下位ブートストラップ区間推定の具体的手法 (分布仮定なし)
代替ベイズ統計信用区間 (credible interval) として範囲推定

📜 歴史と発展

区間推定の概念は、 ポーランド系統計学者 Jerzy Neyman が 1937 年に発表した論文 "Outline of a Theory of Statistical Estimation Based on the Classical Theory of Probability" で体系化された。 それ以前は、 母数の推測は「点推定 (一つの値)」と「逆確率法 (ベイズ)」が主流だった。 Neyman は、 ベイズ的解釈を避けて「同じ手順を繰り返した場合の頻度的性質」として信頼区間を定義し、 古典統計学 (頻度論) の基盤を築いた。

その後、 1979 年に Bradley Efronブートストラップ法 を発表し、 分布の仮定なしで信頼区間を計算する手法が広まった。 コンピューティングの発展により、 解析的に困難な統計量にも区間推定が適用できるようになった。 現代では、 機械学習モデルの予測の不確実性定量化 (uncertainty quantification) という形でも区間推定が再注目されている。

🔧 信頼区間の計算式まとめ表

対象条件95% CI 公式
母平均 $\mu$$\sigma$ 既知$\bar{x} \pm 1.96 \cdot \sigma/\sqrt{n}$
母平均 $\mu$$\sigma$ 未知$\bar{x} \pm t_{0.025,n-1} \cdot s/\sqrt{n}$
母比率 $p$大標本$\hat{p} \pm 1.96 \cdot \sqrt{\hat{p}(1-\hat{p})/n}$
母分散 $\sigma^2$正規分布前提$\bigl[(n-1)s^2/\chi^2_{0.975,n-1}, (n-1)s^2/\chi^2_{0.025,n-1}\bigr]$
平均差 $\mu_1-\mu_2$独立 2 群$(\bar{x}_1 - \bar{x}_2) \pm t \cdot \sqrt{s_1^2/n_1 + s_2^2/n_2}$
相関係数 $\rho$Fisher の z 変換$\tanh(\text{arctanh}(r) \pm 1.96/\sqrt{n-3})$

❓ よくある質問 (FAQ)

Q1. 95% 信頼区間とは「95% の確率で母平均が含まれる」ではないのですか?

A. 厳密には違います。 頻度論では母平均は固定された定数で、 確率変数なのは標本 (したがって信頼区間) のほう。 正確には「同じ手順で 100 回標本を取り直したら、 約 95 個の試行で構築された区間が母平均を含む」という意味です。 一回の特定の区間について「95% で含む」と言うのは厳密には誤り (ベイズ的解釈)。

Q2. サンプルサイズが小さいと、 信頼区間はどれくらい広くなりますか?

A. 区間幅は $1/\sqrt{n}$ に比例して縮みます。 $n$ が 4 倍になれば幅は半分、 100 倍で 1/10 になります。 逆に $n=10$ では $n=100$ の区間の約 3 倍の幅になります。 さらに $n < 30$ では t 分布の臨界値が大きくなるため、 実質的に区間はもっと広くなります。

Q3. 母集団が正規分布でないと、 信頼区間は使えないのですか?

A. 母平均の信頼区間に限って言えば、 中心極限定理により $n$ が大きい (経験則で $n \ge 30$) なら標本平均がほぼ正規分布になるため、 母集団分布の形によらず使えます。 ただし母分散・分位点・相関係数など他の統計量の CI は分布の仮定が効くので、 ブートストラップなどの非パラメトリック手法を検討します。

Q4. 信頼区間が「ゼロを含むかどうか」で何が言えますか?

A. 差や効果の信頼区間が 0 を含まないなら、 有意水準 $\alpha = 1 - $ 信頼度 で「差はゼロでない」と検定で結論したのと等価です。 たとえば 95% CI が $[3, 9]$ なら、 $p < 0.05$ で「効果あり」と言えます。 CI は検定の「視覚化」とも考えられます。

Q5. ブートストラップと t 分布、 どちらを使うべき?

A. データ分布がほぼ正規・対称ならどちらも結果はほぼ同じ。 歪みが強い・外れ値が多い・統計量が解析困難 (中央値、 相関係数、 機械学習モデルの性能) ならブートストラップが優位。 計算コストは数千回の再標本化が必要なので t 分布より重いが、 現代のマシンなら 47 都道府県データなら一瞬で終わる。

🧪 ケーススタディ: 47 都道府県別の出生率 CI

SSDSE-B-2026 の出生数 (A4101) と人口 (A1101) から「全国平均の出生率 (出生数/人口)」を区間推定する応用例。 SSDSE-B-2026 の各県の出生率はおおよそ 0.5%〜0.9% の範囲で、 標本平均は約 0.70%。 これに対する 95% CI を計算すると以下のようになる。

統計量値 (出生率)
n47
標本平均0.00700 (=0.70%)
標準偏差0.00075
SE0.000109
95% CI 下限0.00678 (=0.678%)
95% CI 上限0.00722 (=0.722%)

→ 全国の出生率は 0.68%〜0.72% の範囲内にあると 95% の信頼度で言える。 これは「日本全体」の出生率の指標値 (約 0.7%) と整合的。 沖縄県 (0.95%) は明らかに上側、 秋田県 (0.45%) は下側の外れ値だが、 47 都道府県の平均を取ることでこれらの影響を相殺している。

🔗 関連用語 (前提・並列・発展) 完全リスト

前提 (8 件): 平均 / 分散 / 標準偏差 / 標準誤差 / 正規分布 / t 分布 / 中心極限定理 / 標本抽出

並列 (6 件): 点推定 / 仮説検定 / p 値 / 効果量 / 検出力 / 有意水準

発展 (7 件): ブートストラップ / ベイズ統計 / 信用区間 / 予測区間 / 許容区間 / 多重比較 / ボンフェローニ補正

📊 信頼水準と臨界値の対応表

信頼区間を作る際に必要な臨界値 (z 値・t 値) を、 信頼水準ごと・自由度ごとに一覧化。 SSDSE-B-2026 のように $n=47$ のデータでは t 分布 (自由度 46) を使うが、 z 値とほぼ同じ。 $n < 30$ のサンプルではこの差が無視できなくなる。

信頼水準z 値t (df=10)t (df=30)t (df=46)t (df=100)
80%1.2821.3721.3101.3001.290
90%1.6451.8121.6971.6791.660
95%1.9602.2282.0422.0131.984
99%2.5763.1692.7502.6872.626
99.9%3.2914.5873.6463.5153.390

→ $n \ge 30$ なら t と z の差は実用上ほぼなくなる。 $n=10$ では信頼度 99% で t (3.169) が z (2.576) より約 23% 大きく、 区間幅も比例的に広がる。 サンプルが少ないほど t 分布の「重い裾」が効いてくる。

🎓 教育的視点: 信頼区間が伝える「不確実性の文化」

区間推定は単なる計算技術ではなく、 「点推定の不確実性を率直に開示する文化」を体現する手法である。 「平均は 100」と言い切るより「平均は 95〜105 と 95% の信頼度で言える」と幅を示す方が、 受け手は「だいたい 100 だが、 多少のずれは覚悟しよう」と適切に意思決定できる。

医学・公共政策の研究では、 「効果量の点推定だけでなく必ず 95% CI を併記すべし」が国際的なガイドライン (CONSORT、 STROBE 等) で標準化されている。 学術論文・公的レポートで点推定だけを示すのは現代的標準では不十分とされる。

機械学習領域でも、 単に「精度 87%」と示すのではなく「精度 87% (95% CI: 84%–89%)」と幅で示すことで、 モデル比較の頑健性 (両モデルの CI が重なれば差は怪しい) を検証する文化が広がっている。 区間推定の思想は、 21 世紀のデータサイエンス全般を貫く中核概念である。

🧠 実務での意思決定への応用

実務ではしばしば「信頼区間が広すぎる」状況に直面する。 たとえば「効果は 95% CI で $[-2, +12]$」 — 効果がマイナスかもしれないし、 大きくプラスかもしれない、 という結論。 この場合の選択肢:

  1. サンプルサイズを増やす: $n$ を 4 倍にすれば区間幅は半分になる (理論)。 ただしコスト・時間が必要。
  2. 調整変数で誤差を減らす: 共変量を追加して残差変動を小さくすれば SE が縮む。 重回帰分析の出番。
  3. 結論を保留する: 「効果の方向は判断できない」と率直に報告し、 追加研究を求める。 これも科学的に正当な対応。
  4. 事前情報を組み込む (ベイズ): 過去の類似研究から事前分布を作り、 信用区間を狭める。

SSDSE-B-2026 のような全数調査ベースのデータでは、 「47 都道府県すべてを観測した」ため厳密には「標本」ではなく「母集団そのもの」とみなせる。 この場合、 信頼区間の解釈は「もし都道府県の境界がランダムに引かれ直したら…」という仮想的標本論として扱うか、 あるいは「県をまたぐ年次変動」を標本変動として扱うか、 文脈に応じて慎重に解釈する必要がある。

interval estimation t 分布の CI Bootstrap CI ベイズ信用区間 Wilson 区間 同時信頼区間 標準誤差 SE = σ/√n

🔗 隣接手法への橋渡し

区間推定は推測統計の中心概念で、 点推定だけでは伝わらない「不確実性の幅」を定量化する。 仮説検定・予測区間・ベイズ推定と連携。

95% 信頼区間の正しい解釈は「同じ手法で 100 回標本抽出して 100 個の区間を作ると、 そのうち約 95 個が母平均を含む」。 「真の値がこの区間に 95% の確率で入る」は頻度論的にはNG。 ベイズ信用区間はこの解釈が成立する別概念。

🌳 手法選択フロー

「区間推定」を扱う際の手法選択は、 状況に応じて以下のフローで判断すると迷いが減る。

  1. Step 1: 目的は記述か予測か?
    • 記述 (現状把握・要約) → 集計・可視化・要約統計量で全体像を掴む
    • 予測 (未知データへの推定) → モデル構築・検証フェーズへ移行
  2. Step 2: データの種類・規模は?
    • 数値データ・小〜中規模 → 「区間推定」やその拡張手法を直接適用
    • カテゴリデータ → カテゴリ専用の手法 (関連用語) と組み合わせ
    • 大規模・高次元 → 計算効率を考慮した派生手法 (関連用語) を選択
  3. Step 3: 結果の解釈・共有は?
    • 専門家向け → 数値指標・統計検定で精緻に評価
    • 非専門家向け → 可視化・自然言語での要約を重視

このフローに沿って判断することで、 「区間推定」を中核とした適切な手法選択ができる。

❌ 「真値が区間にある確率 95%」と誤解
頻度論では区間が確率変数、 真値は固定。 ベイズの信用区間との混同に注意。
❌ 正規近似の安易な適用
n < 30 や非正規分布では t 分布や Bootstrap を使う。
❌ 複数 CI の同時解釈
100 個の CI を作れば 5 個は真値を含まない。 多重比較補正を。
❌ CI で「有意」を判定
95% CI が 0 を含めば「α=0.05 で有意でない」と等価。 だが効果量の解釈に重点を置くべき。
❌ 区間幅の意味
区間が広い = 不確実性大。 「狭ければ信頼できる」と短絡しない(バイアスは別問題)。

📜 ひとことヒストリー

区間推定 は「推測統計」分野の中で発展してきた概念・手法です。 学術的には継続的な研究で精緻化され、 実務的にはツール・ライブラリの普及で誰でも使えるようになってきました。 用語の使い方・意味は時代と分野で少しずつ変わるため、 文脈に応じた解釈が大切です。 入門書だけでなく、 標準的な教科書(例:データサイエンス・統計学の定本)や信頼できるオンライン教材も併用すると、 ぶれない理解に近づけます。

✅ 実務チェックリスト — 区間推定

  • □ 用語の定義を自分の言葉で説明できるか
  • □ 使うべき場面と使ってはいけない場面を区別できているか
  • □ 数式や指標の前提条件を確認したか
  • □ 入力データの尺度・分布・サンプル数を確認したか
  • □ 結果の不確実性(信頼区間・標準誤差)を把握しているか
  • □ 解釈と限界を区別できているか
  • □ 関連用語・落とし穴を一通り点検したか
  • □ レポートに必要な情報(出典・前提・限界)を含められるか

🎯 まとめ — このページで押さえること

「区間推定」 はこのページで詳しく扱った概念です。 持ち帰ってほしい 3 つの要点

  1. 区間推定=母数を「1 点」ではなく「区間」で推定する手法。
  2. 代表的形式:95% 信頼区間 = 「同じ手順を繰り返せば 95% の確率で真値を含む区間」。
  3. 正解 ≠ 「真値が区間にある確率 95%」(頻度論的解釈の落とし穴)。

さらに学ぶには、 関連用語関連グループ教材 を参照してください。 各用語ページを縦断的に読むことで、 体系的な理解が育ちます。

🧭 解説深化 — 「境界のある母数」で対称区間が壊れる場所

区間推定を「平均 ± 誤差」の一枚岩として覚えると、 母数に上限・下限があるときに足をすくわれる。 このページ上部の実装②では「人口が中央値以上の県の割合」(比率 p = 0.5)で Wald 区間と Wilson 区間がほぼ一致した。 ここでは、 その裏面 ―― p が 0 に近い端の領域で対称区間がどう破綻するかを、 実データで正面から見る。 これは信頼区間ページ・点推定ページとは重ならない「境界問題」という独自の切り口である。

🎨 直感 — 区間は「幅」だけでなく「置き場所」も選ぶ

平均の区間 $\bar{x} \pm z\,SE$ が素直に働くのは、 標本平均の散らばりが左右対称で、 数直線のどこにでも置けるからだ。 ところが比率は必ず $[0,1]$ に住む。 真の比率が 0 の近くにあると、 標本比率のばらつきは「下は 0 で壁に当たり、 上にだけ伸びる」非対称な形になる。 それなのに対称な $\pm$ を機械的に当てると、 区間の下端が壁を突き抜けて負の値に飛び出す。 「幅を決めれば区間が決まる」のではなく、 端の近くでは区間をどこに・どんな形で置くかまで気にする必要がある ―― これが区間推定を一段深く理解する鍵である。

⚠️ 落とし穴(重要) — Wald 区間の下限が「負の比率」になる実例

SSDSE-B-2026 の 2023 年 47 都道府県・総人口 (A1101) から、 人口 800 万人以上の県の割合を推定する。 該当は 東京都 (14,086,000)・神奈川県 (9,229,000)・大阪府 (8,763,000) の 3 県。 標本比率は $\hat{p} = 3/47 = 0.0638$(6.38%)と 0 に近い端の領域だ。 同じデータ・同じ 95% で、 3 通りの区間を並べる(すべて下の Python 実測値)。

手法 95% 区間 判定
Wald(正規近似) [ −0.0061, 0.1337 ] 下限が 負(−0.61%) ―― 比率としてあり得ない
Wilson [ 0.0220, 0.1716 ] $[0,1]$ 内・上下非対称で妥当(推奨)
Clopper-Pearson(厳密) [ 0.0134, 0.1754 ] 保守的だが必ず被覆を保証

Wald は $\hat{p}$ を中心に左右対称に $\pm z\sqrt{\hat{p}(1-\hat{p})/n} = \pm 1.960 \times 0.0357 = \pm 0.0699$ を振るため、 中心 0.0638 から下に 0.0699 引くとマイナスに落ちる。 Wilson は $\hat{p}$ ではなく「区間の端で観測が説明できる母比率」を解くので中心が右にずれ、 下限は 0 を割らない。 教訓: 比率・計数・分散・相関のように母数に境界がある量で、 標本統計量が端に寄っているときは、 対称な正規近似(Wald)を機械的に使わないこと。 中央 (p=0.5 付近) では三者ほぼ一致するので、 差が出るのはまさに判断が微妙な端だけ ―― そこで壊れるのが厄介なのである。

📝 再現メモ: df=pd.read_csv('data/raw/SSDSE-B-2026.csv',encoding='cp932',skiprows=[1]); d=df[df['SSDSE-B-2026']==2023]; k=int((d['A1101']>=8_000_000).sum()) # =3, n=47。 Wilson/Clopper-Pearson は scipy.stats.binomtest(3,47).proportion_ci(method='wilson' / 'exact') で算出。

🚀 発展 — 「境界問題」は比率だけの話ではない