論文一覧に戻る 📚 用語解説(ジャストインタイム型データサイエンス教育)
サンプルサイズ
Sample Size (n)
観測したデータの個数。nが大きいほど統計量の精度が上がり、小さな効果でも有意になりやすい。
推測統計n標本サイズn数サンプル数
📍 文脈💡 30秒結論📖 詳しく🎨 直感図📐 数式⚠️ 落とし穴🔗 関連用語

📍 あなたが今見ているもの

論文の冒頭で「n = 47(47都道府県)」と書かれる数字。 ほぼ全ての統計量の信頼性を左右する基本要素。

サンプルサイズ とは:観測したデータの個数。nが大きいほど統計量の精度が上がり、小さな効果でも有意になりやすい。

💡 30秒で分かる結論

📖 もっと詳しく

サンプルサイズ n は 「データの個数」 です。 47都道府県データなら n=47、 1000人のアンケートなら n=1000。 単純な数字ですが、 n は分析結果の精度・検出力・解釈の全てを支配する重要パラメータです。

n の効果:n が大きいほど、 (i) 推定値のばらつき(標準誤差)が小さくなる、 (ii) 信頼区間が狭くなる、 (iii) 検定の検出力(小さな効果も発見できる確率)が上がる。 $\sqrt{n}$ 則:標準誤差は $1/\sqrt{n}$ で減るので、 精度を2倍にしたければ n を4倍にする必要がある。

n が小さすぎる弊害:(i) 検定の検出力不足で「効果あり」を見逃す、 (ii) 推定値が不安定で再現できない、 (iii) 外れ値の影響を受けやすい。

n が大きすぎる弊害:(i) 実用上無視できる小さな差でも p<0.001 になり、 「有意」が氾濫する、 (ii) 計算コストが上がる。

都道府県データ n=47 は中規模。 重回帰では n ≥ 10×(説明変数の数) が経験則なので、 n=47 だと説明変数は4〜5個までが目安。 多変量分析(PCA、 クラスタリング)も実行可能だが、 結果の安定性に注意。

🎨 直感で掴む

サンプルサイズ
n=5 と n=100 の信頼区間幅の比較。 n を増やすと CI は劇的に狭くなる。

📐 数式

【標本平均の標準誤差】
$$SE(\bar{x}) = \frac{\sigma}{\sqrt{n}}$$
平均の精度は n の平方根に反比例して向上する

⚠️ よくある落とし穴

❌ 「n が大きい = 良い研究」ではない
偏ったサンプル(バイアス)の場合、 n を増やしても誤った結論に近づくだけ。 サンプルの代表性 がまず重要。 1000人の偏ったサンプルより、 100人の代表サンプルの方が信頼できる。
❌ 統計的有意性に依存しすぎる
n=10万 のビッグデータでは、 r=0.02 でも p<0.001 になる。 「統計的有意」と「実質的重要」は別物。 必ず効果量も見る。
✅ 事前パワー分析
実験を計画するときは、 「検出したい効果量」「α」「目標 power」 から必要な n を逆算するのが推奨。 Python なら statsmodels.stats.power

✅ 実務チェックリスト — 推測統計を使う前に

1. データの確認

2. 検定・推定の設計

3. 結果の報告

4. 解釈の注意

📚 推測統計を学ぶための重要文献

🆚 推測統計の主要用語 — 一目で分かる対比表

用語 記号 何を測る? 公式
標準偏差σ, sデータ1個のばらつき√(Σ(x-x̄)²/(n-1))
標準誤差SE推定値のばらつきσ/√n
信頼区間CI真値の入る範囲x̄ ± z·SE
p値p偶然この結果が出る確率P(|T| ≥ |t_obs| | H₀)
有意水準αType I 誤り許容率通常 0.05
検出力1-β真の差を検出する確率1 - Pr(Type II error)
効果量d, r, R²差の大きさCohen's d = (μ₁-μ₂)/σ
サンプルサイズn標本数power analysisで決定

🧪 A/Bテストのサンプル設計 — 完全ガイド

必要なパラメータ

  1. ベースライン率 p₁:現在のコンバージョン率(例:5%)
  2. 最小検出可能効果(MDE):検出したい改善幅(例:+10%相対 → 5.5%)
  3. 有意水準 α:通常 0.05
  4. 検出力:通常 0.80(または 0.90)
  5. 片側 vs 両側:通常両側

計算例

p₁ = 5%、 MDE = +20%相対(p₂ = 6%)、 α = 0.05、 検出力 = 0.80:

テスト期間の決定

1日あたりのアクセス数 D 、 必要サンプル N の場合、 期間 = N/D 日。 ただし最低でも 1-2 週は曜日効果を均すため。

逐次検定(ベイジアン A/B)

古典的な「事前に N を決める」方式とは別に、 ベイズ統計では「データを見ながら判断」できる手法も発展中。 Optimizely や Google Optimize で採用。

🤖 機械学習でのサンプルサイズ

① 学習曲線(learning curve)で診断

サンプルを徐々に増やして学習し、 訓練・検証スコアの推移を可視化。 「データ追加でモデルが伸びる余地があるか」を判断:

