論文一覧に戻る 📚 用語集トップ 🗺 概念マップ
📚 用語解説
📚 用語解説
BIC
Bayesian Information Criterion
モデル選択
別称: ベイズ情報量規準 / Schwarz情報量規準

🔖 キーワード索引

BICBayesian Information Criterionモデル選択ベイズ情報量規準Schwarz情報量規準

本ページは BIC(Bayesian Information Criterion)を多角的に解説します。 上のチップは、 検索・関連語の手がかりです。

💡 30秒で分かる結論

📍 文脈 — どこで使う概念か

BIC(Bayesian Information Criterion, ベイズ情報量規準)は、 1978 年に Schwarz が提案した モデル選択の標準ツール。 回帰、 時系列、 混合分布、 隠れマルコフモデル等の比較で広く使われます。 AIC と並ぶ二大選択基準で、 BIC は真のモデル選択、 AIC は予測性能と棲み分けるのが一般的理解です。

🎨 直感で掴む — 具体例で理解する

モデル選択の原理:

BIC は −2 log L(尤度の指標、 小さいほど適合度が良い)に、 k log n(パラメータ数 × log(サンプル数) のペナルティ)を足します。 これを 最小化するモデルを選ぶ。

AIC のペナルティは 2k で、 BIC の k log n よりも軽い。 サンプル数 n=100 なら log(100)≈4.6 で、 BIC は AIC の 2.3 倍厳しいことになります。

📐 定義・数式

【BIC の定義】
$$\mathrm{BIC} = -2 \log L + k \log n$$
$L$ = 最大尤度、 $k$ = パラメータ数、 $n$ = サンプル数

AIC との比較:

【AIC】
$$\mathrm{AIC} = -2 \log L + 2k$$
ペナルティが定数 2k なのが BIC との違い

🔬 記号・要素の読み解き

$L$(最大尤度)
「このモデルが、 このデータを生み出す確率」の最大値
$-2 \log L$
適合度の指標。 小さいほどモデルがデータに合っている
$k$
モデルが推定したパラメータの個数
$\log n$
サンプル数の対数。 $n$ が増えるほどペナルティが強くなる
$k \log n$
パラメータ数 $\times$ サンプル数の対数 = BIC のペナルティ項

🧮 数値例・実値計算

例:3 つの回帰モデルを n=100 のデータで比較:

モデル変数数 k−2 log LBIC選択
単回帰(k=2)2180180 + 2×4.6 = 189.2
重回帰(k=5)5150150 + 5×4.6 = 173.0
重回帰(k=10)10140140 + 10×4.6 = 186.0

k=10 は適合度は最高だが、 ペナルティで負ける。 k=5 が BIC 最小で 選択される。

🐍 Python 実装例

最小コードで動かしてみる例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import statsmodels.api as sm
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='utf-8', skiprows=1)
X = sm.add_constant(df[['高齢化率', '人口密度']])
y = df['死亡率']

model = sm.OLS(y, X).fit()
print(f'AIC = {model.aic:.2f}')
print(f'BIC = {model.bic:.2f}')

⚠️ よくある落とし穴

❌ AIC と混同
BIC は 真のモデル選択、 AIC は予測性能寄り。 目的に応じて使い分け。
❌ 非ネストモデルでの比較
全く違う構造のモデル間では、 尤度の比較自体に注意が必要。
❌ サンプル数の効果
n が小さいと AIC≈BIC。 大標本では BIC が AIC より シンプルなモデルを選びがち。
❌ 尤度計算の前提
BIC は正規分布仮定の最大尤度を前提とすることが多い。 違うとき要注意。
❌ 差の解釈
$\Delta$BIC < 2 は「ほぼ同等」、 6〜10 は「強い」、 10 以上は「決定的」(Raftery の経験則)。