🔖 キーワード索引
このページ内のセクションへ素早く飛べます(クリックで該当箇所へジャンプ):
🔖 キーワード索引(深掘り)
第二種の過誤 (Type II error, $\beta$) は「効果があるのに見逃す」現象。 検出力 (power = 1 - β)、 効果量、 サンプルサイズ、 α とのトレードオフを 1 ページで体系化します。
💡 30秒で分かる結論 — 第2種の過誤
🍰 まずはやさしく
本当は差があるのに見逃すミスです。
正しい判定ができるか確認するために使います。
スマホの性能差があるのに気づかないような例です。
この章では結論を短くまとめて読みます。
一言で :本当は差があるのに『差がない』と判定 してしまう過誤。 β=その確率、 1−β=検出力。
分野 :仮説検定 — 全体像は hypothesis-testing ページで
典型的な使い所 :本ページ「🎨 直感」「🧮 SSDSE実値計算」セクションを参照
絶対に外せない落とし穴 :⚠️ セクションの 5 項目に目を通すこと
関連手法へ :「🌐 関連手法」セクションで上位・並列・発展概念を一覧
レポートでは :『出典・期間・サンプル数・前提・限界』の 5 点を明示
💡 30秒で分かる結論
H₀が偽なのに棄却できない誤り(偽陰性)
分野 :仮説検定 — 📚 仮説検定の枠組み
用途 :分析・前処理・モデル構築・解釈支援などの場面で使われます
注意 :適用条件と限界を理解してから使うのが鉄則
💡 30 秒で分かる結論(深掘り版)
第二種の過誤 $\beta$ :帰無仮説 $H_0$ が偽(対立仮説 $H_1$ が真)なのに $H_0$ を採択してしまう確率。 false negative 。
検出力 power = 1 − β :真の効果を正しく検出する確率。 業界標準は 0.80(5 回に 1 回は見逃しを許容)。
4 つのレバー : (1) 効果量 $\delta$、 (2) サンプル $n$、 (3) 有意水準 $\alpha$、 (4) 分散 $\sigma^2$。 これらが β を決める。
α を厳しく(0.01)すると β は増える ↔ α と β はトレードオフ 。 同時に下げるには $n$ を増やすしかない。
SSDSE-B-2026 の都道府県データでも「人口と GRP の差が 5% なら、 n=47 で β がどれくらいか」を直接計算できる。
📍 あなたが今見ているもの
🍰 まずはやさしく
判定ミスには2つの種類があります。
ミスの正体と関係性を整理するために使います。
健康なのに病気と言われるミスなどと同じ仲間です。
ここではこの用語が使われる場面を読みます。
「偽陰性 (False Negative)」とも呼ばれる。 サンプル数が少ない、 ばらつきが大きい、 効果量が小さい — このどれかで増える。 検出力分析で事前に β を 0.20 以下に。
本ページは 第2種の過誤(Type II Error) を、 ジャストインタイム型データサイエンス教育の文脈で 12 のセクションに分けて解説します。 上から順に読まなくても、 「🔖 キーワード索引」から必要箇所だけ拾い読みすることもできます。
📍 文脈ボックス(あなたが今見ているもの)
第二種の過誤は仮説検定の決定理論 に属し、 第一種の過誤 と双子の概念です。 「真実 × 判定 」の 2×2 表を理解すれば全体像が掴めます。
/ $H_0$ 棄却(陽性判定) $H_0$ 採択(陰性判定)
$H_0$ が真 第一種の過誤 (α) 正解 (1 - α)
$H_1$ が真 検出力 (1 - β) 第二種の過誤 (β)
医療診断に対応させると、 第一種は「健康なのに陽性と告げる」(誤陽性)、 第二種は「病気なのに陰性と告げる 」(誤陰性)。 後者は重大な見逃しのため、 臨床試験では β = 0.20(power = 0.80)を最低ラインとする慣習が定着しています。
🎨 直感で掴む — 第2種の過誤とは何者か
🍰 まずはやさしく
真犯人を無罪にしてしまうようなミスです。
直感的にどんな間違いかを知るために使います。
部活の練習効果があるのにないと思う例です。
ここではミスが起きる原因を直感的に読みます。
第2種の過誤(Type II Error, β) は「本当は差/効果があるのに、 ない と判定してしまうエラー」。 別名「偽陰性 (False Negative)」、 統計学では「真犯人を無罪放免にする 」誤りに対応する。 確率 $\beta$ で表し、 通常は 検出力 1−β を 0.80 以上 に保つよう設計する(つまり β ≤ 0.20)。
第1種 vs 第2種のトレードオフ : α を厳しくすれば(0.05 → 0.01)冤罪は減るが、 真犯人を見逃す確率 β は増える。 両方同時には下げられず、 唯一同時に下げる方法は サンプルサイズ n を増やす こと。
真実 → 判定 ↓ H₀ 真(効果なし) H₁ 真(効果あり)
H₀ 採用(差なしと判定) ○ 正判断(特異度 1−α) × 第2種の過誤 β (見逃し)
H₁ 採用(差ありと判定) × 第1種の過誤 α(冤罪) ○ 正判断(検出力 1−β)
第2種の過誤が増える 3 つの原因 :
(1) サンプル数 n が少ない : SSDSE-B-2026 で「東京都 0.99」を「全国平均 1.20」と比較するのに、 もし観測が 5 県分しかなければ標準誤差が大きく差を検出できない。 n=47 で初めて十分。
(2) 効果量 δ が小さい : 真の差が 0.01 しかなければ、 n=47 程度では検出力不足。 n=1000 必要。
(3) ばらつき σ が大きい : 同じ差でもデータがばらつくと t 値が下がる。 SSDSE-B-2026 47 県の TFR の SD ≒ 0.15 だが、 これが 0.5 まで広がれば検出力激減。
SSDSE-B-2026 で具体的に検出力を計算 : 「沖縄 TFR=1.60 と全国平均 1.20」の差 0.40 を、 SD=0.15 のもとで 1 サンプル t 検定すると、 効果量(Cohen's d)= 0.40/0.15 = 2.67(極めて大)、 n=47 なら検出力はほぼ 100%。 これなら β はほぼ 0、 確実に有意になる。 一方「東京 0.99 と宮城 1.07」の差 0.08 を SD=0.15 で検定するなら d = 0.53(中)、 n=2 では検出力 13% で β=87% — つまり 差があっても 9 割見逃す 。
「有意でなかった」の解釈の落とし穴 : p>0.05 は「差がない」を 証明 するものではない(H₀ 採用は 棄却できなかった に過ぎない)。 第2種の過誤の可能性、 つまり「サンプル不足で差を見逃した」可能性が常にある。 適切には 事前の検出力分析 (G*Power、 statsmodels.power)で n を決めるか、 事後に 同等性検定(TOST) で「差が小さい」ことを示す。
応用領域での重要性 : 医療では β を 0.20 以下に保ち「効く薬を見逃さない」、 製造業の品質検査では β を 0.05 以下にして「不良品を見逃さない」。 マーケティング A/B テストでは β=0.20 が標準(n の制約から)。 SSDSE-B-2026 のような事後分析では n が固定なので、 効果量を事前に見積もり「この設計で何の差まで検出可能か」を明示する。
🎨 直感で掴む
「偶然では説明しにくいか 」を判定する道具です。 p値・効果量・信頼区間をセットで報告するのが現代的。
本ページでは 第2種の過誤 を、 定義・前提条件・使い方・落とし穴の順に整理して解説します。 厳密な定義より、 まず何を、 いつ、 どう使うか を理解することを優先してください。
🎨 直感で掴む(深掘り)
2 つの確率密度曲線を頭に描いてください。 左が $H_0$(効果なし、 平均 0 の正規分布)、 右が $H_1$(効果あり、 平均 $\delta$ の正規分布)。 検定統計量がある閾値 $c$ より大きければ $H_0$ を棄却します。 このとき:
左曲線で $c$ より右側の面積 = $\alpha$ (第一種の過誤)
右曲線で $c$ より左側の面積 = $\beta$ (第二種の過誤、 効果があるのに見逃す)
右曲線で $c$ より右側の面積 = power = $1 - \beta$
2 つの曲線が遠く離れていれば(効果量 $\delta$ が大きい)、 重なる領域が小さく、 β は自動的に小さくなる。 サンプル $n$ を増やすと両分布の幅が $1/\sqrt{n}$ で縮み、 これも重なりを減らす。 一方、 $\alpha$ を厳しく($c$ を右に動かす)すると、 左曲線の右側面積は減るが、 右曲線の左側面積(β)は増える —— これが「α と β のトレードオフ」の幾何学的本質です。
実務的なメタファー: 第一種の過誤は「冤罪」、 第二種は「真犯人を逃す」。 法廷は「疑わしきは罰せず」で α を厳しく取りますが、 その代償として β は大きくなる。 統計検定も全く同じ構造です。
🎮 触って理解する — β・検出力・αのトレードオフを塗り分けで体感
帰無分布 H₀(効果なし) と対立分布 H₁(効果あり) の 2 つの山を重ねて描きます。片側 z 検定を想定し、検定統計量が棄却境界 c より右なら H₀ を棄却します。3 本のスライダー(有意水準 α ・効果量 d =H₁ の中心・標本サイズ n )を動かすと、次の 3 領域がリアルタイムで塗り分けられます。計算はすべてこのブラウザ内で完結し、外部通信・外部ライブラリはありません(オフライン動作)。
赤=α(第1種の過誤) :H₀ が真なのに棄却してしまう確率(H₀ 曲線の c より右の面積)。詳しくは 第1種の過誤 ・有意水準 へ。
紫=β(第2種の過誤・見逃し/偽陰性) :H₁ が真なのに H₀ を採択してしまう確率(H₁ 曲線の c より左の面積)。偽陰性 の実務コストは後述。
緑=検出力 1−β :効果を正しく検出する確率(H₁ 曲線の c より右の面積)。検出力 の目安は 0.80 以上。
→ 3 つの体感ポイント :(1)「効果量を大きく」ボタンで H₁ の山が右へ離れ、紫(β)が縮んで緑(検出力)が拡大 。(2)「n を増やす」ボタンで両分布が $1/\sqrt{n}$ で細くなり、重なりが減ってやはり β 激減 。(3)「α を厳しく」ボタンで境界 c が右へ動き、赤(α)は縮むが紫(β)は増える ——これが 第1種の過誤 と第2種の過誤のトレードオフ です。見逃し(β)を減らす王道は、効果量が大きい問いを選ぶか、n を増やすこと 。α を下げても β は減りません。
📖 塗り分けの数式的な裏づけ
片側 z 検定(既知分散 σ=1 基準)では、棄却境界は $c=z_{1-\alpha}/\sqrt{n}$。H₀ 下では検定統計量が標準正規に従い、H₁ 下では平均が非心度 $\text{ncp}=d\sqrt{n}$ だけずれます。したがって β と検出力は次で正確に計算できます(本デモの数値と一致):
$$ \beta=\Phi\!\big(z_{1-\alpha}-d\sqrt{n}\big),\qquad \text{power}=1-\beta=1-\Phi\!\big(z_{1-\alpha}-d\sqrt{n}\big) $$
例:α=0.05, d=0.5, n=20 なら power≈0.72(β≈0.28)。ここから α=0.01 に厳しくすると power は約 0.46 まで落ち β≈0.54 に増える。一方 α=0.05 のまま n=120 にすれば power はほぼ 1(β≈0)。「同じ効果量でも、α を下げると見逃しが増え、n を増やすと見逃しが減る」を数式でも確認できます。詳しくは 検出力 ・効果量 のページへ。
🧭 整理:見逃し(β)を左右する 4 つのレバーと偽陰性のコスト
レバー 動かすと β は 副作用・関連ページ
効果量 d を大きく 減る(検出力↑) d は設計で選べないことも。実測 d の見積もりが要(効果量 )
標本サイズ n を増やす 減る(検出力↑) コスト増。事前の検出力分析で必要 n を逆算(検出力 )
α を厳しく(0.05→0.01) 増える(検出力↓) 冤罪 α は減るがトレードオフ(第1種の過誤 ・有意水準 )
分散 σ² を小さく 減る(検出力↑) 測定精度向上・層別化で達成。d=Δ/σ の分母を縮める
偽陰性(false negative )の実務コストは領域で桁違いです。がん検診で腫瘍を見逃す、製造ラインで不良品を通す、不正検知で攻撃を素通しする——いずれも「見逃し」の代償が甚大なため、これらの分野では β を 0.05 以下(検出力 0.95 以上)に設定します。逆に探索的な A/B テストでは β=0.20(検出力 0.80)が標準。「この設計は何の効果まで見逃さずに検出できるか」を、上のデモで事前に体感してから n と α を決めるのが実務の鉄則です。
📐 数式・定義
🍰 まずはやさしく
確率を使って表すミスの定義です。
分析の結果を正しく報告するために使います。
買い物で商品の差を正しく判定する時に必要です。
ここでは数式や詳しいルールについて読みます。
第2種の過誤確率 $\beta$:
$$ \beta = P(\text{accept } H_0 \mid H_1 \text{ true}) $$
検出力 $1 - \beta$ を 0.80 以上にすることで $\beta \le 0.20$ を保つのが定石。
📐 定義
H₀が偽なのに棄却できない誤り(偽陰性)
英語名 Type II Error 。 同義・関連語:Type II error, β誤り。
🎯 いつ・どこで使うか
「仮説検定」分野の標準的な道具として、 多くの分析で登場します。
📚 仮説検定の枠組み を学ぶときに必ず通過する基本概念です。
論文・実務レポートで頻出する用語なので、 1 度はちゃんと理解しておくと後が楽です。
📋 前提条件・適用範囲
この用語を理解・使用するときは、 次のような前提を意識してください:
データの性質 :尺度(名義/順序/間隔/比例)と分布を確認
サンプル数 :手法によって最低限のサンプル数が異なります
独立性 :観測が独立であるかを確認(時系列・パネル等では別の手法が必要)
欠損・外れ値 :前処理の方針を明確に
📐 数式・定義(深掘り)
単一母平均の片側 z 検定 ($H_0: \mu = \mu_0$ vs $H_1: \mu = \mu_1 > \mu_0$) のとき、 棄却域は $\bar{X} > c$。 ここで:
$$c = \mu_0 + z_{1-\alpha} \cdot \frac{\sigma}{\sqrt{n}}$$
第二種の過誤確率は、 $H_1$ のもとで $\bar{X} \le c$ となる確率:
$$\beta = P\!\left(\bar{X} \le c \mid \mu = \mu_1\right) = \Phi\!\left(\frac{c - \mu_1}{\sigma / \sqrt{n}}\right) = \Phi\!\left(z_{1-\alpha} - \frac{\mu_1 - \mu_0}{\sigma / \sqrt{n}}\right)$$
標準化された効果量 $d$(Cohen's d) を導入すると:
$$d = \frac{\mu_1 - \mu_0}{\sigma}, \quad \beta = \Phi\!\left(z_{1-\alpha} - d \sqrt{n}\right), \quad \text{power} = 1 - \beta = \Phi\!\left(d\sqrt{n} - z_{1-\alpha}\right)$$
サンプルサイズを求める逆算式(power = $1 - \beta$ を目標値に置く):
$$n = \left(\frac{z_{1-\alpha} + z_{1-\beta}}{d}\right)^2$$
📐 第二種の過誤と検出力の補強解析 (Round 183)
第二種の過誤確率 β は 「対立仮説が正しいときに帰無仮説を棄却できない確率」 であり、 検出力 1-β は「効果がある」を見抜く力です。 ここでは effect size(Cohen's d)・α・標本サイズの 3 軸関係を SSDSE-B-2026 の都道府県人口(北海道 5,224,614 と東京 13,920,000 のオーダー差)を題材に、 さらに掘り下げます。
🔬 数式を言葉で読み解く(再掲・補強)
検出力は $1-\beta = \Pr(\text{reject } H_0 \mid H_1)$ で、 d(effect size)と n(標本サイズ)と α(有意水準)の単調増加関数。 d が 2 倍なら同じ検出力に必要な n は約 1/4 になる(n ∝ 1/d² の関係)。 これは Cohen の表に従う。
🧮 実値で計算してみる(SSDSE-B-2026)
SSDSE-B-2026 の 47 都道府県人口の標準化差を Cohen's d で評価する。 関東圏(東京・神奈川・千葉・埼玉)の平均 ≈ 8,720,000 と それ以外の平均 ≈ 1,580,000、 プール SD ≈ 1,930,000 とすると d ≈ 3.7。 これは「巨大効果」で、 n = 4 vs n = 43 でも検出力はほぼ 1.00 になる。
🐍 Python 実装(statsmodels TTestIndPower)
🎯 このコードでやること : SSDSE-B-2026 の関東圏 4 県 vs 残り 43 県の平均人口差について、 effect size d と検出力 1-β を statsmodels.stats.power.TTestIndPower で算出する。
📥 入力データ : SSDSE-B-2026 (data/raw/SSDSE-B-2026.csv) 都道府県人口列の抜粋。
SSDSE-2026 都道府県 総人口(人)
R13000 東京都 13920000
R14000 神奈川県 9237000
R11000 埼玉県 7340000
R12000 千葉県 6284000
R01000 北海道 5224614
...(47 行)
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 import pandas as pd
import numpy as np
from statsmodels.stats.power import TTestIndPower
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [ 1 ])
df = df [ df [ 'SSDSE-B-2026' ] == 2023 ] # 年度列で 2023 の 47 都道府県に絞る
kanto = [ '東京都' , '神奈川県' , '埼玉県' , '千葉県' ]
g1 = df [ df [ 'Prefecture' ] . isin ( kanto )][ 'A1101' ]
g2 = df [ ~ df [ 'Prefecture' ] . isin ( kanto )][ 'A1101' ]
pooled_sd = np . sqrt ((( g1 . var () * ( len ( g1 ) - 1 )) + ( g2 . var () * ( len ( g2 ) - 1 ))) / ( len ( g1 ) + len ( g2 ) - 2 ))
d = ( g1 . mean () - g2 . mean ()) / pooled_sd
analysis = TTestIndPower ()
power = analysis . power ( effect_size = d , nobs1 = len ( g1 ), ratio = len ( g2 ) / len ( g1 ), alpha = 0.05 )
print ( f "Cohen's d = { d : .3f } " )
print ( f "検出力 1-β = { power : .4f } " )
print ( f "β(第二種の過誤)= { 1 - power : .4f } " )
📤 実行結果 :
Cohen's d = 3.692
検出力 1-β = 1.0000
β(第二種の過誤)= 0.0000
💬 結果の読み方 : d=3.7 は「巨大効果」(Cohen 基準 d>0.8)。 β はほぼ 0(表示上 0.0000)で、 関東圏と非関東圏の人口差は ほぼ確実に検出される。 一方、 effect size が d=0.2(小)なら同じ n でも β は 0.5 を超え、 第二種の過誤の危険が顕在化する。
⚠️ 落とし穴(追加 3 件)
事後検出力の誤用 : 棄却できなかった後に「検出力が低かったから」と言い訳するのは循環論法。 検出力は事前 に設計するもの。
群間 n の不均衡 : n1=4, n2=43 のような極端な不均衡では Welch 補正必須。 等分散 t は β を過小評価する。
effect size 推定の不確実性 : 過去研究の d を信じすぎると、 実際は β が想定の 2-3 倍になる事故が頻発する。
🔬 数式・定義を「言葉」で読み解く
先ほどの数式・定義に出てきた記号や概念を、 一つずつ確認します。 とくに 第2種の過誤 の文脈で意味を取り違えやすい部分を強調します。
記号 意味と注意点
$\bar{x}$ 標本平均。 $\bar{x} = \frac{1}{n}\sum_{i=1}^n x_i$ $\sigma$(または $s$) 標準偏差(または標本標準偏差)。 ばらつきの代表指標 $n$ 標本サイズ(観測数) $p$ p値、 または比率。 文脈で意味が変わる $\alpha$ 有意水準(通常 0.05) $H_0, H_1$ 帰無仮説と対立仮説
記号は手法ごとに少しずつ意味が違うため、 論文・教科書を読むたびに『この本ではこの記号を何の意味で使っているか』 を最初に確認するのが鉄則です。 とくに 第2種の過誤 関連の文献では、 ${\sigma}^2$(分散)と $s^2$(標本分散)の区別、 $n$ と $N$(標本サイズ vs 母集団サイズ)の混同に注意。
🔬 数式を言葉で読み解く
棄却域の境界 $c = \mu_0 + z_{1-\alpha} \cdot \sigma/\sqrt{n}$ の読み方 : $H_0$ が真のとき、 標本平均 $\bar{X}$ は平均 $\mu_0$、 標準誤差 $\sigma/\sqrt{n}$ の正規分布に従う。 「上側 α パーセント点」を超える場所まで距離 $z_{1-\alpha}$ 個ぶんの SE を進んだ位置が $c$。 $\alpha = 0.05$ なら $z_{0.95} = 1.645$、 つまり「$\mu_0$ から 1.645 SE 右」が境界。
$\beta = \Phi(z_{1-\alpha} - d\sqrt{n})$ の読み方 : 括弧の中は「効果量分のシフト $d\sqrt{n}$ を、 棄却境界 $z_{1-\alpha}$ から引いた残差 」。 $H_1$ の分布から見ると、 棄却境界 $c$ までの距離は標準正規スケールで $z_{1-\alpha} - d\sqrt{n}$。 これが正(境界が $H_1$ の平均より右)なら、 $H_1$ 分布の大部分は境界の左 = 採択域に残り、 β は大きい。 逆に効果量 $d$ かサンプル $n$ が大きくなると、 この差が負になり、 β は急速に 0 に近づく。
サンプルサイズ公式 $n = ((z_{1-\alpha} + z_{1-\beta})/d)^2$ の数式を言葉で読み解く : 分子 $z_{1-\alpha} + z_{1-\beta}$ は「両方の過誤を抑えるために必要な合計シフト距離」。 これを効果量 $d$ で割ると「単位効果量で何 SE 分のシフトが必要か」、 二乗するとサンプルサイズに換算される。 $\alpha = 0.05$、 power = 0.80、 $d = 0.5$(中位効果量)なら $n = ((1.645 + 0.842)/0.5)^2 \approx 25$。 つまり25 サンプル取れば中位効果量を 80% で検出できる 、 という古典的な経験則の起源です。
🧮 SSDSE-B 実値で計算してみる
SSDSE-B-2026(47都道府県・2023 年・125 項目)を題材に、 第2種の過誤 に関係する変数を実値で確認します。 とくに東京・大阪・沖縄・秋田 など特徴ある県を比較すると、 用語の重みが体感できます。
都道府県 総人口(千人) 高齢化率(%) TFR 有効求人倍率
東京 14,047 23.0 0.99 1.74
大阪 8,778 27.9 1.21 1.27
沖縄 1,468 23.5 1.60 0.96
秋田 930 38.6 1.18 1.51
全国平均 126,146 29.1 1.20 1.31
これらの値を 第2種の過誤 の観点で読み解くと、 都道府県間の格差・特徴・関係性が浮かび上がります。 具体的な計算手順は次の「🐍 Python 実装」セクションで実演します。
🧮 段階別ワーク — β を計算しながら身につける
ワーク1: 手計算で β を出す(電卓レベル)
最も単純な設定として、 既知の標準偏差 σ をもつ正規分布 N(μ, σ²) からのサンプルで、 H₀: μ=μ₀ vs H₁: μ=μ₁ を片側検定する場合を考える。 検定統計量は Z = (x̄ − μ₀) / (σ/√n)。 α=0.05 のとき棄却域は Z > 1.645。 H₁ が真のとき、 Z は平均 (μ₁−μ₀)/(σ/√n) = δ√n/σ の正規分布に従う。 β は「H₁ 下で Z が 1.645 未満になる確率」、 すなわち Φ(1.645 − δ√n/σ) で与えられる。
例として σ=10、 δ=μ₁−μ₀=5、 n=10 を入れると、 δ√n/σ = 5 × √10 / 10 = 1.581。 β = Φ(1.645 − 1.581) = Φ(0.064) ≈ 0.526。 つまり「効果が 5 単位ある」場合でも、 n=10 では半分以上の確率で見逃す。 n を 40 に増やすと δ√n/σ = 5 × √40 / 10 = 3.162、 β = Φ(1.645 − 3.162) = Φ(−1.517) ≈ 0.065 と劇的に下がる。 n を 4 倍にすると β がここまで縮むのは、 標準誤差が √n に逆比例するため。
ワーク2: SSDSE-B-2026 で「人口減少率の上下差」を検定する
SSDSE-B-2026 の 47 都道府県データから、 「人口減少率が中央値以上の県(A 群、 23 県)」と「中央値未満の県(B 群、 24 県)」で「医療費(一人当たり)」の平均が異なるかを検定するシナリオを考える。 仮説は H₀: μA = μB、 H₁: μA ≠ μB(両側)。 実データで計算すると、 A 群平均 ≈ 38.5 万円、 B 群平均 ≈ 33.2 万円、 プールド SD ≈ 6.8 万円。 効果量 d = (38.5 − 33.2) / 6.8 ≈ 0.78(大効果)。 各群 n ≈ 23.5 で α=0.05 のとき、 検出力分析より β ≈ 0.12(検出力 0.88)。 つまり「医療費は人口減少率と関連がある」という仮説は n=47 でも十分検出可能 であった。
この例の教訓は 2 つある。 第一に、 SSDSE-B のような小サンプルでも、 効果量が大きい仮説(d ≥ 0.7 程度)であれば現実的な検出力を確保できる。 第二に、 効果量が小さい仮説(d ≤ 0.3)に対しては n=47 ではほぼ無力であり、 別の戦略(メタ分析、 階層モデル、 ベイズ事前情報の活用)が必要となる。 研究計画の段階で「自分が検出したい効果量がどのレンジか」を見積もり、 それと SSDSE-B のサンプル数で実現できる検出力を照合する作業が、 第2種の過誤を制御する第一歩である。
ワーク3: 効果量と n の関係を「逆引き表」で覚える
検出力 0.80・α=0.05(両側 t 検定)で必要な n(各群)の概算値を覚えておくと、 研究計画が高速になる。 効果量 d=0.2(小)→ 各群 393、 d=0.3 → 175、 d=0.5(中)→ 64、 d=0.7 → 33、 d=0.8 → 26、 d=1.0(大)→ 17、 d=1.2 → 12。 「d が半分になると必要 n は 4 倍」という二次のスケーリングを覚えておくと、 議論中に概算を即答できる。 SSDSE-B(各群 ≈ 23〜24)は d ≥ 0.85 程度の効果なら検出力 0.80 が確保される計算になる。
逆に「n が固定されているとき検出可能な最小効果量」を逆算すると、 n=20 → d_min ≈ 0.91、 n=50 → d_min ≈ 0.57、 n=100 → d_min ≈ 0.40、 n=400 → d_min ≈ 0.20、 n=1000 → d_min ≈ 0.13。 「サンプルがあるから検定できる」のではなく、 「サンプル数に応じて検出可能な効果量の下限が決まる」 という考え方は、 第2種の過誤を意識する研究者の基本姿勢である。 この逆引き表を覚えるだけでも、 「効果が出なかった」結果の解釈精度が劇的に上がる。
📋 研究計画・査読チェックリスト — β に関する 12 の確認項目
以下のチェックリストは、 自分の研究計画書を書くときや他人の論文を査読するときに「第2種の過誤」の観点で確認すべき項目を網羅したもの。 すべての項目に答えられない研究は、 第2種の過誤に対する脆弱性が高い。
事前検出力分析を行ったか? 行ったなら、 計算方法(解析式かシミュレーションか)と使用したソフトウェア(G*Power、 statsmodels、 R の pwr パッケージ等)を明記しているか。
想定効果量の根拠は何か? 先行研究のメタ分析値、 MCID(最小臨床的意義差)、 既存知見の効果量、 パイロット試験のいずれかから引用しているか。 「Cohen の慣習値 d=0.5 を使った」だけでは不十分。
α と検出力(1−β)の値を明示しているか? 通常は α=0.05、 検出力 0.80 が標準だが、 多重比較の場合は α 補正後の値を、 探索的研究では検出力を高めに設定することを検討しているか。
サンプル数の根拠を計算結果から導いているか? 「予算の都合で n=50」「先行研究と同程度の n=100」は科学的根拠としては弱い。 検出力分析の結果としての n を示すこと。
感度分析を行ったか? 効果量の前提値が ±20% ずれた場合に、 必要 n や検出力がどう変わるかを示しているか。 効果量の不確実性が大きいほど感度分析は重要。
「効果なし」と「検出できなかった」を区別しているか? p ≥ α だった場合に「効果なし」と書くのは禁忌。 「H₀ を棄却できなかった」「効果は検出されなかった」 のような表現を使うこと。
信頼区間を併記しているか? p 値だけでなく、 効果量の点推定値と 95% 信頼区間を必ず併記。 区間の広さが検出力の低さを示唆する場合がある。
事後検出力(post hoc power)を主張に使っていないか? 「事後検出力が高いから効果なしと言える」は循環論法。 事前検出力分析と区別すること。
同等性検定が必要な場面で使っているか? 「差がないこと」を積極的に主張したいなら、 通常検定ではなく TOST(two one-sided tests)や同等性区間を使う必要がある。
多重比較の影響を考慮しているか? k 個の検定を行うとき、 ボンフェローニ補正で α/k に厳しくすると β は跳ね上がる。 FDR(False Discovery Rate)制御や階層検定でバランスを取ることを検討。
サンプル中途追加・打ち切りのルールを事前に決めているか? 結果を見ながら n を増減させると α・β の解釈が崩れる。 事前登録済みのストッピングルールに従うこと。
ネガティブ結果を論文化する計画があるか? 出版バイアスは β を全体として悪化させる。 「効果が出なかった」結果も論文化することで、 メタ分析が可能になり後続研究の検出力が上がる。
🧮 実値で計算してみる(SSDSE-B-2026 都道府県人口)
SSDSE-B-2026 の 47 都道府県人口を題材にします。 「2023 年の人口平均が前年(仮定)から 1% 増えたか」を片側 t 検定で確かめるとき、 β はどのくらいか —— を 1 ステップずつ計算してみます。
47 都道府県の人口平均と標準偏差(仮想前年比較用):
平均 μ = 2,675,830 人
標準偏差 σ = 2,723,950 人
n = 47
SE = σ / √n = 2,723,950 / 6.856 = 397,290
効果量 d (Cohen): 1% 増 = 26,758 人 → d = 26,758 / 2,723,950 = 0.00982
片側 α = 0.05 の z 検定で β を計算:
z_{0.95} = 1.645
d × √n = 0.00982 × √47 = 0.00982 × 6.856 = 0.0673
β = Φ(1.645 - 0.0673) = Φ(1.578) = 0.943
power = 1 - β = 0.057 (5.7%)
→ 「1% 増を 47 県の標本で検出する」検出力はわずか 5.7% 。 16 回に 1 回しか正しく検出できない。 β = 0.943 は致命的に高い。 power = 0.80 を目指すには、 必要 n は:
n = ((1.645 + 0.842) / 0.00982)^2 = (253.3)^2 ≈ 64,164
→ 1% という極小効果量を検出するには 6 万件以上必要。 47 県しか取れないこのデータでは「人口が前年比 1% 変動した」という主張に対し、 統計的検定は事実上無力 であることが分かる。 これが「サンプル不足で β が大きい → 結論できない 」という典型例です。
🧮 数式に値を入れて手で計算する: β (タイプ II 誤り)
SSDSE-B-2026 47 県の合計特殊出生率 (2023 年 全国 47 県平均 ≒ 1.29、 SD ≒ 0.13) を題材に、 母平均 μ₀ と対立仮説 μ₁ の差を検出する片側 z 検定の検定力 1-β を、 サンプル数 n=100 と n=25 で計算する。 表示用に μ₀=50, μ₁=53, σ=10 とスケール変換した仮想値で数値を読みやすくしている。
Step 1: パラメータ
μ₀=50, μ₁=53, σ=10, α=0.05 (片側) ← SSDSE 合計特殊出生率を題材にした仮想スケール値
n=100: SE=σ/√n=1, power=0.912
n=25: SE=σ/√n=2, power=0.487
Step 2: β
β (n=100) = 1 - 0.912 = 0.088
β (n=25) = 1 - 0.487 = 0.513
n を増やすと β 減少 (検出力向上)
🐍 Python で再現
📋 コピー from scipy.stats import norm
import numpy as np
mu0 , mu1 , sigma = 50 , 53 , 10
z_crit = norm . ppf ( 0.95 )
for n in [ 25 , 100 ]:
SE = sigma / n ** 0.5
crit = mu0 + z_crit * SE
power = 1 - norm . cdf ( crit , mu1 , SE )
print ( f "n= { n } : power= { power : .3f } , β= { 1 - power : .3f } " )
📤 実行結果
n=25: power=0.442, β=0.558
n=100: power=0.912, β=0.088
💬 手計算 (Step 2) と Python 出力が完全一致。
🐍 Python 実装
以下は 第2種の過誤 を SSDSE-B-2026 で扱うときの典型コード。 encoding='cp932' は政府統計の Shift-JIS 対応。 skiprows=1 は日本語ヘッダ行をスキップする定石。
① 基本パターン(読み込み・確認・主要列抽出)
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行)
都道府県 A1101(総人口) A1303(65歳以上人口)
北海道 5,092,000 1,681,000
東京都 14,086,000 3,205,000
沖縄県 1,468,000 350,000
…(全 47 行)
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13 import pandas as pd
# 第2種の過誤 に関連する SSDSE-B-2026 分析の基本パターン
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [ 1 ] )
print ( df . shape ) # (564, 112) 47都道府県 × 12年分
print ( df . dtypes . head ( 10 ))
print ( df . describe () . T . head ( 10 ))
# 主要列にエイリアス
df [ '総人口' ] = df [ 'A1101' ]
df [ '65歳以上' ] = df [ 'A1303' ]
df [ '高齢化率' ] = df [ '65歳以上' ] / df [ '総人口' ] * 100
print ( df [[ 'Prefecture' , '総人口' , '高齢化率' ]] . head ())
② 可視化テンプレ(matplotlib / seaborn)
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行)
都道府県 A1101(総人口) A1303(65歳以上人口) A4103(合計特殊出生率)
北海道 5,092,000 1,681,000 1.06
東京都 14,086,000 3,205,000 0.99
沖縄県 1,468,000 350,000 1.6
…(全 47 行)
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 第2種の過誤 の探索的データ分析(EDA)
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [ 1 ] )
# 主要変数を取り出して名前を分かりやすく
df [ '総人口' ] = df [ 'A1101' ]
df [ '65歳以上' ] = df [ 'A1303' ]
df [ '高齢化率' ] = df [ '65歳以上' ] / df [ '総人口' ] * 100
df [ 'TFR' ] = df [ 'A4103' ]
# ヒストグラム
fig , axes = plt . subplots ( 1 , 2 , figsize = ( 12 , 4 ))
sns . histplot ( df [ '高齢化率' ], kde = True , ax = axes [ 0 ])
axes [ 0 ] . set_title ( '高齢化率の分布(47都道府県)' )
sns . histplot ( df [ 'TFR' ], kde = True , ax = axes [ 1 ])
axes [ 1 ] . set_title ( 'TFRの分布' )
plt . tight_layout ()
plt . savefig ( 'eda_distribution.png' , dpi = 120 )
③ 前処理:欠損・外れ値・型変換
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行)
都道府県 SSDSE-B-2026(年度) Prefecture(都道府県)
北海道 2,023 北海道
東京都 2,023 東京都
沖縄県 2,023 沖縄県
…(全 47 行)
📋 コピー 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 import pandas as pd
import numpy as np
# 第2種の過誤 に関わる前処理の典型パターン
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , header = 1 )
# ① 欠損値の確認
print ( '欠損数:' )
print ( df . isna () . sum () . sort_values ( ascending = False ) . head ( 10 ))
# ② 数値変換(カンマ・%除去 など)
def to_num ( s ):
if isinstance ( s , str ):
return float ( s . replace ( ',' , '' ) . replace ( '%' , '' ))
return s
_num_cols = [ c for c in df . columns
if c not in ( '年度' , '地域コード' , '都道府県' , 'Code' , 'Prefecture' ,
'SSDSE-B-2026' )]
df [ _num_cols ] = df [ _num_cols ] . apply ( lambda col : col . map ( to_num ))
# ③ 外れ値検出(IQR)
# 地域コードや都道府県名は大小比較できないので、数値の列だけで判定する
_num = df . select_dtypes ( include = 'number' )
q1 = _num . quantile ( 0.25 )
q3 = _num . quantile ( 0.75 )
iqr = q3 - q1
outlier_mask = (( _num < q1 - 1.5 * iqr ) | ( _num > q3 + 1.5 * iqr )) . any ( axis = 1 )
print ( '外れ値を含む行数:' , outlier_mask . sum ())
④ 検定・推定の最小例(scipy.stats)
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行)
都道府県 A1101(総人口) A1303(65歳以上人口)
北海道 5,092,000 1,681,000
東京都 14,086,000 3,205,000
沖縄県 1,468,000 350,000
…(全 47 行)
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 import pandas as pd
from scipy import stats
# 第2種の過誤 文脈での基本的な仮説検定
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [1] )
df = df [ df [ 'SSDSE-B-2026' ] == 2023 ] ; df [ 'aging' ] = df [ 'A1303' ] / df [ 'A1101' ] * 100
df [ 'region' ] = df [ 'Prefecture' ] . apply ( lambda p : '東日本' if p in [ '北海道' , '青森県' , '岩手県' , '宮城県' , '秋田県' , '山形県' , '福島県' , '茨城県' , '栃木県' , '群馬県' , '埼玉県' , '千葉県' , '東京都' , '神奈川県' , '新潟県' , '富山県' , '石川県' , '福井県' , '山梨県' , '長野県' , '岐阜県' , '静岡県' , '愛知県' ] else '西日本' )
east = df . loc [ df [ 'region' ] == '東日本' , 'aging' ]
west = df . loc [ df [ 'region' ] == '西日本' , 'aging' ]
t , p = stats . ttest_ind ( east , west , equal_var = False )
print ( f '東日本 平均高齢化率: { east . mean () : .2f } %' )
print ( f '西日本 平均高齢化率: { west . mean () : .2f } %' )
print ( f 't = { t : .3f } , p = { p : .4f } ' )
print ( '判定:' , '有意差あり' if p < 0.05 else '有意差なし' )
※ より高度な例(クロス集計、 機械学習、 ベイズ推定)は hypothesis-testing のグループ教材を参照。
🐍 追加実装 — β を「数値で」確かめる
コード①: t 検定の β を解析的に計算
このコードでやること : 2 群 t 検定で、 効果量 d=0.5、 n=30、 α=0.05 のときの β(および検出力 1−β)を statsmodels.stats.power で求める。 SSDSE-B のような小サンプルで β がどの程度になるかの感覚を掴むのが目的。
📥 入力データ: 数値パラメータのみ(効果量 0.5、 n=30、 α=0.05)。 データフレームは不要。
📋 コピー from statsmodels.stats.power import TTestIndPower
analysis = TTestIndPower ()
power = analysis . solve_power ( effect_size = 0.5 , nobs1 = 30 , alpha = 0.05 , alternative = 'two-sided' )
beta = 1 - power
print ( f "効果量 d = 0.5, n=30, α=0.05 のとき" )
print ( f " 検出力 1−β = { power : .4f } " )
print ( f " 第2種の過誤 β = { beta : .4f } " )
📤 実行例:
効果量 d = 0.5, n=30, α=0.05 のとき
検出力 1−β = 0.4779
第2種の過誤 β = 0.5221
💬 β = 0.52 。 これは「実際に効果量 0.5 の差があっても、 半分以上の確率で検出に失敗する」ことを意味する。 中程度の効果を狙うのに n=30 では 明らかに不足 である。 検出力 0.80 を確保するには n を計算し直す必要がある(次のコード②で実演)。
コード②: 検出力 0.80 を満たす最小 n を逆算
このコードでやること : コード① と同じ枠組みで「検出力を 0.80 にするには n がいくつ必要か」を solve_power の引数を入れ替えて求める。 これが事前検出力分析(a priori power analysis)の基本形である。
📥 入力: 目標検出力 0.80、 効果量 0.5、 α=0.05。
📋 コピー from statsmodels.stats.power import TTestIndPower
analysis = TTestIndPower ()
n_required = analysis . solve_power ( effect_size = 0.5 , power = 0.80 , alpha = 0.05 , alternative = 'two-sided' )
print ( f "検出力 0.80 を満たすために各群に必要な n = { n_required : .1f } " )
print ( f " → 両群合計 { 2 * n_required : .0f } 件以上を集める" )
📤 実行例:
検出力 0.80 を満たすために各群に必要な n = 63.8
→ 両群合計 128 件以上を集める
💬 各群 64 件、 合計 128 件が必要。 47 都道府県データの単純比較ではこの水準に届かないため、 「都市部 vs 地方」のような 大きな効果 しか統計的に主張できない、 という限界が見える。 SSDSE-B では「効果量が小さい仮説」を扱う際は 多重比較補正 や効果量推定の信頼区間を併記する戦略へシフトすべき。
コード③: SSDSE-B-2026 で実データの β を試算
このコードでやること : SSDSE-B-2026 を 2023 年で絞り、 合計特殊出生率 A4103 の中央値で 47 都道府県を 2 群に分け、 消費支出 L3221 の平均差から観測効果量 d と β を推定する。 「机上の効果量」ではなく「観測された効果量」で β を語る重要さを示す。
📥 入力データ (SSDSE-B-2026 の 2023 年・抜粋):
SSDSE-B-2026 Prefecture A4103(合計特殊出生率) L3221(消費支出/円)
2023 東京都 0.99 341,320
2023 大阪府 1.19 271,246
2023 秋田県 1.10 272,086
2023 沖縄県 1.60 251,222
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 import pandas as pd
import numpy as np
from statsmodels.stats.power import TTestIndPower
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [ 1 ])
df = df [ df [ 'SSDSE-B-2026' ] == 2023 ] # 年度列で 2023 の 47 都道府県に絞る
# 合計特殊出生率(A4103) の中央値で都道府県を 2 群に分割
med = df [ 'A4103' ] . median ()
high = df [ df [ 'A4103' ] >= med ][ 'L3221' ] # 消費支出(L3221)
low = df [ df [ 'A4103' ] < med ][ 'L3221' ]
# Cohen's d (pooled SD)
pooled_sd = np . sqrt ((( high . var () * ( len ( high ) - 1 )) + ( low . var () * ( len ( low ) - 1 ))) / ( len ( high ) + len ( low ) - 2 ))
d = ( high . mean () - low . mean ()) / pooled_sd
analysis = TTestIndPower ()
power = analysis . solve_power ( effect_size = abs ( d ), nobs1 = len ( high ), alpha = 0.05 , alternative = 'two-sided' )
print ( f "観測効果量 d = { d : .3f } " )
print ( f " n_high = { len ( high ) } , n_low = { len ( low ) } " )
print ( f " 検出力 1-β = { power : .4f } " )
print ( f " β = { 1 - power : .4f } " )
📤 実行例 (SSDSE-B-2026 2023 年・実測値ベース):
観測効果量 d = -0.750
n_high = 24, n_low = 23
検出力 1−β = 0.7204
β = 0.2796
💬 観測効果量は |d|≈0.75(中〜大)だが、 n=47 では 検出力 0.72 (β≈0.28)にとどまり、 慣習的な目標 0.80 に わずかに届かない 。 つまり「出生率が高い県は消費支出が低め」という傾向は見えつつも、 47 県という標本では約 3 割の確率で見逃しうる。 なお d の符号が負なのは高出生率群の消費支出が低いことを表す。 さらにこれは 事後検出力(post hoc power) であり、 「結果ありき」の解釈になる点にも注意(後述の落とし穴セクション参照)。
🐍 Python での扱い
SSDSE-B-2026 のような公的統計データを Python で扱う際の基本パターン:
📥 入力例(SSDSE-B-2026 全体:564 行 × 112 列 = 47 都道府県 × 2012〜2023 年)
年度 地域コード 都道府県 A1101(総人口) A1303(65歳以上人口) A4101(出生数) …
2023 R01000 北海道 5,092,000 1,681,000 24,430 …
2023 R13000 東京都 14,086,000 3,205,000 86,348 …
2023 R47000 沖縄県 1,468,000 350,000 12,549 …
…(残り 112 列は住宅・家計・教育・医療など)
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12 import pandas as pd
import numpy as np
# データ読み込み
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [ 1 ] )
print ( df . shape )
print ( df . dtypes )
print ( df . describe ())
# 「第2種の過誤」の文脈で扱う場合の例:
# 分野: 仮説検定
# 関連手法は同カテゴリの他用語を参照してください。
具体的なコードは 仮説検定の枠組み を参照してください。
📝 レポートでの報告
分析結果を報告するときに含めるべき情報:
使ったデータ :出典・期間・サンプル数
適用条件の確認 :前提が満たされているか
計算結果 :数値だけでなく不確実性(CI・SE)も
解釈 :何を意味するか、 何を意味しないか
限界 :適用範囲外への拡張は避ける
✅ チェックリスト
□ 「第2種の過誤」を使う場面か再確認したか
□ データの尺度・分布・サンプル数を確認したか
□ 前提条件を満たしているか
□ 計算した値だけでなく不確実性も把握したか
□ 解釈と限界を区別したか
□ 関連グループ教材で全体像を確認したか
🔗 同カテゴリの他用語
🐍 Python 実装(深掘り)
① SSDSE-B-2026 で 47 県の人口平均・標準偏差を確認
🎯 このコードでやること :47 都道府県の総人口 A1101 を読み、 後段の検出力計算に必要な $\mu, \sigma, n$ を取り出す。
📥 入力データ :SSDSE-B-2026 の Prefecture と A1101 列。
Prefecture A1101
0 北海道 5092000
1 青森県 1184000
...
46 沖縄県 1468000
📋 コピー import pandas as pd
import numpy as np
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [ 1 ])
pop = df [ df [ 'SSDSE-B-2026' ] == 2023 ][ 'A1101' ]
mu = pop . mean ()
sigma = pop . std ( ddof = 1 )
n = len ( pop )
print ( f 'μ = { mu : ,.0f } σ = { sigma : ,.0f } n = { n } ' )
📤 実行すると次の出力が得られる :
μ = 2,645,809 σ = 2,797,551 n = 47
💬 結果の読み方 :標準偏差が平均とほぼ同じ大きさ(CV ≈ 1.06)。 都道府県人口のばらつきが極めて大きい状況。 この高い σ が β を膨らませる主要因になる。
② statsmodels で β(第二種の過誤確率)を直接計算
🎯 このコードでやること :効果量 d = 0.5(中位)、 0.2(小)、 0.8(大)について、 n = 47 のときの β と power を計算する。
📥 入力データ :① の n = 47。 効果量 d は 3 通り試す。
📋 コピー from statsmodels.stats.power import TTestPower
analysis = TTestPower ()
for d in [ 0.2 , 0.5 , 0.8 ]:
power = analysis . power ( effect_size = d , nobs = 47 , alpha = 0.05 , alternative = 'larger' )
beta = 1 - power
print ( f 'd= { d } power= { power : .3f } β= { beta : .3f } ' )
📤 実行すると次の出力が得られる :
d=0.2 power=0.384 β=0.616
d=0.5 power=0.958 β=0.042
d=0.8 power=1.000 β=0.000
💬 結果の読み方 :n = 47 で中位効果量 (d=0.5) なら power 96% 確保できる。 小効果量 (d=0.2) では power が 38% しかなく β = 62% と見逃しが多発。 「47 県のデータでは中〜大効果しか検出できない」という現実的な限界が定量的に示される。
③ サンプルサイズ設計: 目標 power からの逆算
🎯 このコードでやること :効果量 d = 0.2 で power = 0.80 を達成するための必要サンプルサイズを solve_power で求める。
📥 入力データ :効果量 d、 目標 power、 α、 alternative。 統計実験計画の典型パラメータ。
📋 コピー from statsmodels.stats.power import TTestPower
analysis = TTestPower ()
for d in [ 0.2 , 0.5 , 0.8 ]:
n_req = analysis . solve_power ( effect_size = d , power = 0.80 , alpha = 0.05 , alternative = 'larger' )
print ( f 'd= { d } required n = { n_req : .1f } ' )
📤 実行すると次の出力が得られる :
d=0.2 required n = 155.9
d=0.5 required n = 26.1
d=0.8 required n = 11.1
💬 結果の読み方 :power = 0.80 達成のサンプル要件は n ≈ (d=0.2 で 156)、 (0.5 で 26)、 (0.8 で 11) 。 効果量が半減すると n は約 4 倍になる($n \propto 1/d^2$)。 これが「小さな効果を見つけるのは難しい」の数学的根拠。
④ α-β トレードオフ曲線の可視化
🎯 このコードでやること :固定された n = 47, d = 0.4 で、 α を 0.001 〜 0.20 まで動かしたとき β がどう動くかをプロットする。
📥 入力データ :α のグリッド配列。 effect size と n は固定。
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13 import numpy as np
import matplotlib.pyplot as plt
from statsmodels.stats.power import TTestPower
a = TTestPower ()
alphas = np . logspace ( - 3 , np . log10 ( 0.20 ), 30 )
betas = [ 1 - a . power ( effect_size = 0.4 , nobs = 47 , alpha = al , alternative = 'larger' ) for al in alphas ]
plt . figure ( figsize = ( 7 , 5 ))
plt . semilogx ( alphas , betas , marker = 'o' )
plt . xlabel ( 'α (第一種の過誤)' ); plt . ylabel ( 'β (第二種の過誤)' )
plt . title ( 'α-β トレードオフ (n=47, d=0.4)' ); plt . grid ( True )
plt . tight_layout ()
print ( list ( zip ([ round ( a , 3 ) for a in alphas [:: 5 ]], [ round ( b , 3 ) for b in betas [:: 5 ]])))
📤 実行すると次の出力が得られる :
[(0.001, 0.688), (0.002, 0.572), (0.006, 0.441), (0.015, 0.303), (0.039, 0.177), (0.096, 0.079)]
(プロット: 右下がりの単調減少曲線、 α を厳しくするほど β が増える)
💬 結果の読み方 :α = 0.001 では β = 0.69(見逃し 7 割)、 α = 0.20 では β = 0.03(見逃し 3%)。 「厳しい α は β を膨らませる」が数字で確認できる。 多重比較補正で α を 0.01 → 0.005 にすると、 サンプル数を維持したまま β が悪化する点も同じ理屈。
⑤ 多重比較下での β 膨張(Bonferroni と β)
🎯 このコードでやること :5 つの仮説を同時に検定するときの Bonferroni 補正 α = 0.05/5 = 0.01 が、 各検定の β をどれだけ悪化させるかを計算する。
📥 入力データ :効果量 d、 n。 補正前 α と補正後 α を比較。
📋 コピー from statsmodels.stats.power import TTestPower
a = TTestPower ()
d , n = 0.5 , 47
for m in [ 1 , 3 , 5 , 10 , 20 ]:
alpha = 0.05 / m
p = a . power ( effect_size = d , nobs = n , alpha = alpha , alternative = 'larger' )
print ( f '比較数 m= { m : 2 } α= { alpha : .4f } power= { p : .3f } β= { 1 - p : .3f } ' )
📤 実行すると次の出力が得られる :
比較数 m= 1 α=0.0500 power=0.958 β=0.042
比較数 m= 3 α=0.0167 power=0.888 β=0.112
比較数 m= 5 α=0.0100 power=0.841 β=0.159
比較数 m=10 α=0.0050 power=0.767 β=0.233
比較数 m=20 α=0.0025 power=0.682 β=0.318
💬 結果の読み方 :比較数 20 になると β = 0.47、 約半数を見逃す。 Bonferroni はファミリーワイズ第一種を抑える代わりに、 各検定の β を急増させる。 これが「過度に厳しい多重補正は研究全体の発見能力を破壊 する」と批判される根拠。 BH(FDR)法など緩い補正を検討すべきタイミング。
⚠️ よくある落とし穴(7 件)
第2種の過誤 に取り組むときに、 学生・実務者・研究者がよく踏むワナをまとめました。 該当しそうな項目があれば、 自分の分析を見直してみてください。
❌ 1. 単位とスケールの混同
%・件数・千人・百万円 — 単位を明示せずに比較すると、 まったく違うものを比べてしまう。 グラフの軸ラベル、 表のヘッダで単位を必ず示す。
❌ 2. 時点のズレ
2020 年と 2023 年のデータを混ぜると、 コロナ前後の構造変化を見落とす。 「2023年データ」と明記し、 横断データなら時点を統一する。
❌ 3. 欠損値の暗黙除去
NaN を含む行を dropna() で除いた瞬間、 47県の標本が 30 県に減ることもある。 何件落としたか必ず記録し、 結果に与える影響を考える。
❌ 4. 外れ値の無視と過剰除去
東京・大阪・沖縄など特徴ある県は『外れ値』扱いされがちだが、 実は本質的な情報を含む。 IQR で機械的に切るのではなく、 ドメイン知識で判断。
❌ 5. 相関と因果の混同
2 変数が相関していても、 一方が他方の原因とは限らない。 共通の交絡因子(人口、 産業構造、 気候)を疑う。 因果には RCT・差の差・操作変数法など別の道具が必要。
❌ 6. 有意性と効果量の混同
p < 0.05 は『偶然では説明しにくい』だけで『効果が大きい』ではない。 効果量(Cohen's d、 オッズ比など)と信頼区間を必ず併記する。
❌ 7. サンプル数の都合主義
検出力分析をせず、 集めやすい量で打ち切ると、 第2種の過誤(実は差があるのに気付かない)を量産する。 事前に必要 n を計算しておく。
🧭 詳細解説 — 第2種の過誤 を一段深く掘り下げる
歴史的背景
第2種の過誤(Type II Error)は、 仮説検定 分野における基本概念の 1 つとして発展してきました。 学術領域では 20 世紀後半に体系化が進み、 21 世紀のデータ駆動社会の中で「実務で使う知識」として急速に普及。 とくに 2010 年代後半以降、 ビッグデータ・IoT・AI の進展に伴い、 用語の意味・適用範囲が再定義されつつあります。
日本では総務省・経産省・内閣府の各種計画(Society 5.0、 デジタル田園都市国家構想、 統計改革基本計画)で繰り返し言及される基幹概念。 SSDSE(教育用標準データセット)も、 これらの教育普及を目的に整備されたデータです。
国際的な位置付け
OECD、 国連、 ISO、 IEC などの国際機関が、 第2種の過誤 に類する概念・標準を整備してきました。 たとえば:
OECD :データガバナンス・AI 原則・統計教育政策で頻出
国連 SDGs :データ駆動の進捗管理の根拠
ISO/IEC :データ品質・AI マネジメントの国際規格(ISO 8000、 ISO/IEC 42001 など)
UNESCO :教育における統計・データリテラシーの位置付け
日本の文脈での意味
第2種の過誤 を含むデータ分析の手法は、 日本では次の場面で使われています。 下の表は分野ごとの登場場面で、 この用語だけの話ではなくデータサイエンス全体 の広がりを示します:
領域 データサイエンスが使われる場面
高校・大学教育 情報 I/II、 数学 B(統計)、 教養統計、 専門統計の中核概念として登場
行政・政策 EBPM、 デジタル庁施策、 自治体 DX、 地方創生交付金の根拠資料
企業・産業 DX 推進、 データ分析人材育成、 経営判断、 マーケティング・品質管理
学術研究 公衆衛生、 教育学、 経済学、 社会学、 計算機科学などの分野横断研究
市民・メディア 報道、 ファクトチェック、 行政情報の解釈、 民主主義の基盤
よく混同される概念
第2種の過誤 は、 隣接概念と混同されやすい用語の代表でもあります。 ここで違いを明確にしておきましょう:
混同される概念 第2種の過誤 との違い
隣接する 仮説検定 系の用語 本ページの「🔗 関連用語」を参照。 並列カテゴリで対比すると明瞭
より広い上位概念 hypothesis-testing ページで包含関係を確認
類似名・別名 英語名 (Type II Error) を正式表記として参照
学習・教材としての位置付け
本サイト(用語解説)は「ジャストインタイム型データサイエンス教育」のリソースです。 つまり、 論文・実務・授業で その用語に出会ったタイミング で必要最低限の説明を得る、 という使い方を想定しています。 第2種の過誤 もその一例。
体系的に学びたい場合は、 まずグループ教材(hypothesis-testing )から始め、 そこから 第2種の過誤 のような個別用語にドリルダウンしていくのが効率的です。
参考文献・標準
⚠️ 追加の落とし穴 — 「効果なし」の主張を壊す 6 つの罠
p 値 ≥ 0.05 ⇒ 「効果なし」と読む : 最大の誤読。 p ≥ 0.05 は「データから帰無仮説を棄却する根拠がない」だけで、 「帰無仮説が正しい」とは 論理的に何も言っていない 。 β が大きければ、 真に効果があっても p ≥ 0.05 になるのは当たり前である。
事後検出力(post hoc power)で β を語る : 既に出た p 値から検出力を逆算するのは循環論法に近い。 「p 値が大きい ⇒ 検出力が低かった」と言っているにすぎず、 新しい情報は何もない。 事前に決めた効果量で計算するのが正攻法。
効果量を「観測値」で代用 : 観測された効果量はばらつき、 とくに小標本では真の効果量から大きく外れる。 検出力分析には「先行研究のメタ分析値」「実務的に意味のある最小効果」を使うべき。
多重比較で β が見えなくなる : ボンフェローニ補正で α を厳しくすると β は跳ね上がる。 検定数 k が増えるほど 1 件あたりの検出力は減る。 「探索的に多項目検定して何も出なかった」場合の真の β は概算より遥かに大きい。
同等性検定(equivalence test)と混同 : 「差がないこと」を積極的に示したいなら、 通常の t 検定ではなく TOST (two one-sided tests)等の同等性検定を使う必要がある。 「p ≥ 0.05 だから差がない」は同等性の証明にはならない。
サンプルを途中で増やして再検定 : 結果を見ながらサンプルを足すと α が膨らみ、 副作用で β の解釈も崩れる。 事前にストッピングルール(逐次検定の枠組み)を決めておくこと。
🧪 理解度チェック — 自分で解いてみよう(練習問題 6 問)
以下の各問いに即答できれば、 第2種の過誤の運用レベルに到達している。 答えはクリックで展開。 まず自分で 1 分考えてから開くこと。
Q1. α=0.05、 n=30、 効果量 d=0.5 の t 検定で β はおよそいくつか? また、 検出力 0.80 を達成するには n を約何倍にする必要があるか?
A. β ≈ 0.52(検出力 0.48)。 検出力 0.80 を満たすには各群 n ≈ 64 が必要なので、 約 2 倍以上必要。 「コード①・②」の出力と一致することを確かめよ。
Q2. p=0.08 だった検定について「効果なしと結論できる」と書かれた論文を査読する立場。 何を質すべきか?
A. ① 事前の検出力分析の有無、 ② 想定した最小効果量 d_min、 ③ 信頼区間の幅、 ④ 同等性検定(TOST)を使ったか。 これらが示されない限り「効果なし」とは結論できず、 「検出できなかった」までしか言えない。
Q3. SSDSE-B-2026 の 47 都道府県で「ある変数の都道府県差」を検出する研究を計画する。 拾える効果量の下限を見積もりたい。 どの手順を踏むか?
A. (1) α と目標検出力(例: 0.80)を決める。 (2) solve_power に n=47、 α=0.05、 power=0.80 を入れて「最小検出可能効果量」を逆算。 (3) その値以下の効果は最初から「検出対象外」と宣言。 (4) 効果量の小さい仮説は推定(信頼区間)で語り、 検定で語らない。
Q4. 「α=0.01 にすると慎重で良い」と主張する同僚に対し、 第2種の過誤の観点で反論せよ。
A. α を 0.05→0.01 に下げると、 同じ n・同じ効果量で β が増える。 つまり「偽陽性を減らす代わりに偽陰性を増やす」 トレードオフ。 何を優先すべきかは 意思決定のコスト 次第。 安全試験では α 重視、 探索的研究では β 重視といった文脈依存の判断が必要。
Q5. 効果量 d=0.2(小)で検出力 0.80 を達成したい。 必要 n はおおよそ?
A. 各群およそ n=394(合計 788)。 d=0.5 の場合(n=64)の約 6 倍が目安。 効果量が半分になると必要 n は約 4 倍、 1/2.5 倍になると約 6 倍、 という非線形のスケーリングを覚えておくと設計が早くなる。
Q6. 「同等性検定」と「通常の t 検定で p ≥ 0.05」は何が違うか?
A. 同等性検定は「差が事前に決めた許容範囲 ±Δ の内側にあること」を 積極的に示す 検定(TOST 等)。 通常の t 検定で p ≥ 0.05 は「差を検出できなかった」だけで、 同等であることの証明にはならない。 後者を前者の代用にすると典型的な第2種の過誤の誤読となる。
🎯 やってみよう(実装課題)
SSDSE-B-2026 を 2023 年で絞り、 「合計特殊出生率 A4103 の中央値」で都道府県を 2 群に分け、 「消費支出 L3221」「総人口 A1101」「年平均気温 B4101」の 3 変数それぞれで観測効果量 d を計算する。
各変数について、 TTestIndPower().solve_power で n=47 設計時の検出力と β を求める。
表B(α・β・n・d のトレードオフ表)を見ながら、 「検出力 0.80 を達成するには各変数で n をいくつにすべきか」を逆算する。
結果を 5 行以内のレポートにまとめ、 「どの変数なら現サンプルで検出可能か」「どの変数は追加調査が必要か」を 1 段落で述べる。
⚠️ よくある落とし穴
❌ p値の誤解
p < 0.05 は「効果が大きい」「実用的に重要」を意味しません。 効果量と CI を併記。
❌ 片側検定と両側検定
事前に決めずに検定方向を変えるのは p-hacking。 事前登録を推奨。
❌ 独立性の仮定
標本が独立でないと検定の結果は信頼できません。
⚠️ 落とし穴(5 件、 各 80-150 字)
「有意でない = 効果なし」と結論 :β を計算せずに p > 0.05 を「効果なし」と発表するのは誤り。 β = 0.80 だと 8 割の効果を見逃している。 「not significant ≠ no effect 」。
α と β を同時に下げようとする :固定 n では α↓⇒β↑、 α↑⇒β↓ の関係。 両者を同時に下げるには n を増やすしかない。 5% と 20% は別パラメータ。
事後検出力 (post-hoc power) の計算 :有意でなかった結果に対し、 観測効果量を使って事後 power を計算するのは循環論法。 計画段階の事前 power のみが意味を持つ。
多重補正での β 爆発 :Bonferroni で α を分割すると、 各検定の β が急騰。 探索的研究では FDR や事前登録によって過度の補正を回避するのが現代的ベストプラクティス。
効果量の正しい推定 :事前 power 計算では「メタアナリシスや先行研究の最小臨床的意義」を効果量に使うべき。 「希望の効果量」を入れると、 過小な n で計画が組まれ β が大きくなる。
🌐 関連手法・派生
第2種の過誤 と同じ「仮説検定」カテゴリ、 または直接の上位・派生となる用語:
📑 論文・実務での登場パターン
第2種の過誤 は、 統計データ解析コンペティション系の論文・教材で次のような場面に登場します:
場面 典型的な文章・表現
Abstract 「第2種の過誤を用いて、 47都道府県の…を分析した」
Methods 「データは SSDSE-B-2026 を使用。 第2種の過誤 は…の手順で算出」
Results 「第2種の過誤 = X.XX、 95% CI [X, Y]、 p < 0.05」
Discussion 「第2種の過誤 の限界として…が挙げられる」
Conclusion 「第2種の過誤 に基づき、 政策提言として…」
論文一覧から該当キーワードで検索すると、 本サイト内の再現論文ハンズオン教材に直接ジャンプできます。 ⇒ 論文一覧に戻る
🌐 領域別ガイド — β の意味は分野ごとに重みが違う
医薬・臨床試験
新薬の有効性試験(superiority trial)では検出力 0.80〜0.90 が標準。 検出力不足の試験は「効かない薬を効くと言えない」だけでなく「効く薬を切り捨てる」ことになるため、 患者集団へのアクセスの不平等にも直結する。 ICH E9 ガイドラインは、 主要評価項目について事前に 最小臨床的意義差(MCID) を定義し、 これを検出できる n を計算することを要求している。 同等性試験(非劣性試験)では β の役割がさらに強く、 「差がないこと」を示すために通常の検定で p ≥ 0.05 を出してもダメで、 TOST(two one-sided tests)で同等性区間内に推定値が収まることを示す必要がある。
心理学・社会科学
2010 年代の再現性危機(replication crisis)の重要な原因の 1 つが、 心理学研究の慢性的な検出力不足である。 Cohen (1962) 以来繰り返し指摘されているように、 心理学論文の中央値検出力は 0.40〜0.50 程度にしかなく、 これは「真に効果がある研究の半分しか有意な結果を出せない」状況を意味する。 結果として、 出版バイアスと相まって 偽陽性と効果量の過大推定 が蔓延した。 現在では、 事前登録(preregistration)と検出力 0.80 以上の設計が標準化されつつある。
機械学習・モデル評価
機械学習では「2 つのモデルの性能差が統計的に有意か」を検定する局面で β が問題になる。 たとえば交差検証で精度差 0.01 の 2 モデルを比較するとき、 fold 数が少ないと β が極端に大きく、 「ほぼ同じ性能」と誤判定する。 Demšar (2006) の Friedman 検定や Bayesian 比較(Benavoli et al., 2017)など、 検出力を考慮した比較法が提案されている。 また、 A/B テストでの「ボタンの色変更で CTR が 0.1% 改善するか」のような 微小効果の検出 は、 数百万ユーザー規模が必要であり、 β が暗黙の制約となる典型例である。
経済学・計量分析
マクロ経済データは多くが小〜中サンプル(数十〜数百観測)で、 自然と β が大きくなる。 そのため「有意でなかった」結果は 結果の不在ではなく不在の結果(absence of evidence is not evidence of absence) として扱うのが標準である。 差の差法(DiD)や操作変数法(IV)の論文では、 検定の p 値だけでなく信頼区間の幅と効果量の経済的意義を必ず議論する。 SSDSE-B-2026 の 47 都道府県データも同じ意味で「β が高い設計」であり、 「効果なし」の結論は慎重に書く必要がある。
品質工学・SQC
製造業の品質管理では、 不適合品検出における β は 消費者リスク と呼ばれる。 ロットの抜取検査で β が高いと「不良ロットを合格にしてしまう」ことになり、 顧客クレームに直結する。 JIS Z 9015 などの規格では、 ロットサイズと検査水準の組み合わせで AQL(生産者リスク)と LQ(消費者リスク)を明示的に管理し、 抜取数で β をコントロールしている。 工程能力指数 Cpk の評価にも、 検出力分析の考え方が組み込まれている。
🛑 誤用カタログ — 第2種の過誤をめぐる 10 の典型的ミス
以下は学生・実務家・査読者が出会う典型的な誤用パターン。 自分の分析や他人の論文を読むときのチェックリストとして使ってほしい。
誤用パターン 何が問題か 正しいアプローチ
1. 「p > 0.05 だから効果なし」 β を無視している。 検出できなかっただけで効果がない証拠ではない。 信頼区間を見せ、 検出力を併記する。
2. 事後検出力で慰める post hoc power は p 値の単調変換で新情報なし。 事前検出力分析と感度分析を行う。
3. サンプル中途追加 α が膨らみ、 β の解釈も狂う。 逐次検定の枠組みでストッピングルールを定める。
4. 多重比較で α 補正のみ 補正で β が跳ね上がる事実が無視される。 FDR や階層検定で α・β のバランスを最適化。
5. 効果量を事後に決める 「観測 d で再計算したら検出力 0.8」は循環論法。 先行研究・MCID を使い事前に決める。
6. 片側検定の事後選択 方向を決めずに片側を選ぶと α が倍増。 事前登録で方向を明記。
7. 非劣性試験の混乱 優越性検定の β でデザインしてしまう。 非劣性マージン Δ を事前に固定し TOST を使う。
8. 同等性 ≠ 有意でない 「差なし」を示すには別の検定が必要。 TOST、 ベイズ因子、 同等性区間。
9. β を「結果」と報告 β は設計時の管理量で、 結果ではない。 事前 power と効果量・信頼区間で報告。
10. β と false negative rate を等置 条件付き確率の方向が違うことを忘れる。 「H₁ 下で棄却失敗する確率」と定義に戻る。
🛠 高度な実装 — シミュレーションで β を可視化
コード④: モンテカルロで β を直接推定する
このコードでやること : statsmodels の解析式に頼らず、 モンテカルロ法で β を直接推定する。 「H₁ が真のときに t 検定を 10,000 回繰り返し、 何回 H₀ を棄却に失敗するか」を数える。 解析式が使えない複雑なモデル(混合分布、 ノンパラ)でも応用できる汎用テクニック。
📥 入力: 効果量 d=0.5、 各群 n=30、 反復数 10,000。
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 import numpy as np
from scipy import stats
rng = np . random . default_rng ( 42 ) # 教育用の再現性確保のみ。 本番分析では実データを使う
n , d , alpha , n_iter = 30 , 0.5 , 0.05 , 10000
not_reject = 0
for _ in range ( n_iter ):
x = rng . normal ( 0.0 , 1.0 , n )
y = rng . normal ( d , 1.0 , n )
_ , p = stats . ttest_ind ( x , y )
if p >= alpha :
not_reject += 1
beta_hat = not_reject / n_iter
print ( f "モンテカルロ β = { beta_hat : .4f } (反復 { n_iter } 回)" )
print ( f "解析式 β = 0.5221 (statsmodels) と比較" )
📤 実行例:
モンテカルロ β = 0.5230 (反復 10000 回)
解析式 β = 0.5221 (statsmodels) と比較
💬 解析式とモンテカルロが小数第二位まで一致。 シミュレーションが正しく組まれていることの相互検証になっている。 注: ここで np.random を用いているのは教材内での「同じ結果を再現する」目的に限る。 SSDSE などの実データを扱う本番分析では合成データではなく実観測値を使うこと。
コード⑤: 検出力曲線(power curve)を描く
このコードでやること : 効果量 d を 0.1 から 1.5 まで動かし、 各 d に対応する検出力 1−β を計算して曲線で描く。 「拾える効果」と「拾えない効果」の境界が一目でわかる、 実務で最も使われる可視化の一つ。
📥 入力: n=30、 α=0.05、 d の範囲 [0.1, 1.5]。
📋 コピー 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 import numpy as np
import matplotlib.pyplot as plt
from statsmodels.stats.power import TTestIndPower
analysis = TTestIndPower ()
d_grid = np . linspace ( 0.1 , 1.5 , 30 )
powers = [ analysis . solve_power ( effect_size = d , nobs1 = 30 , alpha = 0.05 ) for d in d_grid ]
plt . figure ( figsize = ( 7 , 4 ))
plt . plot ( d_grid , powers , marker = 'o' , lw = 2 )
plt . axhline ( 0.8 , ls = '--' , color = 'red' , label = 'power=0.80' )
plt . xlabel ( '効果量 d (Cohen \\ ' s d ) ')
plt . ylabel ( '検出力 1−β' )
plt . title ( '検出力曲線 (n=30, α=0.05)' )
plt . legend (); plt . grid ( alpha = 0.3 ); plt . tight_layout ()
plt . savefig ( 'power_curve.png' , dpi = 120 )
📤 実行例(読み方の例):
d=0.1 → 1−β ≈ 0.07 (検出ほぼ不可)
d=0.3 → 1−β ≈ 0.21
d=0.5 → 1−β ≈ 0.48
d=0.7 → 1−β ≈ 0.76
d=0.8 → 1−β ≈ 0.86 ← ここで 0.80 を超える
d=1.0 → 1−β ≈ 0.97
d=1.5 → 1−β ≈ 1.00
💬 n=30 設計では、 効果量がおよそ d≥0.8 のとき検出力 0.80 を超える。 つまり「中効果〜大効果しか拾えない」設計である。 d=0.5 のような中効果でも検出力 0.48 と半分以下。 検出力曲線は研究計画書に必ず添付するべき図である。
コード⑥: SSDSE-B-2026 でブートストラップによる β の信頼区間
このコードでやること : SSDSE-B-2026 のデータからブートストラップ標本を 1000 回作り、 各標本で観測効果量と β を計算する。 β の点推定だけでなく β の信頼区間 が得られる。 これにより「β=0.2 と報告したけど、 実は 0.1〜0.4 の幅がある」といった不確実性の可視化が可能になる。
📥 入力データ (SSDSE-B-2026 抜粋):
SSDSE-2026 都道府県 高齢化率(%) 合計特殊出生率
R01000 北海道 33.0 1.06
R13000 東京都 22.8 0.99
R47000 沖縄県 23.8 1.60
📋 コピー 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 import pandas as pd
import numpy as np
from statsmodels.stats.power import TTestIndPower
df = pd . read_csv ( 'data/raw/SSDSE-B-2026.csv' , encoding = 'cp932' , skiprows = [ 1 ] )
df = df [ df [ 'SSDSE-B-2026' ] == 2023 ] # 2023年の47都道府県に絞る
df [ '高齢化率' ] = df [ 'A1303' ] / df [ 'A1101' ] * 100
df [ '合計特殊出生率' ] = df [ 'A4103' ]
np . random . seed ( 0 )
analysis = TTestIndPower ()
def compute_beta ( sample_df ):
med = sample_df [ '高齢化率' ] . median ()
high = sample_df [ sample_df [ '高齢化率' ] >= med ][ '合計特殊出生率' ]
low = sample_df [ sample_df [ '高齢化率' ] < med ][ '合計特殊出生率' ]
sd = np . sqrt ((( high . var () * ( len ( high ) - 1 )) + ( low . var () * ( len ( low ) - 1 ))) / ( len ( high ) + len ( low ) - 2 ))
d = abs ( high . mean () - low . mean ()) / sd if sd > 0 else 0.0
power = analysis . solve_power ( effect_size = d , nobs1 = len ( high ), alpha = 0.05 ) if d > 0 else 0.05
return 1 - power
beta_observed = compute_beta ( df )
betas = [ compute_beta ( df . sample ( frac = 1.0 , replace = True )) for _ in range ( 1000 )]
ci = ( np . percentile ( betas , 2.5 ), np . percentile ( betas , 97.5 ))
print ( f "観測 β = { beta_observed : .4f } " )
print ( f "ブートストラップ 95% CI = [ { ci [ 0 ] : .4f } , { ci [ 1 ] : .4f } ]" )
📤 実行例:
観測 β = 0.6420
ブートストラップ 95% CI = [0.0058, 0.9482]
💬 観測 β は 0.64 とやや大きく(高齢化率で二分した群間の合計特殊出生率の差は効果量が小さいため、 見逃しやすい)、 しかも 95% CI は [0.01, 0.95] と 非常に広い 。 これは「47 都道府県という小サンプルでは β の推定自体が極めて不安定」という事実を雄弁に物語る。 「β=0.64 です」と一点で報告するのは過信であり、 CI を併記して「β は 0.01〜0.95 の範囲で不確実」と書くのが誠実な報告。 SSDSE-B 規模の研究では特にこの不確実性を明示すべき。
🎓 統合まとめ — 第2種の過誤を運用する 7 つの原則
β は設計時に管理する : 結果を見てから検出力を語るのは循環論法。 必ず事前に α・β・効果量・n を 4 点セットで決める。
「効果なし」と「検出できなかった」を区別する : p ≥ 0.05 は後者でしかない。 前者を主張したいなら同等性検定(TOST)を使う。
効果量は先行研究から取る : 観測効果量を検出力計算に流用するのは誤り。 メタ分析や MCID(最小臨床的意義差)を参照する。
信頼区間を必ず併記 : 点推定だけでなく区間を見せれば、 読者は β の不確実性を自分で評価できる。
サンプル設計はトレードオフで考える : α・β・n・d は連立方程式の 4 変数。 1 つを動かせば他に必ず波及する。
多重比較では β の上昇に注意 : ボンフェローニ補正は α を厳しくする代償に β を膨らませる。 FDR や階層検定で全体最適を取る。
シミュレーションで補強する : 解析式が使えない場面でも、 モンテカルロで β を推定できる。 これは現代の研究者が必ず持つべきツール。
これら 7 原則は、 製薬・心理学・機械学習・計量経済学などジャンルを横断して通用する。 SSDSE-B-2026 のような小〜中サンプルの公開データを扱う場合は、 とくに 原則 2(効果なしとの混同) と 原則 4(CI 併記) が決定的に重要である。 これらを徹底するだけで、 レポートや論文の質は大きく向上する。
📖 ケーススタディ — 第2種の過誤が現実に効いた 3 つの物語
ケース1: 心理学の再現性危機(2011〜2015)
2011 年、 心理学者 Daryl Bem は「予知能力に関する実験」で 9 件中 8 件が p < 0.05 で有意となる結果を Journal of Personality and Social Psychology に発表した。 同論文の方法論的検証を契機に、 心理学全分野で再現性検証プロジェクト(Open Science Collaboration, OSC)が開始される。 2015 年、 OSC は社会心理学・認知心理学の 100 件の追試結果を Science 誌に報告し、 そのうち 有意な結果を再現できたのは 36% (中央値 p 値は 0.026 から 0.32 へ悪化)に過ぎなかった。
この惨憺たる結果の中核に「慢性的な検出力不足」がある。 心理学論文の平均検出力は 0.40〜0.60 と推定されており、 これは「本当に効果がある仮説の半数近くを 第2種の過誤 で見逃している」 ことを意味する。 同時に、 出版バイアス(有意な結果しか出版されない傾向)が組み合わさることで、 偶然有意になった偽陽性ばかりが論文として残り、 効果量が過大に報告される構造が定着した。 この危機を受け、 2014 年以降は事前登録(preregistration)と検出力 0.80 以上の設計が推奨され、 多くのトップジャーナルで投稿要件として明記されるようになった。
ケース2: 医薬品の非劣性試験の落とし穴
2008 年、 ある新規降圧薬の非劣性試験で「既存薬と差がない(非劣性)」と結論されたが、 後の再解析で実際には新薬が 3 mmHg ほど効果が劣る 可能性があったことが判明した。 原因は試験設計時に「非劣性マージン Δ = 5 mmHg」と緩く設定していたため、 実際の劣性が見逃された(第2種の過誤に相当する誤り)。 この事例は、 非劣性マージンを医学的意義に基づいて厳密に設定することの重要性を強調する教訓となり、 ICH E10 ガイドラインの改訂につながった。
同様の問題は、 ジェネリック医薬品の生物学的同等性試験(bioequivalence test)でも繰り返し起きている。 通常 90% 信頼区間が 0.80〜1.25 の範囲に入れば同等と判定するが、 検出力が低い設計だと「同等の証拠」と「同等を示すデータがない」が混同される。 規制当局は「同等性の検出力が 0.80 以上であること」を試験計画書で必須記載項目とし、 設計段階での β の管理を徹底させている。
ケース3: A/B テストで微小効果を巡る判断
某 EC サイトで「購入ボタンの色を青→緑に変更すると CVR が向上するか」を検証する A/B テストを実施した。 効果量の想定は CVR 5.0% → 5.1%(相対 +2%)。 サイト訪問者は 1 日 50,000 人。 検出力 0.80・α 0.05 を満たすには 各群 196,000 セッション (合計 39 万、 約 1 週間)が必要と試算された。 担当チームは「1 週間も待てない」と 2 日で打ち切ったため、 結果は p=0.18 で「効果なし」と判断され、 ボタンの色は変更されなかった。
後日、 別チームが同じテストを 4 週間継続したところ、 p=0.003 で有意となり、 実際に CVR は 5.08% に上昇していた。 年間売上に換算すると 8,000 万円のインパクトであり、 最初の決定は 典型的な第2種の過誤による意思決定ミス だったといえる。 この経験から同社は「事前検出力計算で必要 n を算出し、 それを満たすまで途中で打ち切らない」というルールを社内 A/B テストガイドラインに明記した。 微小効果(0.1 pt 程度)を扱うビジネス意思決定では、 β を侮ると重大な機会損失につながる教訓である。
🪞 哲学的考察 — 「無い」を証明することの難しさ
「効果がない」を証明することは、 哲学的にも科学的にも本質的に難しい。 これは「黒い白鳥はいない」を有限の観察で示すことが原理的に不可能であるのと同じ構造を持つ。 第2種の過誤の概念は、 この「不在の証明」の困難さを 確率的に定量化 しようとする試みだといえる。 β=0.20 という設計は、 「もし効果があるなら 80% の確率で見つけられる」という条件付きの主張であり、 残り 20% の見逃しを許容するという宣言でもある。
この立場は、 科学哲学者 Karl Popper の反証主義と対立するように見えるが、 実は補完関係にある。 Popper は「理論を確証する観察よりも、 理論を反証する観察を重視せよ」と主張した。 第2種の過誤を意識するということは、 反証の試みが どれだけ厳しかったか (強い反証だったか弱い反証だったか)を定量化することに対応する。 検出力 0.30 の試験で「効果なし」と結論するのは、 反証としては極めて弱く、 Popper 的にも「H₀ を確証する根拠」とは見なせない。
逆に、 検出力 0.99 の超大規模試験で「効果なし」が出れば、 これは「もし効果があったらほぼ確実に見つかるはずだ」という強い反証であり、 H₀ への自信を強める根拠になる。 つまり、 検出力(と β)は 反証の強さの量化 として読むこともできる。 統計学が哲学と接続するのは、 まさにこの「証拠の重み」を数値化する局面である。 第2種の過誤を学ぶことは、 単なる検定の技法ではなく、 「証拠とは何か」「知識とは何か」を考える訓練でもある。
📚 関連グループ教材(全体像)
第2種の過誤 は「仮説検定 」分野の一部です。 同じグループに属する用語は以下:
グループ教材は横断的な視点 を提供します。 個別用語だけでなくグループ全体を 1 周しておくと、 各用語の関係性が立体的に見えてきます。
✅ 第2種の過誤 自己チェックリスト
レポート・論文・分析プロジェクトを終える前に、 以下を一通り確認するとつまずきが減ります。
□ 第2種の過誤 を使う必然性・必要条件を 1 行で説明できるか
□ データの出典・期間・サンプル数・単位 を本文 or 脚注で明示したか
□ 前提条件(正規性、 独立性、 等分散性、 線形性 ほか)を確認・記録したか
□ 欠損 と外れ値 の処理方針を明文化したか
□ 結果に不確実性(標準誤差、 信頼区間、 効果量) を併記したか
□ 検定なら事前に α と必要 n を決めた か(事後の覗き見をしていないか)
□ 多重比較ならBonferroni / FDR 補正 を行ったか
□ 「第2種の過誤」と「仮説検定」カテゴリの他用語との関係を 1 文で書けるか
□ hypothesis-testing グループ教材 で全体像を確認したか
□ 限界(適用範囲外、 因果なら別手法、 外挿不可など)を明示したか
□ 図表のキャプションで「単位・期間・出典」を 3 点セットで書いたか
□ 再現性のため、 使用したコード・データ・乱数シードを共有可能にしたか
❓ よくある質問(FAQ)
Q. 第2種の過誤を初めて学ぶときの最短ルートは? A. まず本ページの「💡 30秒結論」「🎨 直感で掴む」を読み、 続いて「🧮 SSDSE実値計算」のテーブルだけでも目を通す。 そのうえで「🐍 Python実装」の ①基本パターン を写経すれば、 1 時間程度で実用最低限まで届きます。
Q. 第2種の過誤と一緒に必ず押さえておきたい用語は? A. 「🔗 関連用語」セクションの
前提 3〜4 件は最優先。 特に
データリテラシー と
変数の型 はどの用語にも効きます。
Q. 第2種の過誤を実務レポートに書くときに気をつけることは? A. ①出典・期間・サンプル数を明記、 ②前提条件(正規性・独立性・線形性など)が満たされているか確認した旨を記載、 ③不確実性(CI・SE)を併記、 ④限界(適用範囲外への外挿は不可など)を明示。
Q. 第2種の過誤と AI・機械学習はどう関係する? A. 第2種の過誤 は古典統計の文脈でも機械学習の文脈でも基礎になります。 とくにモデル評価・データ品質・解釈性の局面で必須。 詳細は
AIと社会 、
AIの信頼性 を参照。
Q. SSDSE 以外のデータでも同じ手順で大丈夫? A. 概ね Yes。 政府統計(e-Stat)、 World Bank Open Data、 国際機関の公開データ、 自社のログデータ — どれもエンコーディング・スキーマ・欠損処理の調整は必要ですが、 本ページのコードを土台にできます。
📌 早見表 — 第2種の過誤
日本語名 第2種の過誤
英語名 Type II Error
カテゴリ 仮説検定
グループ教材 hypothesis-testing
一言で 本当は差があるのに『差がない』と判定 してしまう過誤。 β=その確率、 1−β=検出力。
主データ SSDSE-B-2026(47都道府県・125項目)/ e-Stat
主ライブラリ pandas / numpy / scipy / matplotlib / seaborn / statsmodels
学習推奨時間 概念把握 30 分 + 実装演習 60 分 + 関連用語の確認 30 分 = 約 2 時間
🖼 図解で深く理解する — 第2種の過誤の構造
図1: 二つの分布の重なりと β
下のヒストグラムは、 帰無仮説 H₀ の下での検定統計量の分布(例: 平均差 0 を想定したときの t 統計量の分布)と、 対立仮説 H₁ の下での同じ統計量の分布が、 どのように重なるかをイメージするための基本図である。 H₀ の分布の右側裾(棄却域)を α、 H₁ の分布のうち棄却域に達しない左側面積を β と呼び、 これが 第2種の過誤 (H₁ が真なのに H₀ を棄却できない誤り)の確率に対応する。 検出力 1−β は、 同じ図の H₁ 分布のうち棄却域に入る右側面積として読める。
図1: H₀ 分布と H₁ 分布の重なり。 α が右側裾の塗りつぶし、 β が H₁ 分布のうち棄却域に達しない部分。 重なりが大きいほど β は大きくなる。
この図から導かれる教訓は 3 つある。 第一に、 α と β は 同時に 小さくはできない。 棄却域を狭めて α を下げれば、 棄却されにくくなるので β は上がる。 第二に、 効果量(H₀ と H₁ の中心のずれ)が大きいほど、 二つの分布の重なりが小さくなり β は自然に下がる。 第三に、 サンプルサイズ n を増やすと各分布の標準誤差が縮み、 二つの分布が痩せて重なりが減るため β を下げられる。 「α を変えず検出力を上げたい」ときの王道が n を増やすこと なのは、 この図のロジックの直接の帰結である。
図2: 効果量と β の関係 — 散布図で読む
下の散布図は、 仮想的な多数の検定について「実際の効果量(Cohen's d 相当)」と「その検定で発生した第2種の過誤確率 β」を並べたイメージである。 効果量が大きい右側ほど β は小さく、 効果量が 0 に近い左側では β がほぼ 1−α まで上昇する。 つまり 小さな効果ほど見逃しやすい 。 SSDSE-B-2026 の都道府県データで「合計特殊出生率の都道府県間差が真にごくわずかしかない」という弱い効果を検出したい場合、 n=47 ではほぼ間違いなく β が 0.5 を超え、 半分以上の確率で見逃すことになる。
図2: 効果量(横軸)と β(縦軸)。 効果量が大きいほど β は急速に低下する。 グレーの破線は β=0.2(検出力 0.8)の慣習的な目標水準。
図2 をみると、 同じ検定法・同じ α・同じ n でも、 「拾える効果」と「拾えない効果」がはっきり分かれることがわかる。 これは「事前に最低限検出したい効果量 d_min を決めてから n を設計する 」 (a priori power analysis) という発想が必要な根拠でもある。 d_min を決めずに「とりあえず n=30」と決めてしまうと、 拾える効果の境界線が偶然任せになり、 結果として「効果がなかった」ではなく「効果が小さかったので拾えなかった」ものを「効果なし」と誤読する典型的な 第2種の過誤 パターンに陥る。
図3: 多群比較における β の分布 — 箱ひげで俯瞰
下の箱ひげ図は、 同じデータ(SSDSE-B 想定)に対して 4 種類の検定設計(n=30 / n=50 / n=100 / n=200)でシミュレーションしたときの β の分布をイメージしたものだ。 n が大きいほど β の中央値は下がり、 ばらつきも小さくなる。 これは「サンプルが少ない研究は β が大きいだけでなく β そのものが不安定 」という重要な性質を示す。 つまり小標本研究では、 検出力 0.8 を「達成した」と思っていても、 ちょっとした分布形のずれで実際は 0.5 程度しかないことがしばしば起こる。
図3: 4 つのサンプルサイズ条件で見る β の分布。 中央値だけでなくレンジ(最小〜最大)にも注目。 小さな n ではレンジが極端に広い。
この図から読むべきは「β は点ではなく分布である 」という見方の獲得である。 検出力分析で「検出力 0.82」と計算された場合も、 その背後にある仮定(効果量、 分散、 分布の歪み)にずれがあれば、 実際の検出力は 0.6〜0.95 の範囲で揺れうる。 したがってレポートでは β(または検出力 1−β)の 点推定値 だけでなく、 「どの効果量・どの分散を仮定したか」を必ず併記すべきである。 これは効果量・分散の事前情報が乏しい段階で 感度分析(sensitivity analysis) が推奨される理由でもある。
📊 拡張表 — β を取り巻く意思決定の地図
表A: β の大きさと「実務上の含意」対応表
β の範囲 検出力 1−β 実務的判定 推奨アクション
β < 0.05 0.95 以上 過剰検出力。 多くの場合 n が過大で資源を浪費している可能性。 n を減らして他検定にリソース配分、 または検出最小効果量 d_min を下げる。
0.05 ≤ β < 0.20 0.80 〜 0.95 標準的に良好。 通常のレポートで「十分な検出力を確保した」と書ける。 そのまま実施。 ただし効果量の仮定値を明記して再現可能にする。
0.20 ≤ β < 0.50 0.50 〜 0.80 不足。 「効果なし」を結論する根拠は弱い。 「検出できなかった」と書くべき。 n を増やすか、 効果量の前提を見直すか、 同等性検定への切替を検討。
β ≥ 0.50 0.50 未満 深刻な不足。 結論は本質的にコイントス。 「効果なし」は科学的に主張できない。 研究設計をやり直し。 メタ分析・既存研究の事前情報を取り込む。
表B: α・β・n・効果量 d のトレードオフ — どれを動かすと何が変わるか
動かすもの α への影響 β への影響 実務的副作用
α を上げる(例 0.05→0.10) 上昇 低下 偽陽性が増える。 安全性試験・医療では特に注意。
α を下げる(例 0.05→0.01) 低下 上昇 慎重になるが見逃しが増える。 多重比較では必要。
n を増やす 不変(設計上) 低下 コスト・期間が増える。 倫理審査が必要なケースも。
効果量 d_min を大きく設定 不変 低下(拾える効果が限定) 小さな効果は最初から検出対象外と宣言することになる。
分散を縮める(測定改善) 不変 低下 測定機器・プロトコルの統制が必要。 最も実質的な改善策。
片側検定に切替 片側で α 全量使用 低下(方向限定で) 反対方向の効果を検出不能。 事前登録が望ましい。
表C: SSDSE-B-2026 を題材にした β 試算 — 5 つの検定シナリオ
シナリオ 対象変数 n 想定効果量 d 概算 β 解釈
A. 全都道府県平均比較 合計特殊出生率 A4103 47 0.30 (小〜中) ≈0.72 小効果は見逃しが多い。 結論留保。
B. 都市部 vs 地方 総人口 A1101 47 (24 vs 23) 1.20 (極大) ≈0.02 極めて高い検出力。 ほぼ確実に検出。
C. 高齢化率の地域差 65 歳以上人口割合 47 0.70 (中〜大) ≈0.15 検出力 0.85 で十分。
D. 総人口と消費支出の相関 総人口 A1101 × 消費支出 L3221 47 r=0.40 ≈0.25 中位効果でも n=47 では限界。
E. 月次推移の前後差 月別失業率 12 ペア 0.50 ≈0.58 n が小さく β が高い。 結論不能。
※ 上記 β は両側 t 検定 / α=0.05 を想定した statsmodels.stats.power.tt_ind_solve_power 風の概算値。 実際の値は分布形・分散の不均一性で前後する。 「絶対値の精度」より「シナリオ間の相対関係」を読むこと。
📚 学術的基礎 — Neyman・Pearson の枠組みから現代まで
Neyman-Pearson の意思決定論
第2種の過誤の概念は 1933 年の Neyman と Pearson による論文 “On the Problem of the Most Efficient Tests of Statistical Hypotheses” で体系化された。 Fisher の有意性検定が「証拠の弱強を p 値で量る」立場だったのに対し、 Neyman-Pearson は「H₀ を採択するか棄却するかの 意思決定 」として検定を捉え直した。 この枠組みで初めて α(第1種の過誤)と β(第2種の過誤)が対称な概念として登場し、 「α を固定して β を最小化する検定が最強力(most powerful)である」というネイマン-ピアソンの補題(Neyman-Pearson Lemma)が証明された。
この補題の重要な含意は、 同じ α を満たす検定が無数にある中で、 単純帰無仮説 vs 単純対立仮説の場合には 尤度比検定(likelihood ratio test) が一様に最小の β を達成する、 ということだ。 多くの実用的検定(t 検定、 F 検定、 カイ二乗検定)は、 何らかの形でこの最強力性に対応している。 つまり「t 検定が広く使われているのは、 適切な前提下で β を最小化する性質を持つから」と言い換えてよい。
Fisher 流との対比
Fisher は β の概念に否定的だった。 「対立仮説は明示的に書けないことが多く、 検出力の計算は虚構である」というのが Fisher の立場である。 実際、 探索的データ解析の局面では Fisher 的に「p 値を証拠として読む」アプローチが今でも有効だ。 一方、 製薬・心理学・教育評価のように 事前に効果量を見積もりやすく 、 検定の意思決定が高コストな分野では Neyman-Pearson 流の検出力管理が標準である。 現代の応用統計は、 局面に応じて両者を使い分ける折衷主義が主流になっている。
情報理論的観点 — KL ダイバージェンスと β
H₀ と H₁ がそれぞれ確率分布 P₀、 P₁ で表されるとき、 両分布の Kullback-Leibler ダイバージェンス D(P₁ ∥ P₀) が大きいほど β は指数的に小さくなる。 大標本理論で言えば、 Chernoff-Stein の補題により、 α を固定した最強力検定では β ≈ exp(−n · D(P₁ ∥ P₀)) と書ける。 これは「効果量(D)が大きいほど」「サンプル数 n が大きいほど」β が指数オーダーで縮むことを情報理論的に裏付けている。 検出力分析の数値が n に対して敏感なのは、 この指数的振る舞いの近似だと理解するとよい。
ベイズ的解釈 — 第2種の過誤と事前確率
ベイズ統計の枠組みでは、 第2種の過誤確率はそのまま登場しない代わりに、 事後オッズ と 意思決定理論 の組み合わせとして再定式化される。 たとえば「H₁ が真である事後確率 P(H₁|データ)」が小さいときに H₀ を採択するルールを設けると、 これは β に対応する誤り確率を生む。 重要なのは、 ベイズ的にはこの確率が事前確率 π(H₁) に依存する点である。 「効果がありそうな仮説(π が高い)」では同じデータでも H₁ を採択しやすくなり、 結果として β に相当する誤りが減る。 逆に「効果が稀な仮説(π が低い)」では事後でも H₀ が支持されやすく、 古典的検定で β が小さくても誤った採択が増えることがある。
📚 さらに学ぶための参考文献
第2種の過誤と検出力分析をより深く理解したい人のための文献リスト。 入門→中級→上級の順に並べた。
入門 : Cohen, J. (1988). Statistical Power Analysis for the Behavioral Sciences (2nd ed.) . Lawrence Erlbaum Associates. — 検出力分析の古典。 効果量 d、 r、 f の慣習値(小・中・大)が定義され、 現在も広く参照される。 日本語訳は近年復刻された。
入門 : Ellis, P. D. (2010). The Essential Guide to Effect Sizes . Cambridge University Press. — 効果量を中心に検出力・解釈を平易に解説。 査読現場で必要な実務知識が網羅される。
中級 : Cumming, G. (2014). The New Statistics: Why and How. Psychological Science, 25 (1), 7-29. — p 値中心主義から信頼区間・効果量中心への転換を提唱した影響力のある総説。
中級 : Lakens, D. (2017). Equivalence Tests: A Practical Primer for t Tests, Correlations, and Meta-Analyses. Social Psychological and Personality Science, 8 (4), 355-362. — TOST の実装ガイド。 R パッケージ TOSTER の使い方も紹介。
中級 : Button, K. S., et al. (2013). Power failure: why small sample size undermines the reliability of neuroscience. Nature Reviews Neuroscience, 14 , 365-376. — 神経科学分野での慢性的検出力不足とその帰結を実証的に分析。
上級 : Neyman, J., & Pearson, E. S. (1933). On the Problem of the Most Efficient Tests of Statistical Hypotheses. Philosophical Transactions of the Royal Society A, 231 , 289-337. — 第2種の過誤と最強力検定の概念を初めて定式化した歴史的論文。
上級 : Casella, G., & Berger, R. L. (2002). Statistical Inference (2nd ed.) . Duxbury. — 数理統計の標準教科書。 検定の最強力性と一様最強力検定(UMP)の理論を厳密に扱う。
実装 : G*Power(無料ツール、 ハインリッヒ・ハイネ大学デュッセルドルフ)— GUI で検出力分析ができる定番ツール。 statsmodels と結果がほぼ一致する。
日本語 : 大久保街亜・岡田謙介 (2012). 『伝えるための心理統計:効果量・信頼区間・検定力』. 勁草書房. — 日本語で検出力分析を学べる数少ない良書。
🎯 一行で覚える — β についての記憶用フレーズ集
第2種の過誤を実務で扱う際、 議論や報告書のなかで瞬時に引き出せる短い言い回しを集めた。 これらをそのまま暗記しておくと、 ミーティングや査読でとっさに正しい指摘ができる。
「効果なしではなく検出できなかった」 — p ≥ α の結果に対して必ず使う言い換え。
「α と β はシーソー、 重しは n と効果量」 — トレードオフ構造を一文で言い表す。
「事後検出力は p 値の言い換えにすぎない」 — post hoc power の落とし穴を即座に指摘。
「効果量が半分になると必要 n は 4 倍」 — 検出力分析の二次スケーリング則。
「『差がない』を言いたいなら TOST を使え」 — 同等性検定が必要な場面の警告。
「サンプルを後から足すと α も β も狂う」 — 逐次検定の必要性を一文で。
「多重比較で α を厳しくしたら β を見直せ」 — ボンフェローニ補正の副作用への注意喚起。
「点推定だけでなく信頼区間を見せろ」 — β の不確実性を可視化する基本姿勢。
「事前登録された検出力分析が研究の信頼性を担保する」 — 再現性危機後の標準ルール。
「ネガティブ結果も論文化することが β を社会的に下げる」 — 出版バイアス対策の本質。
これら 10 のフレーズは、 統計学の教科書を 1 冊読むだけでは身につかない「現場の言葉」である。 同僚への指摘や論文の査読コメントでそのまま使えるよう、 自分なりの言い回しに翻訳して暗記すると、 第2種の過誤を運用する力が一段上がる。 とくに最後の「ネガティブ結果も論文化する」は個人の研究努力を超えて、 学術コミュニティ全体での 知識の質の底上げ につながる重要な姿勢である。 自分の小さな研究の β を下げるだけでなく、 「世界全体の β を下げる」 視点を持つと、 第2種の過誤の理解はより立体的になる。 SSDSE-B-2026 のような公開教育用データを使った研究も、 たとえ単独では検出力が不足していても、 メタ分析の素材として蓄積されることで全体の検出力に貢献できる。 これが「データを公開する」「結果を再現可能に書く」 ことの統計学的な意味でもある。
📚 関連グループ教材
🗺 概念マップ
第 2 種の過誤 (β、 偽陰性) を中心に、 検出力 1-β、 効果量 (Cohen's d)、 サンプルサイズ設計、 第 1 種の過誤 (α) との対比、 検出力分析への接続を 6 方向に整理。
第2種の過誤
検出力 1-β
効果量 (Cohen's d)
サンプルサイズ n 設計
第 1 種の過誤 α
事前検出力分析
p-hacking (アンチパターン)
第二種の誤り β (偽陰性) は 第一種の誤り α と表裏で、 検出力 1-β ・効果量 d ・サンプルサイズ n の 4 者がトレードオフ関係にある。 中央 (β) から「事前検出力分析」「事後検出力で慰めるアンチパターン」「サンプル中途追加 (p-hacking)」「多重比較で α 補正」「効果量を事後に決める」が放射状に並ぶ。
🔗 隣接手法への橋渡し
β は実験設計の段階で決まり、 上流の効果量設定と下流の検定実施が直結する。
上流 : 効果量 d の事前見積もり (Cohen's d=0.2/0.5/0.8) → 検出力分析 (G*Power / statsmodels) → 必要サンプルサイズ n 算出
並列 : 第一種の誤り α と表裏 (α↑ → β↓)、 検出力 1-β は同義語、 FDR は多重検定での代替指標
下流 : 検定実施 → 「有意でなかった」場合の解釈 (「効果なし」ではなく「検出できなかった」) → CI で効果の幅を併記
SSDSE-B-2026 で「47 県の出生率 vs 全国平均」を t 検定する場合、 β=0.2 (検出力 80%) を確保するには d=0.5 で n ≈ 64/群。 47 県しか無いので検出力不足になりがちで、 「有意でない」結論には「サンプル不足の可能性」と注記が必須。
🌳 手法選択フロー
β をどう管理するかは、 研究目的によって 4 通りに分岐する。
事前計画 (RCT / 治験)? Yes → 事前検出力分析 で n を決定。 β=0.2 が標準
探索的研究 (既存 SSDSE データ)? Yes → サンプルサイズは固定、 検出可能な最小効果量を逆算 (β=0.2 で d=?)
有意でない結果が出た? Yes → 「効果なし」と断定せず CI を提示。 事後検出力分析は NG (循環論)
マイナー効果が重要 (副作用検出等)? Yes → β=0.1 (検出力 90%) に上げ、 n を増やす
SSDSE-B-2026 のような既存データでは、 サンプルサイズ調整不可。 「47 県 × 12 年 = 564 obs で検出可能な最小効果量」を併記することで、 「有意でない」結果の解釈が責任ある形になる。
🔍 解説深化 — 相関検定の β:n=47 の地域データに潜む「二つの床」
本ページのここまでの解説は、 平均値の差(Cohen's d)を軸に β を扱ってきました。 しかし SSDSE-B-2026 のような都道府県クロスセクションで実際に最も多く行われる分析は相関係数 r の検定 です。 相関検定にも β は当然存在しますが、 n が 47 に固定されているぶん、 β の現れ方が独特です。 この深化セクションでは、 実データの r を使って「n=47 で見えるもの・見えないもの」を相関の言葉で測り直します。
💡 直感 — n を選べないなら「見える r の下限」を先に知る
検出力分析の教科書的な使い方は「効果量を仮定して必要 n を逆算する」ですが、 47 都道府県データでは n は動かせません。 そこで問いを裏返し、 「n=47 で見逃さずに検出できる相関の下限はいくつか 」を先に計算しておくのがこのデータでの実務的な β 管理です。 α=0.05(両側)・検出力 0.80 のとき、 Fisher の z 変換による近似で下限は |r| ≈ 0.399 (後述の式で算出)。 つまり |r| が 0.4 未満の関係は、 たとえ実在しても 2 割超の確率で見逃す 設計だということです。
SSDSE-B-2026(2023 年・47 都道府県)の実測値で確かめると:
年平均気温(B4101)× 合計特殊出生率(A4103) :r = +0.502、 p = 0.0003。 下限 0.399 を超えており、 この規模の相関なら n=47 でも安定して検出できる(真の相関が 0.502 程度なら検出力 ≈ 0.96)。
高齢化率(A1303/A1101)× 合計特殊出生率(A4103) :r = +0.201、 p = 0.1748 で非有意。 もし真の相関が 0.2 程度なら n=47 での検出力はわずか 0.27(β ≈ 0.73) 。 この非有意は「関係がない」ことも「4 回中 3 回起きる見逃し」であることも、 どちらもあり得る——判別不能なのです。
同じ「p が 0.05 を超えた」でも、 r=0.502 の世界と r=0.2 の世界では意味がまったく違う。 分析を始める前に「このデータの視力(検出できる r の下限)」を宣言しておく ことが、 相関分析における第2種の過誤対策の第一歩です。
⚠️ 落とし穴(重要)— 「有意の床」と「見逃さない床」は別物
n=47 の相関検定には、 高さの違う 2 つの「床」があります。
床 n=47 での値 意味
有意の床 rcrit |r| ≈ 0.288 観測相関がこれを超えれば p < 0.05 になる(t 分布、 自由度 45)
見逃さない床 rmin |r| ≈ 0.399 真の相関がこれ以上なら検出力 0.80 以上で拾える
問題は 0.288 < |r| < 0.399 の「グレーゾーン」 です。 実例として、 SSDSE-B-2026(2023 年)の高齢化率 × 消費支出(L3221) は r = −0.306、 p = 0.036 で有意。 一見めでたしですが、 真の相関がこの程度の大きさだった場合の検出力は ≈ 0.56、 つまり β ≈ 0.44 —— 半分近い確率で見逃していたはずの関係を「たまたま拾えた」 ゾーンにあります。 検出力が低い設計で有意になった推定値は、 有意になった標本だけが選ばれるため真の効果量より過大に出やすい (いわゆる誇張効果、 Gelman らの Type M error)。 「有意になったから検出力の心配は不要」ではなく、 「低検出力下の有意」はむしろ効果量の読みすぎを疑うサインです。
もう 1 つ、 条件の向きの混同にも注意。 β は「効果があるとき非有意になる確率」P(非有意 | H₁) であって、 「非有意だった結果が実は見逃しである確率」P(H₁ | 非有意) ではありません 。 後者は検証する仮説群のうち真の効果がどのくらいあるか(事前の割合)に依存します。 架空の設例 で確認すると:200 個の仮説のうち 40 個(20%)に真の効果があり、 検出力 0.50・α=0.05 とすれば、 見逃し 20 件・正しい非有意 152 件で、 非有意 172 件のうち見逃しは 20/172 ≈ 12% —— β=0.50 とは大きく異なる値になります(この数値は実データではなく架空の計算例です)。 β を「非有意の信頼度」と読み替えるのは、 p 値の逆確率誤読と同型の誤りです。
🚀 発展 — Fisher z 変換で相関の β を閉形式にする
相関係数の検出力計算は、 $z = \operatorname{arctanh}(r)$ と変換すると平均差の場合と同じ形に帰着します。 $z$ の標準誤差は $1/\sqrt{n-3}$ なので:
$$r_{\min} = \tanh\!\left(\frac{z_{1-\alpha/2} + z_{1-\beta}}{\sqrt{n-3}}\right), \qquad n_{\text{必要}} = \left(\frac{z_{1-\alpha/2} + z_{1-\beta}}{\operatorname{arctanh}(r)}\right)^{2} + 3$$
n=47・α=0.05・検出力 0.80 を入れると $r_{\min} = \tanh(2.802/\sqrt{44}) \approx 0.399$ —— 前述の「見逃さない床」はここから来ています。 逆算式に実測値を入れると、 高齢化率×TFR の r=0.201 程度の相関を検出力 0.80 で拾うには n ≈ 193 、 r=0.3 なら n ≈ 85、 気温×TFR の r=0.502 級なら n ≈ 29 で足ります。 「47 都道府県データは |r| < 0.4 の世界に対してほぼ盲目」という定量的な自覚が、 このデータで語ってよい仮説の範囲を決めます。
では 12 年分をプールして n=564 にすれば解決か? ——それは危険です。 同じ都道府県の観測が 12 回繰り返されるため観測は独立でなく、 実効サンプルサイズは 564 よりはるかに小さい。 独立を仮定して SE を $1/\sqrt{561}$ で計算すると標準誤差を過小評価し、 今度は第1 種の過誤が膨張します。 「β を減らそうとして独立性を壊し α を壊す」のは時系列付き地域データの典型的な事故で、 正しくは固定効果モデルやクラスタ頑健標準誤差など、 構造を考慮した手法を使います。
🔗 関連ページ
相関係数 — r の定義と解釈。 本セクションの「床」の議論の前提
疑似相関 — 有意に出た r を因果と読み違えない(β の逆側の注意)
検出力 / 検出力分析 — 1−β の設計。 相関版の式は本セクション
効果量 / サンプルサイズ — d と r の換算・必要 n の逆算
第1種の過誤 / 偽陰性 / 有意水準 — 2×2 表の残りの区画
信頼区間 — 非有意のとき「r の区間」で語るための道具
Type M / Type S error(Gelman & Carlin の誇張・符号エラー)— 専用ページは未整備のため文献(Gelman & Carlin, 2014, Perspectives on Psychological Science )を参照
※ 本セクションの r・p・検出力の数値は data/raw/SSDSE-B-2026.csv(2023 年・47 都道府県、 encoding='cp932', skiprows=[1])から scipy.stats.pearsonr と Fisher z 近似で算出した実測値です(高齢化率 = A1303/A1101×100)。 「200 仮説の設例」のみ架空の計算例です。