1
2
3
4
5
6
7
8
9
from sklearn.model_selection import learning_curve
import matplotlib.pyplot as plt

train_sizes, train_scores, val_scores = learning_curve(
    estimator, X, y, train_sizes=np.linspace(0.1, 1.0, 10),
    cv=5, scoring='accuracy')

plt.plot(train_sizes, train_scores.mean(axis=1), label='Train')
plt.plot(train_sizes, val_scores.mean(axis=1), label='Validation')

検証スコアがプラトーに達していれば、 さらにサンプルを増やす効果は薄い。

② 経験則 — 特徴量数の比

③ クラス不均衡データ

マイナークラスのサンプル数こそ重要。 「2クラス分類で1%しかないクラス」を学習するには、 そのクラスだけで最低数百は欲しい。

④ アクティブラーニング

「次にラベル付けすべきサンプル」を選ぶ手法。 同じ精度をより少ないサンプルで達成。 医療画像など、 ラベル付けコストが高い場面で有効。

🆘 サンプルが少ない時の対処

⚠️ ただし「サンプルが少ない」は本質的な限界。 どんなテクニックを使っても、 n が極端に少なければ強い結論は出せない。 結果の不確実性を明示すべき。

🗺️ 概念マップ — 3つの視点で体系を理解する

サンプルサイズ がデータサイエンスの体系の中でどこに位置するかを、 3つの異なる視点で可視化します。 同じ情報でも見方を変えると気付きが変わります。

📍 体系階層のパス

🌐 統計・データサイエンス推測統計推定標本サイズ

① 🔗 関係マップ — 「他の手法とどう繋がっているか」

中心の概念から放射状に、 前提・兄弟・発展形・応用先などの関係性を矢印で結びます。 横の繋がりを見るのに最適。 ノードをドラッグ、 ホイールでズーム、 クリックで遷移

凡例:現在の用語上位カテゴリ兄弟(並列)前提発展形応用先2階層先

② ⭕ 包含マップ — 「どのカテゴリに含まれているか」

大きな円が小さな円を包含する Circle Packing 図。 「サンプルサイズ」は緑色でハイライト

📍現在地:統計・データサイエンス

③ 🌳 ツリーマップ — 「面積で見るボリューム比較」

長方形を入れ子に分割した Treemap 図。 各分野の規模感を面積で比較。 「サンプルサイズ」は緑色でハイライト

🎯 3つのマップの使い分け

マップ 分かること こんな時に見る
🔗 関係マップ手法間の横の関係(前提→発展→応用)「次に何を学べばよい?」 学習順序の判断
⭕ 包含マップ分類体系の入れ子構造(上位⊃下位)「この手法はどんなジャンルに属する?」
🌳 ツリーマップ分野の規模比較(面積=ボリューム)「データサイエンス全体の俯瞰像」

💡 ジャストインタイム学習のヒント:3つの視点を行き来することで、 概念を多角的に理解できます。 包含マップやツリーマップはズーム/ドリルダウンで大分類から細部まで探索できます。

🔖 キーワード索引(補強)

サンプルサイズと検出力に関する主要概念チップ集。

n 検出力 α(第一種の誤り) β(第二種の誤り) 効果量 Cohen's d 事前パワー解析 事後パワー 標準誤差 $1/\sqrt{n}$ A/Bテスト 逐次検定 適応的設計 バイアス 代表性 確証バイアス 非劣性試験 同等性試験 クラスター n デザインエフェクト

🧮 SSDSE-B-2026 で実値計算 — サンプルサイズの考察

SSDSE-B-2026 は 47都道府県 = n=47 の典型的な「小〜中規模パネル」。 サンプルサイズに関連する具体計算を実行します。

例1:47都道府県の平均値の標準誤差

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
from statsmodels.stats.power import TTestIndPower

analysis = TTestIndPower()

# 必要なサンプルサイズを計算
n_required = analysis.solve_power(
    effect_size=0.5,  # 中程度の効果量(Cohen's d)
    alpha=0.05,
    power=0.80,
    ratio=1.0  # 2群が同じサイズ
)
print(f'各群に必要なサンプルサイズ: {n_required:.0f}')

# 与えられたnでの検出力
power = analysis.solve_power(
    effect_size=0.3, n_obs=50, alpha=0.05)
print(f'検出力: {power:.3f}')

📚 サンプルサイズの経験則

分析の種類 最低 n 推奨 n
単回帰30100+
重回帰(説明変数 k)10k + 1020k + 50
因子分析100200-300
クラスタリング2^k × 10数百
機械学習(教師あり)10 × 特徴数数千〜数万

🚧 サンプルサイズの落とし穴

1️⃣ 検出力不足

n が小さいと、 真に差があっても見つけられない(false negative)。 研究設計時に必ず power analysis を。

2️⃣ 過剰なサンプル

大きすぎる n は意味のない小さな差も「有意」に。 効果量で実用的意義を判断。

3️⃣ コストとのトレードオフ

サンプルが大きいほど精度は上がるが、 コストも増える。 √n でしか改善しないため、 設計時に慎重に。

4️⃣ 多重比較

多くの検定を行う場合、 必要な n は劇的に増えます(補正後の α が小さくなるため)。