論文一覧に戻る 📚 用語解説(ジャストインタイム型データサイエンス教育)
β収束・σ収束
β/σ Convergence (β / σ)
地域・国家間格差が時間とともに縮小するかを測る。β収束=出発水準と成長率の負の関係、σ収束=分散の縮小。
格差・分布β / σβ収束σ収束

🔖 キーワード索引(拡張)

β収束(経済成長論)周辺の重要語:

絶対β収束 条件付きβ収束 σ収束 半減期 / 収束速度 定常状態 Barro 回帰 Solow モデル Galton の誤謬 空間自己相関 局所収束クラブ statsmodels OLS linearmodels (panel) PySAL(空間計量)

💡 30秒で分かる結論

🍰 まずはやさしく

格差が縮まる様子を測る道具です。

地域ごとの差が消えるかを知るために使います。

部活で初心者が先輩に追いつく様子に似ています。

まずは結論と使い方の基本を読みましょう。

📖 詳細な解説

この用語は、 統計データ解析・データサイエンスの世界で重要な概念の1つです。 ジャストインタイム型学習では、 必要なときに参照し、 関連概念と合わせて学ぶことで定着を図ります。

基本的な定義

この用語の基本的な意味、 数学的定義、 直感的理解について、 上記の3つの概念マップを通じて、 関連する用語と一緒に把握しましょう。

使い時の判断基準

Python による実装例

🎯 解説: 初期所得と成長率の散布図を描き、 回帰直線を重ねる。 右下がりなら β 収束が視覚的に確認できる。
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行) 都道府県 L3221(消費支出(二人以上の世帯)) 北海道 296,888 東京都 341,320 沖縄県 251,222 …(全 47 行)
 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, numpy as np
import matplotlib.pyplot as plt
import statsmodels.formula.api as smf

# SSDSE-B-2026 を読み込み(skiprows=[1] で日本語行を捨て英語コードを列名に。L3221=消費支出(二人以上の世帯))
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
df.columns = [c.strip() for c in df.columns]

# 水準変数:消費支出(二人以上の世帯)を生活水準の代理にする
col = 'L3221'
y0 = df[df['SSDSE-B-2026'] == 2012].set_index('Prefecture')[col].astype(float)
yT = df[df['SSDSE-B-2026'] == 2023].set_index('Prefecture')[col].astype(float)
T  = 2023 - 2012

x = np.log(y0)                        # 横軸:初期水準(log)
g = (np.log(yT) - np.log(y0)) / T     # 縦軸:年平均成長率
d = pd.DataFrame({'x': x, 'g': g}).dropna()

# 散布図+回帰直線(右下がり = beta 収束)
m = smf.ols('g ~ x', data=d).fit()
plt.scatter(d['x'], d['g'])
plt.plot(d['x'], m.params['Intercept'] + m.params['x'] * d['x'], 'r-')
plt.xlabel('log(初期消費支出 2012)'); plt.ylabel('年平均成長率'); plt.show()
📥 入力例: data/raw/SSDSE-B-2026.csv x: 初期所得 (log), y: 成長率 47 都道府県
📤 実行例: 右下がりの分布が描画される
💬 読み方: 実データ(消費支出 L3221、 2012→2023、 47 県)では傾き ≈ -0.032(p ≈ 0.01、 R² ≈ 0.14)で有意な負=β収束。 収束速度 λ ≈ 0.039/年、 半減期 ≈ 17.6 年。 一方 σ(log の標準偏差)は 0.077→0.084 と拡大し、 「β収束ありでも σ収束なし」の実例。 β と σ は必ず併せて確認する。

📖 包括的解説 — この概念を完全マスター

📍 学習の3ステップ

  1. 定義を理解する:この概念は何か? 数式や条件を確認
  2. 具体例を見る:実データ(SSDSE 等)で計算してみる
  3. 応用する:自分のデータに適用、 結果を解釈

🔧 Python実装パターン

🎯 解説: 実在列(消費支出)で β収束(回帰の傾き)と σ収束(分散の推移)を一括計算する再利用関数。 β<0 かつ σ が縮小して初めて実質的な収束。
 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, numpy as np
import statsmodels.formula.api as smf

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
df.columns = [c.strip() for c in df.columns]
col = 'L3221'

def beta_sigma(df, col, y_start=2012, y_end=2023):
    """beta 収束(傾き)と sigma 収束(分散の推移)を一度に返す。"""
    a = df[df['SSDSE-B-2026'] == y_start].set_index('Prefecture')[col].astype(float)
    b = df[df['SSDSE-B-2026'] == y_end].set_index('Prefecture')[col].astype(float)
    T = y_end - y_start
    d = pd.DataFrame({'log_y0': np.log(a),
                      'growth': (np.log(b) - np.log(a)) / T}).dropna()
    m = smf.ols('growth ~ log_y0', data=d).fit()
    beta = m.params['log_y0']                       # beta<0 なら収束
    sigma0, sigmaT = np.log(a).std(), np.log(b).std()   # sigma 収束の判定材料
    return beta, m.pvalues['log_y0'], sigma0, sigmaT

beta, pval, s0, sT = beta_sigma(df, col)
print(f'beta(傾き)={beta:.4f}  p={pval:.3f}')
print(f'sigma(2012)={s0:.3f} -> sigma(2023)={sT:.3f}  '
      + ('sigma収束あり' if sT < s0 else 'sigma収束なし'))
📥 入力例: data/raw/SSDSE-B-2026.csv x: 初期所得 (log), y: 成長率 47 都道府県
📤 実行例: 右下がりの分布が描画される
💬 読み方: 実データ(消費支出 L3221、 2012→2023、 47 県)では傾き ≈ -0.032(p ≈ 0.01、 R² ≈ 0.14)で有意な負=β収束。 収束速度 λ ≈ 0.039/年、 半減期 ≈ 17.6 年。 一方 σ(log の標準偏差)は 0.077→0.084 と拡大し、 「β収束ありでも σ収束なし」の実例。 β と σ は必ず併せて確認する。

📚 統計概念マップでの位置

このページの上にある3つの概念マップ(関係マップ、 包含マップ、 ツリーマップ)でこの概念の位置づけが視覚的に分かります。 関連手法を辿って学習を進めましょう。

🎯 SSDSE-B-2026 で挑戦

統計データ活用コンペティションのSSDSE-B-2026データは、 47都道府県の社会経済データ。 この概念を使って以下のような分析ができます:

💡 よく使うコマンド集

機能 Python (pandas) Python (scipy)
要約統計df.describe()stats.describe()
平均df.mean()np.mean()
標準偏差df.std()np.std()
相関df.corr()stats.pearsonr()
t検定stats.ttest_ind()
回帰stats.linregress()
分布フィッティングstats.norm.fit()

🚧 一般的な落とし穴と対策

📊 結果報告の標準フォーマット

🌐 関連分野での応用

🎓 さらに学ぶための文献

🔗 統計用語ネットワーク

この概念は、 他の多くの統計概念と密接に関連しています。 ジャストインタイム型学習では、 必要に応じて関連用語へジャンプしながら全体像を構築します。

主要な関連概念のグループ

グループ 主要概念
記述統計平均、 中央値、 最頻値、 分散、 標準偏差、 共分散、 相関係数
可視化ヒストグラム、 散布図、 箱ひげ図、 ヒートマップ
推測統計標本平均、 標準誤差、 信頼区間、 p値、 有意水準
確率分布正規分布、 t分布、 χ²分布、 F分布、 二項分布
仮説検定t検定、 F検定、 χ²検定、 ノンパラ検定
回帰単回帰、 重回帰、 OLS、 Ridge、 LASSO
分類ロジスティック回帰、 決定木、 SVM、 k-NN
教師なし学習クラスタリング、 PCA、 因子分析
時系列ARIMA、 VAR、 指数平滑法、 自己相関
因果推論DiD、 IV、 傾向スコア、 交絡変数
前処理標準化、 正規化、 欠損値処理、 多重共線性対策
評価R²、 残差、 CV、 RMSE、 効果量

学習順序の推奨

  1. 記述統計(平均、 分散、 標準偏差)
  2. 可視化(ヒストグラム、 散布図)
  3. 確率分布(正規分布)
  4. 推測統計(標準誤差、 信頼区間、 p値)
  5. 仮説検定(t検定、 χ²検定)
  6. 相関と回帰(単回帰、 重回帰)
  7. 多変量解析(PCA、 クラスタリング)
  8. 機械学習(決定木、 RF、 NN)
  9. 時系列・因果推論(応用)

📝 実践練習 — SSDSE-B-2026 で挑戦

初級課題

  1. 消費支出(二人以上の世帯)を 2012 年と 2023 年で取り出し、 対数値の基本統計量を比較
  2. 横軸 log(消費支出 2012)、 縦軸 2012→2023 の年平均成長率で散布図を描く
  3. 散布図に回帰直線を重ね、 傾き(β の符号)を目視で確認
  4. 都道府県を「東日本/西日本」に分け、 それぞれで傾きが違うか比較

中級課題

  1. statsmodels の OLS で「成長率 ~ log(初期水準)」を推定し、 β・標準誤差・p 値・R² を報告
  2. 各年の log(消費支出) の標準偏差を 2012→2023 で計算し、 σ収束の有無を確認
  3. 初期年・終期年を 2012→2018/2018→2023 に変えて頑健性チェック
  4. ブートストラップ 2000 回で β の 95% 信頼区間を求める

上級課題

  1. 条件付きβ収束:総人口(A1101)・延べ宿泊者数(G7101)・高齢化率(A1303/A1101)を統制変数に加えて β の変化を見る
  2. linearmodels の PanelOLS で固定効果パネル推定を行い、 単純 OLS と比較
  3. Galton 誤謬の点検:測定誤差を仮定したシミュレーションで見かけの収束を再現
  4. PySAL で隣接行列を作り、 残差の Moran's I で空間自己相関を診断

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

🍰 まずはやさしく

データの格差に注目する考え方です。

地域や国の差がどう変わるかを分析します。

都道府県ごとの生活レベルの差で考えます。

この用語が分析の中でどう使われるかを見ます。

論文中に 「β収束・σ収束」として登場する用語。

β収束・σ収束 とは:地域・国家間格差が時間とともに縮小するかを測る。β収束=出発水準と成長率の負の関係、σ収束=分散の縮小。

本ページでは「beta convergence」を扱う。 統計データ分析コンペティション (2026) の教材で、 SSDSE-B-2026 (47 都道府県 × 複数年 × 100 超列) の実データを使った再現可能な学習を目指す。

「beta convergence」は統計・データサイエンスの体系における重要概念のひとつ。 本ページは「定義・直感・数式・実装・落とし穴・関連手法」の 6 視点で構成され、 各視点は独立して読めるが順序通り読むと体系的な理解が得られる。

🎨 直感で掴む — β収束 の本質

🍰 まずはやさしく

後から来た人が追い越すイメージです。

低いところからどれだけ伸びるかを確認します。

テストの点数が低い人が急成長する例です。

直感的にどのような仕組みかについて読みます。

β収束は「初期に貧しい地域ほど成長率が高く、 やがて先進地域に追いつく」現象。 SSDSE-B-2026 の都道府県別の消費支出(二人以上の世帯、 L3221)を見ると、 2019 年に低かった県(沖縄・大分)は 2023 年にかけて伸び率が高く、 2019 年に最も高水準だった石川の伸び率はマイナス、 という関係が実際に観察され(2019→2023 の回帰で傾き ≈ -0.096)、 β 収束の証拠となる。

💡 ポイント:β収束 を初めて学ぶときは「正確な定義」より「どんな問題を解くための道具か」を先に押さえてください。 数式は次の「📐 数式」セクションで丁寧に展開します。
📌 比喩がうまく刺さらないときは、 自分の身近な例(家計簿・スポーツの記録・成績表)に置き換えてみると理解が定着します。 SSDSE-B-2026 を電卓代わりに触りながら、 上の説明を再読すると効果的です。

📐 数式または定義 — β収束 の形式的表現

🍰 まずはやさしく

計算で格差を証明する方法です。

正しく収束しているかを数字で出します。

スマホの利用時間の伸び率を計算する例です。

数式を使って定義を詳しく読み解きましょう。

β収束 の核心は「初期所得 log(y_{i,0}) を説明変数、 成長率 (log(y_{i,T}) − log(y_{i,0}))/T を被説明変数」とした横断回帰の傾き β。 β < 0(負の係数)が出れば、 初期所得が低い県ほど成長率が高い = 収束していることを意味します。 SSDSE-B-2026 の実在列(消費支出(二人以上の世帯)など)で 2012→2023 を回帰すると、 都道府県間の格差が縮まっているかを定量化できます(SSDSE-B に県民所得・県内総生産は収録されていないため生活水準の代理列を使う)。

【β収束の回帰式(Barro-Sala-i-Martin 形式)】
$$ \frac{1}{T}\ln\!\left(\frac{y_{i,T}}{y_{i,0}}\right) = \alpha - \beta \ln(y_{i,0}) + \varepsilon_i $$
この数式は「β収束 がどう計算されるか」を最短で示したもの。 記号の意味は次の「🔬 数式を言葉で読み解く」で 1 つずつ解説します。
📚 数式が苦手な方へ:1 つの長い式を一度に理解しようとせず、 記号ごとに「言葉に翻訳」するのが王道。 紙に書き写してから、 自分の言葉で音読してみてください。

🔬 数式を言葉で読み解く — β収束 の記号辞書

上の数式に出てくる各記号が何を表すかを、 言葉で翻訳します。 1 つずつ自分の言葉で言い換えられるようになると、 論文や教科書のスピードが一気に上がります。

記号意味(言葉での説明)
$y_{i,0}$地域 $i$ の初期所得・支出
$y_{i,T}$$T$ 期後の所得・支出
$\beta$収束速度パラメータ — 正なら β 収束あり
$\alpha$定数項(共通の成長率に対応)
$\varepsilon_i$地域固有の撹乱項
📌 読み下しのコツ:左から右に「主語 → 述語 → 目的語」と見立てて、 「これは何を、 どうしている式か?」と一文で要約してみてください。 慣れれば 5 秒で読めます。

🧮 SSDSE-B 実値計算 — 47都道府県の所得「β収束」を測る

SSDSE-B-2026 は年度列(2012〜2023)を持つパネルなので、 SSDSE 単体で「水準 → 成長率」の収束分析が完結する。 県内総生産・県民所得は SSDSE-B に収録されていないため、 ここでは実在列の「消費支出(二人以上の世帯)」を生活水準の代理とし、 2012 年(初期水準)と 2023 年(終期水準)を取り出して古典的な Barro 回帰でβ収束を検定する。 下のコードは同梱の data/raw/SSDSE-B-2026.csv でそのまま動き、 実測で 傾き ≈ -0.032(p ≈ 0.01、 R² ≈ 0.14) という有意な負の係数=β収束が得られる。

🎯 解説: 消費支出(2012 初期水準)を横軸、 2012→2023 の年平均成長率を縦軸にとって Barro 回帰を実行。 傾きが負なら β 収束。
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行) 都道府県 L3221(消費支出(二人以上の世帯)) 北海道 296,888 東京都 341,320 沖縄県 251,222 …(全 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
import numpy as np
import pandas as pd
import statsmodels.formula.api as smf

# SSDSE-B-2026(skiprows=[1] で英語コードを列名に。SSDSE-B-2026 列=年度 2012〜2023)
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
df.columns = [c.strip() for c in df.columns]

# 水準変数:消費支出(二人以上の世帯)を所得・生活水準の代理とする
col = 'L3221'
y0 = df[df['SSDSE-B-2026'] == 2012].set_index('Prefecture')[col].astype(float)  # 初期水準
yT = df[df['SSDSE-B-2026'] == 2023].set_index('Prefecture')[col].astype(float)  # 終期水準

T = 2023 - 2012                        # 観測期間 11 年
reg = pd.DataFrame({'log_y0': np.log(y0)})
reg['growth'] = (np.log(yT) - np.log(y0)) / T    # 年平均成長率
reg = reg.dropna()

# Barro 回帰:成長率 = alpha + beta * log(初期水準) + e
m = smf.ols('growth ~ log_y0', data=reg).fit()
print(m.summary())

b   = m.params['log_y0']               # 回帰の傾き(< 0 なら beta 収束)
lam = -np.log(1 + b * T) / T           # 収束速度 lambda
print(f'傾き = {b:.4f}   (負なら収束)')
print(f'収束速度 lambda = {lam:.4f} /年,  半減期 = {np.log(2) / lam:.1f} 年')
📥 入力例: data/raw/SSDSE-B-2026.csv(消費支出(二人以上の世帯)/年度=2012 と 2023、 47 都道府県)
📤 実行例: 傾き = -0.0320 (負なら収束) 収束速度 lambda = 0.0394 /年, 半減期 = 17.6 年
💬 読み方: 傾きが負(p ≈ 0.01, R² ≈ 0.14)なので初期の消費支出が低い県ほど成長率が高い=β収束。 ただし σ収束(分散の縮小)は別問題で、 本データでは σ が 0.077→0.084 とむしろ拡大しており「β収束ありでも σ収束なし」の実例になっている。

🧮 実値で計算してみる — SSDSE-B-2026 で β収束 を体感

数式だけでは「分かった気になる」だけで終わりがち。 ここで SSDSE-B-2026(教育用標準データセット — 47 都道府県 × 100+ 指標、 2012-2023 年度)の実値を当てはめて、 β収束 の挙動を電卓的に追体験します。

👉 計算例:SSDSE-B-2026 の 47 都道府県で、 2019 年と 2023 年の消費支出(二人以上の世帯/コード L3221)から 4 年間の成長率 $g_i = \frac{1}{4}\ln(y_{i,2023}/y_{i,2019})$ を計算。 横軸に $\ln(y_{i,2019})$、 縦軸に $g_i$ をプロットして直線回帰すると、 実測で傾きは負($\hat\beta \approx -0.096$、 p < 0.001、 R² ≈ 0.26)となり、 初期に消費支出が低かった県ほど 2019→2023 の伸びが大きい=格差縮小が読み取れる。

SSDSE-B-2026 は 統計センターの SSDSE 配布ページ から CSV を直接ダウンロードできます。 本サイトでは data/raw/SSDSE-B-2026.csv に配置している前提でコードを書いています。

🧮 数式に値を入れて手で計算する: β 収束の回帰係数

合成データで初期所得と成長率の関係から β 収束係数を推定する。

Step 1: 5 地域の初期所得 (対数) と成長率

地域log y0成長率 g
A2.05.0
B3.04.0
C4.03.5
D5.02.5
E6.02.0

Step 2: 平均

log y0 平均 = 4.0 g 平均 = 3.4

Step 3: 回帰係数 β = Σ(x-x̄)(y-ȳ) / Σ(x-x̄)²

分子 = (-2)(1.6) + (-1)(0.6) + (0)(0.1) + (1)(-0.9) + (2)(-1.4) = -3.2-0.6+0-0.9-2.8 = -7.5 分母 = 4+1+0+1+4 = 10 β = -7.5/10 = -0.75 (負の係数 → 収束)

🐍 Python で再現

1
2
3
4
5
6
import numpy as np
x = np.array([2.0, 3.0, 4.0, 5.0, 6.0])
y = np.array([5.0, 4.0, 3.5, 2.5, 2.0])
xm, ym = x.mean(), y.mean()
beta = ((x-xm)*(y-ym)).sum() / ((x-xm)**2).sum()
print(f"β = {beta:.3f}")

📤 実行結果

β = -0.750

💬 手計算 (Step 3) -0.75 と Python 出力が完全一致。 β<0 → 貧困地域がキャッチアップ。

🐍 Python 実装バリエーション — statsmodels / linearmodels / PySAL

1. statsmodels OLS(クロスセクション)

🎯 解説: β 収束の回帰式 (1/T)log(y_T/y_0) = α + β log(y_0) + ε を最小二乗法で推定。 β < 0 なら収束を意味する。
1
2
3
import statsmodels.formula.api as smf
m = smf.ols('growth ~ log_y0', data=df).fit(cov_type='HC3')
print(m.summary())

🐍 Python 実装 — β収束 を SSDSE-B-2026 で動かす

まず環境をそろえます。 必要なライブラリを入れ、 matplotlib の日本語フォント(Hiragino Sans)を設定し、 SSDSE を encoding='cp932' で読み込んで shapehead()describe() を確認します。 この後の分析では、 2012 年の水準が低い県ほどその後の成長率が高いか(β 収束)を回帰で確かめるので、 header=1 で日本語列名を使い、 12 年ぶん 564 行すべてを読み込んでいます。 β 収束は「初期値 → 成長率」の回帰の傾きが負かどうかで判定するため、 複数年度が必要です。 エンコーディングを指定し忘れると UnicodeDecodeError で止まるのが最初の関門なので、 ここだけは丸暗記して構いません。

📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行) 都道府県 L3221(消費支出(二人以上の世帯)) 北海道 296,888 東京都 341,320 沖縄県 251,222 …(全 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
# β収束 を SSDSE-B-2026 で確かめる最小コード
import pandas as pd
import numpy as np

# 1) SSDSE-B-2026 を読み込み(skiprows=[1] で日本語行を捨て英語コードを列名に採用)
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
print('shape:', df.shape)        # (564, 112) — 47 都道府県 × 12 年度(2012-2023)

# 2) 初期年(2012)と終期年(2023)の消費支出(L3221)を取り出す
col = 'L3221'   # 消費支出(二人以上の世帯)
y0 = df[df['SSDSE-B-2026'] == 2012].set_index('Prefecture')[col].astype(float)
yT = df[df['SSDSE-B-2026'] == 2023].set_index('Prefecture')[col].astype(float)
T = 2023 - 2012

# 3) 横断回帰の材料:初期水準(log) と 年平均成長率
x = np.log(y0)
g = (np.log(yT) - np.log(y0)) / T
xm, gm = x.mean(), g.mean()

# 4) β収束 の本処理:傾き = Σ(x-x̄)(g-ḡ) / Σ(x-x̄)²
beta = ((x - xm) * (g - gm)).sum() / ((x - xm) ** 2).sum()
print('---- β収束 結果 ----')
print('傾き β =', round(beta, 4), '(負なら収束)')   # 実測 ≈ -0.032
print('σ(2012) =', round(x.std(), 3), '/ σ(2023) =', round(np.log(yT).std(), 3))

うまく動かないときは ①data/raw/SSDSE-B-2026.csv のパス、 ②encoding='cp932'(SSDSE-B は Shift_JIS 系)、 ③1 行目に英数字コード、 2 行目に日本語列名が入る構造なので、 英語コード(例: L3221=消費支出)を列名に使うには skiprows=[1](2 行目だけ除去)が必要、 の 3 点を確認してください。

🎮 触って理解する — 実測47県の散布図と収束シミュレーション

β収束の直感は「後ろからスタートしたランナーほど速く走り、 先頭に追いつく」というキャッチアップ効果です。 資本の限界生産性逓減(Solow モデル)の下では、 水準が低い地域ほど成長の余地が大きい。 ここでは (1) SSDSE-B-2026 の実測データ(消費支出 L3221、 2012→2023、 47 都道府県)の散布図と、 (2) β 係数を自分で動かせる仮想シミュレーションの 2 つで、 この直感を手で確かめます。

📈 実測散布図 — 初期水準(2012)× 年平均成長率(2012→2023)

点にマウスを重ねる(スマホはタップ)と県名と実測値が表示されます。 横軸は 2012 年の消費支出(二人以上の世帯、 L3221)の対数、 縦軸は 2012→2023 の年平均成長率 $(\ln y_{2023} - \ln y_{2012})/11$。 右下がりの回帰直線=β収束です。

📤 実測値(python で計算・SSDSE-B-2026 / L3221 / 2012→2023 / n=47): 傾き β̂ = -0.0320(SE 0.0119、 p = 0.010、 R² = 0.138) 収束速度 λ = -ln(1+β̂T)/T = 0.0394 /年(T=11) 半減期 = ln(2)/λ ≈ 17.6 年 σ(log の標準偏差): 2012 = 0.077 → 2023 = 0.084(拡大!)

読み方:β̂ < 0 が有意なので「2012 年に消費支出が低かった県ほどその後の伸びが大きい」=β収束あり。 半減期 17.6 年は「平均的な県と定常状態の距離が半分になるまで約 18 年」という意味です。 ところが同じデータで σ(県間ばらつき)は 0.077→0.084 と拡大しています。 つまりβ収束があっても σ収束(格差そのものの縮小)は起きていない——各県に固有ショックが加わり続ければ、 個々のキャッチアップと分布の広がりは両立するのです。 これが「β収束 ≠ σ収束」の実例であり、 β<0 だけを見て「格差は縮小した」と結論する Galton 的な平均回帰の誤謬(測定誤差や一時的ショックだけでも負の傾きは出る)への最大の防御は、 σ の推移を必ず併記することです。

🎛 収束シミュレーション(仮想データによる思考実験)

※ここから下は実測ではなく仮想の 6 地域による思考実験です。 β係数スライダーを動かすと、 初期水準が異なる 6 地域の水準 $\ln y$ が毎年 $\Delta \ln y_i = \beta(\ln y_i - \ln y^*) + \text{ショック}$ で更新される軌道を描きます。 β < 0 なら共通の定常状態 $y^*$ へ収束(格差縮小)、 β > 0 なら発散、 β = 0 なら格差は固定されたまま。 ショックスライダーを上げると「β < 0 なのに σ が下げ止まる」=β収束とσ収束の乖離をこの目で確認できます。

観察ポイント:①β = -0.06 前後では軌道が滑らかに束ねられていく(理論半減期 ≈ ln2/(-ln(1+β)) ≈ 11 年)。 ②β を正にすると初期のわずかな差が指数的に拡大する=発散。 ③β < 0 のままショックを大きくすると、 個々の地域は中心へ引き寄せられ続けるのに σ(画面下の推移)はある水準で下げ止まる——実測データで見た「β収束あり・σ収束なし」はまさにこの状態です。

🧭 発展 — ここから先へ

本ページの推定はすべて単回帰回帰分析)で、 傾きの読み方は回帰係数の一般論そのものです。 発展として、 ①σ収束(各年の横断分散の推移。 本ページ内の実値計算コードで β と同時に算出可能)、 ②条件付きβ収束(人口構造・産業構成などの統制変数を加え、 「各地域が自分自身の定常状態に収束するか」を問う。 SSDSE-B-2026 は 2012-2023 のパネルデータなので固定効果推定に拡張できる)、 ③空間的自己相関(隣県同士の成長率は独立でないため OLS の標準誤差が過小評価される。 Moran's I による診断と空間計量モデルが対処法)の 3 方向があります。 まずは散布図で 2012→2023 以外の期間に変えて、 β̂ がどれほど動くか(頑健性)を試すのが良い演習です。

⚠️ β収束分析の落とし穴と典型ワークフロー

📋 β収束分析の前提チェック

前提条件確認方法対処法
十分な観測期間 (10 年以上)サンプル年数確認パネル化で観測数増加
構造変化がないChow テスト、 break テスト期間分割、 ダミー変数
回帰モデルの関数形が正しい残差プロット、 RESET 検定対数変換、 非線形モデル
外れ値が分析を支配しないロバスト回帰、 影響度分析外れ値除外、 ロバスト推定量
独立性 (空間的非依存)Moran's I 統計量空間計量経済モデル

🚨 よくある誤解 TOP 5

誤解正しい理解
「β<0 = 必ず格差縮小」β収束は必要条件、 σ収束 (分散縮小) は別。 両者は独立に確認
「回帰収束効果が一意」統制変数で結果は変わる (絶対 vs 条件付き)
「収束は永続する」構造変化やショックで収束が止まる/逆転することがある
「Galton fallacy は無視可」回帰平均効果で見かけ上の収束が出る場合あり。 慎重解釈必要
「世界全体で収束」クラブ収束の存在 (高所得国群と低所得国群で別々の定常状態)

🔄 β収束分析の典型ワークフロー

  1. 分析対象決定: 国 (Penn World Table)、 都道府県 (SSDSE)、 市町村単位など空間スケール決定
  2. 期間設定: 経済理論で意味のある十分長い期間 (10 年以上推奨)
  3. 変数準備: 初期所得 (対数)、 期間中平均成長率を計算
  4. 絶対β収束推定: 単回帰 (成長率 ~ log(初期所得)) で係数 β を推定
  5. 条件付きβ収束推定: 統制変数 (人口、 投資率、 教育、 政策など) を追加
  6. σ収束確認: 各時点の所得分散を計算、 時間的減少を確認
  7. 頑健性チェック: 外れ値除外、 期間分割、 異なる成長率定義で結果が変わらないか
  8. 政策含意の議論: 半減期 (収束速度)、 含意される定常状態への到達時間を計算

📚 ケーススタディ: SSDSE-B-2026 都道府県のβ収束分析

都道府県別県民所得 (e-Stat「県民経済計算」1990-2020 年。 SSDSE-B には未収録の外部データ) を用いた先行研究型の β収束分析では、 絶対β収束は弱い負の係数 (β ≈ -0.005、 t 値 -2.1) を示すことが多く、 統計的有意ですが収束速度は遅いと評価されます。 半減期は約 30 年程度で、 「格差は徐々に縮小しているが、 政策介入なしでは大きな変化は望めない」という解釈になります。

分析β係数解釈
絶対β収束-0.005弱い収束、 半減期約 30 年
条件付きβ収束 (人口統制)-0.012人口統制でやや強い収束
条件付きβ収束 (人口 + 産業構造)-0.020産業特性差を統制すると更に強い
σ収束 (年次 SD 変化)わずか減少所得分散は緩やかに縮小
期間分割 (1990s vs 2000s)時期で変化バブル崩壊後に収束加速

このケーススタディは「日本国内の地域間所得格差は閉じつつあるが、 そのスピードは緩慢である」という政策含意を導きます。 地方創生施策の効果評価などに直接活用できる枠組みです。

🛠️ Python 実装の典型コード例

β収束推定は statsmodels で簡単に実装できます。 以下は上のケーススタディと同じ、 先行研究型(e-Stat 県民経済計算 1990-2020。 SSDSE-B には未収録の外部データ)の絶対β収束推定の流れです。

これにより、 公的データから現実的な経済成長論の知見が直接導出できます。 学習者は数値の意味を理論と照らし合わせて深く理解できるようになります。

🎓 学習の発展トピック

  1. クラブ収束: Phillips-Sul の log t テストで多重均衡を検出
  2. 空間計量経済学: SAR/SEM モデルで空間的依存関係を統制
  3. 分布動態的アプローチ: Quah の遷移行列で分布形状の時間変化を分析
  4. 動学的パネル: GMM 推定で時系列・パネルの内生性問題に対処
  5. 異質性収束: 各地域固有の収束パラメータを許容するモデル

これらの発展は β収束分析の精度を高め、 政策評価により有用な知見を提供できます。 経済学・地域科学を専門にする場合、 これらのトピックの理解は事実上の必須となっています。

📖 経済成長理論との接続 — Solow モデルからの導出

β収束は Robert Solow の新古典派成長モデルから理論的に導出されます。 Solow モデルでは、 資本のレベル k が定常状態 k* に近づくほど成長率が逓減するため、 初期資本が低い経済ほど成長率が高くなります。 この理論予測を実証するのが β収束の研究目的です。

具体的には、 Solow モデルの線形化から以下の収束方程式が得られます。

$$ \frac{1}{T}\ln\frac{y_{i,T}}{y_{i,0}} = \alpha - \beta \ln y_{i,0} + \varepsilon_i $$

ここで、 y_{i,t} は地域 i の時点 t での所得、 T は分析期間、 β が収束パラメータです。 β>0 ならば「初期所得が低いほど成長率が高い」という Solow 予測と整合します。 推定された β から、 収束速度 λ = -ln(1 - β·T)/T を計算でき、 これは「定常状態までの距離が毎期どれだけ縮むか」を表します。

典型的な実証研究では、 国際比較で λ ≈ 2-3% (Mankiw-Romer-Weil 1992)、 地域内では λ ≈ 5-10% (Barro-Sala-i-Martin 1992) という値が報告されています。 これは「定常状態からの乖離が毎年 2-10% ずつ縮む」という意味で、 半減期は約 7-35 年に相当します。

🌍 国際的実証研究の主要結果

β収束分析は 1990 年代以降世界中で実施されており、 地域・期間・統制変数によって結果が大きく異なります。 以下に主要な実証研究結果をまとめます。

研究対象β値 (絶対)半減期主な含意
Barro-Sala-i-Martin (1992)米国州 (1880-1988)-0.0235 年米国州間で安定的収束
Mankiw-Romer-Weil (1992)98 ヶ国 (1960-1985)非有意-絶対β収束は世界全体では否定
Sala-i-Martin (1996)OECD (1950-1990)-0.0235 年OECD 内では収束
日本: 都道府県 (Shioji)47 県 (1950-1990)-0.0325 年日本の地域収束は速かった
EU 地域 (NUTS-2)200+ 地域 (1980-2010)-0.01545 年EU 統合政策の効果議論
中国省レベル31 省 (1978-2010)時期で変動-改革開放期と異なるダイナミクス

📤 この国際的なエビデンスから「同質的なグループ (OECD、 米国州、 日本県) では収束、 異質的グループ (世界全体) では非収束」というクラブ収束仮説が支持されます。 制度・技術へのアクセスが収束の鍵となっています。

📊 政策評価への応用

β収束分析は地域開発政策の評価にも応用されます。 例えば「地方創生交付金の効果」「特定地域への投資効果」を評価する際、 介入前後で β の変化を観察することで政策効果を定量化できます。

これらの分析を組み合わせることで、 政策決定者は実証データに基づいた地域政策の設計が可能になります。 SSDSE のような公的データセットは、 こうした分析の基盤として極めて有用です。

🏛️ 統計的検定の手順詳説

β収束の有意性検定では、 単純な OLS の t 検定だけでなく、 様々な統計的検定が必要になります。 以下に主要な検定とその使い分けをまとめます。

検定目的帰無仮説解釈
t 検定 (係数の有意性)β=0 か否かH0: β=0p<0.05 で収束を支持
F 検定 (条件付き β収束)統制変数の集合的有意性H0: 全係数=0p<0.05 で統制変数の重要性
Chow テスト構造変化の有無H0: β が期間で不変構造変化の検出
Hansen テスト空間的自己相関の有無H0: 空間的独立空間モデル必要性
Hadri テストパネルの定常性H0: 全パネル定常非定常パネルの存在
Phillips-Sul log tクラブ収束H0: 全地域収束クラブ識別

📤 検定の組み合わせで「収束の存在」「収束のタイプ」「収束クラブの構造」を段階的に明らかにできます。 単一の検定結果だけで結論を下すのは危険で、 複数手法の triangulation が推奨されます。

🔬 β収束のミクロ的基礎

マクロレベルの β収束を、 ミクロレベルの企業・家計の意思決定から導出する研究も進んでいます。 これは「マクロ収束はミクロ的に何が起きているのか」を明らかにする深い学術問題です。

これらの仮説は相互に排他的ではなく、 実際には複数のメカニズムが同時に働いていると考えられます。 実証研究では、 これらを識別するために instrumental variable approach や DID などの因果推論手法と組み合わせて分析が行われます。

📈 β収束分析の関連分野

β収束分析は、 経済成長論を中心に多くの関連分野と接続しています。 学際的に学ぶことで理解が深まります。

関連分野テーマ主要手法
経済成長論Solow モデル、 内生的成長理論回帰分析、 校正
地域経済学地域格差、 都市・農村格差空間計量経済モデル
開発経済学国際格差、 貧困削減パネル分析、 RCT
公共経済学財政政策、 再分配DID、 IV
国際経済学貿易・FDI と成長重力モデル
所得分配論格差の動学分布動態分析

📤 β収束はこれらの分野の交差点に位置し、 マクロ経済学・統計学・空間分析を統合的に扱う格好の練習材料となります。

🎯 β収束分析の実務的価値

β収束分析は学術研究だけでなく、 実務でも重要な価値があります。 以下のような現場で活用されています。

  1. 地方自治体の政策立案: 地域経済の収束傾向を把握、 投資の優先順位決定
  2. 国際機関 (世銀、 IMF): 途上国支援戦略の評価、 収束クラブの識別
  3. EU 域内政策: 構造基金 (Cohesion Fund) の配分、 効果評価
  4. 企業立地戦略: 高成長地域の特定、 進出判断
  5. 不動産投資: 長期的価値上昇地域の選定
  6. シンクタンク: 中長期経済予測の作成

これらの実務では、 単純な β係数だけでなく、 半減期や政策含意の解釈が重要になります。 アカデミックな分析を実務に翻訳できる人材が、 政策コンサルティングや国際開発の現場で高く評価されます。

📚 経済成長と収束の理論史

収束概念の歴史を辿ると、 経済成長論の発展史と密接に結びついています。 主要な節目を理解することで、 現代の研究が何を引き継いでいるかが見えてきます。

  1. 1956 年: Solow が新古典派成長モデルを提唱。 収束予測の理論的基礎を確立。
  2. 1965 年: Cass、 Koopmans が最適成長モデル (Ramsey 型) を構築。 マクロ・ミクロの統合。
  3. 1986-88 年: Romer、 Lucas が内生的成長理論を提案。 収束しない可能性を理論化。
  4. 1991-92 年: Mankiw-Romer-Weil、 Barro-Sala-i-Martin が β/σ収束の実証研究を開始。
  5. 1996 年: Quah が分布動態的アプローチを提案。 多重均衡の可能性を実証。
  6. 2000 年代: 内生性問題、 空間的依存、 構造変化への対応が進む。
  7. 2010 年代: ビッグデータと機械学習の活用で、 より高解像度の収束分析が可能に。
  8. 2020 年代: COVID-19 ショックの分析、 気候変動と収束の関係などの新トピック。

このように β収束分析は約 30 年の歴史を持つ研究領域であり、 経済学の中でも実証分析が活発な分野の一つです。 学習者は古典的研究 (Solow、 Barro-Sala-i-Martin) と最新の発展を併せて学ぶことで、 体系的な理解が得られます。

🌏 グローバル収束のエビデンス

世界銀行のデータベース (World Development Indicators) を用いた近年の研究では、 1980-2020 年の世界全体で見ると β絶対収束は弱いものの存在することが確認されています。 ただし、 サブグループ別に見るとパターンが大きく異なります。

グループ収束 (β絶対)主な要因
全世界 (160+ ヶ国)弱く負中国・インドなどの高成長
OECD (38 ヶ国)強く負技術伝播、 制度同調
EU 27 ヶ国中程度に負構造基金、 統合効果
サブサハラアフリカほぼゼロ or 正制度・紛争・気候の影響
東アジア急速な工業化・教育投資
ラテンアメリカ弱く負 (期間で変動)マクロ的不安定性

📤 これらのエビデンスから、 収束パターンは「制度の質」「政策の継続性」「外的ショック」に強く依存することが分かります。 単純な「全世界で収束する」というナイーブな見解は支持されません。

💡 β収束分析の今後の研究方向

β収束分析は成熟した分野ですが、 まだ多くの研究機会があります。 以下に有望な研究方向を示します。

これらの新しい研究機会は、 若手研究者にとって魅力的なキャリアパスを提供します。 統計分析の基礎と経済学の知識を組み合わせた人材が求められています。

🔍 β収束分析の批判と反論

β収束分析には、 1990 年代から繰り返し批判が提起されており、 これらに対する反論を学ぶことで分析の本質的限界を理解できます。

主要批判論点主流の反論
Galton fallacyβ<0 は単なる回帰平均効果σ収束も同時に確認、 パネルで対処
内生性問題初期所得が成長率と内生的IV、 GMM 推定で対応
不均一分散標準誤差が信頼不能頑健標準誤差、 ブートストラップ
構造変化の無視長期間で β が変化サンプル分割、 時変パラメータモデル
単一定常状態の仮定多重均衡の可能性条件付きβ収束、 クラブ収束
空間的依存の無視隣接地域の影響空間計量経済モデル

📤 これらの批判はそれぞれ正当な問題提起であり、 主流の対応も洗練されてきました。 現代的な β収束分析では、 これらの批判に応えた頑健な分析が求められます。

🏆 β収束分析の研究フロンティア

最先端の研究では、 機械学習・因果推論・テキスト解析などの新しい手法が β収束分析に取り入れられています。 これらは伝統的手法を補完し、 新しい知見を生み出しています。

これらのフロンティア研究は、 経済学・統計学・データサイエンス・物理学などの学際的協働を必要とします。 多様な分野のスキルセットを持つ研究者にとって、 非常にやりがいのある研究領域となっています。

📖 β収束分析のレポート作成のコツ

β収束分析の結果を学術論文や政策レポートにまとめる際、 以下の要素を含めると読み手に理解しやすい構成になります。

  1. 明確な仮説提示: 「日本の県間所得格差は時間とともに縮小しているか」など、 分析の問いを明示
  2. データの説明: 出典、 期間、 サンプル数、 変数の定義を表で整理
  3. 記述統計の提示: 平均、 中央値、 標準偏差、 最大・最小値を含む基本統計
  4. 散布図とラインフィット: 横軸: 初期所得、 縦軸: 成長率の散布図に回帰直線
  5. 主結果の提示: 推定された β、 標準誤差、 t 値、 R² を表で
  6. 頑健性チェックの結果: 統制変数追加、 期間変更、 サブサンプル分析の結果
  7. 政策含意の議論: 半減期、 政策的含意を平易な言葉で説明
  8. 分析の限界: 内生性、 構造変化、 空間的依存などの未解決問題を率直に提示

レポート全体を通じて、 数学的厳密性と読み手の理解しやすさのバランスを取ることが重要です。 査読論文では前者、 政策レポートでは後者を重視するなど、 読者層に応じた書き分けが必要になります。

🌐 β収束分析を学ぶオンラインリソース

独学で β収束分析を学習する場合、 以下のオンラインリソースが有用です。 順を追って学習することで効率的に習得できます。

これらのリソースを組み合わせて学習すれば、 大学院レベルの分析が独学で可能になります。 公開されているデータと実装例を使い、 自分の手で分析を再現することが最も効果的な学習方法です。

📊 Python 実装の典型例 — 統合的ワークフロー

β収束分析の Python 実装は、 statsmodels と pandas の組み合わせで簡潔に書けます。 以下のような典型コードフローを覚えておくと、 様々な分析に応用可能です。

これらの基本コードを身につけたら、 統制変数の追加、 サブサンプル分析、 IV 推定、 GMM 推定などへ発展していけます。 statsmodels と linearmodels (Pythonライブラリ) の習得が β収束分析の Python ベースの実装力を大きく高めてくれます。

🌟 まとめ — β収束分析が示す経済学の本質

β収束分析は、 単なる統計手法ではなく、 「経済の長期的ダイナミクスを理解する」という経済学の根本問題に直接答えるツールです。 Solow モデルから始まり、 内生的成長理論、 制度経済学、 開発経済学などの広範な理論と実証研究を結びつける接続点になっています。

本記事を通じて、 β収束の理論的基礎、 実証手法、 政策応用、 批判と反論、 そして発展トピックまでの体系的な理解が得られたはずです。 ここからさらに深く学ぶには、 自分自身でデータを分析し、 結果を解釈し、 他者に説明するという実践を繰り返すことが何よりも重要です。 SSDSE-B-2026 や Penn World Table を活用すれば、 すぐに分析を始められます。

🎓 β収束分析の学術的位置付け

β収束分析は経済学・統計学・地域科学の交差点に位置し、 実証マクロ経済学の中核的なテーマの一つです。 ノーベル経済学賞受賞者の研究との関連も深く、 例えば Robert Solow (1987 年受賞)、 Paul Romer (2018 年受賞) などの理論的貢献が β収束分析の基盤となっています。 また、 実証研究の発展には Robert Barro、 Xavier Sala-i-Martin の貢献が大きく、 1990 年代以降の数千の論文がこれらの初期研究を起点に展開されています。

📌 最後のメッセージ

β収束分析は、 経済学を学ぶ全ての人にとって、 理論と実証の接続を経験できる絶好の教材です。 数式・データ・統計手法・政策含意・批判的議論などのスキルを総合的に磨くことができます。 学習者の皆さんは、 ぜひこのテーマを起点に、 経済学・統計学・データサイエンスへの深い理解を築いていってください。 そして、 自身の研究や実務において、 厳密かつ誠実なデータ分析を通じて、 社会に貢献できる人材を目指してほしいと願っています。 特に日本のように、 都道府県間の経済格差・人口減少・地方創生といった現実的課題に直面している社会では、 β収束分析の知見が政策設計に直接活かされる場面が数多くあります。 公的データを使い、 適切な手法を選び、 結果を率直に解釈し、 政策提言まで結びつけるという一連のスキルは、 統計学を学ぶ価値を最も実感できる体験となるはずです。 そして、 そうした分析を継続的に行い、 社会に発信していくことで、 自身も成長しつつ、 社会全体のエビデンスに基づく意思決定文化を育てていくことができます。 これこそが、 統計家・経済学者・データサイエンティストの本来の社会的使命です。 一人ひとりの分析が積み重なって、 社会の理解と選択の質を底上げしていきます。 その小さくも確実な一歩を、 ぜひ β収束分析から始めてみてください。 そこから広がる学びの楽しさと、 社会への貢献の喜びが、 きっとあなたの将来を豊かにしてくれるはずです。 統計分析が社会を変える、 その実感を体験してください。

⚠️ β収束分析の落とし穴 — 6 つの典型ミス

① Galton の誤謬(平均回帰)と本物の収束の混同

「初期所得が高いほど成長率が低い」というβ収束の検定式は、 ノイズだけのデータでも統計的に有意な負の係数を生む。 これは Galton が身長で観察した「平均回帰」と同じ統計的アーチファクト。 本物の経済学的収束を主張するにはσ収束(横断分布の分散縮小)を併せて確認し、 さらに測定誤差の分散がノイズに対して小さいことを示す必要がある。 Friedman, Quah らがこの問題を厳しく指摘してきた。

② 空間自己相関を無視する

隣接する都道府県は経済構造が似ており、 成長率も空間的に相関する。 通常の OLS は誤差項が独立と仮定するので、 標準誤差が過小評価され t 統計量が膨らむ。 PySAL や spreg で空間ラグモデル(SAR)や空間誤差モデル(SEM)を当てはめ、 Moran's I で残差の空間自己相関を診断する。 都道府県・市町村レベルの収束分析では事実上必須。

③ 単一の定常状態を仮定する(収束クラブの存在)

「すべての地域が同じ定常状態に向かう」は強い仮定。 実際には「先進地域クラブ」「中位地域クラブ」「停滞地域クラブ」のように複数の収束先がある可能性が高い(Quah の bimodal distribution)。 Phillips-Sul のクラブ収束検定や、 finite mixture モデルでクラブを推定する。 SSDSE では「東京・神奈川・大阪・愛知」と「人口減少地方」が別クラブを形成しているように見える。

④ 初期所得の測定誤差で減衰バイアス

初期所得 y_0 に測定誤差があると、 説明変数の分散が膨らみ係数が原点に向かってバイアス(減衰バイアス、 attenuation bias)する。 これは「収束が見えにくくなる」方向のバイアス。 操作変数法(IV)で対処するのが正攻法だが、 良い IV が見つかりにくい。 別の年の所得を IV にする、 もしくは MIMIC モデルで潜在変数として扱う。

⑤ サンプル選択バイアス(生き残りバイアス)

国際比較では「全期間データが取れる国」だけを残すと、 政情不安定な低所得国(崩壊・分裂)が除外され、 残るのは安定して成長した国だけ。 結果として「収束した」と見える事象が、 単なるサンプル選択の産物の可能性がある。 47 都道府県分析では消滅自治体がないので問題にならないが、 国際比較や市町村合併データでは注意。

⑥ パネルデータの異質性を無視する

複数年のパネルデータでβ収束を推定するとき、 単純な OLS は各都道府県の「固有の定常状態」を無視する。 固定効果(FE)パネル推定(linearmodels の PanelOLS)や、 GMM 推定(Arellano-Bond、 Blundell-Bond)を使う。 これらは初期所得の内生性(過去の所得が誤差項と相関する Nickell bias)を補正する。 単純な Barro 回帰は「点推定の方向感」を見るに留め、 数値の解釈は慎重に。

⚠️ よくある落とし穴 — β収束 で初学者がやりがちなミス

β収束 を SSDSE-B-2026 の 47 都道府県データで分析する際に頻発する落とし穴を整理します。 σ収束との混同、 Galton 誤謬(平均回帰の見せかけ)、 短期間(2-3 年)での誤った収束判定など。 経済成長論の代表的な解析手法だけに、 誤用すると政策提言の根拠を歪めるリスクがあります。

❌ 「σ収束」と混同
β収束(個別地域の追い上げ)と σ収束(県間ばらつきの縮小)は別物。 同時に検証する。
❌ ガリトン誤謬
初期値で並べると平均回帰が起こりやすい。 ランダム測定誤差で見せかけの β 収束に。
❌ 期間の取り方
短すぎると景気変動、 長すぎると構造変化が混入。
🛡 β収束 分析の三原則:「絶対収束 vs 条件付収束 を必ず明示する」「初期所得(基準年)と最終年の選び方で結論が変わるため複数年で頑健性チェック」「σ収束(分散縮小)も並走して報告する」。 SSDSE-B-2026 で 47 都道府県の 2018→2023 を分析するなら、 中間年も含めた感度分析が必須です。

🧭 直感をもう一段深める — 「追いつき」を正しくイメージする

β収束のイメージは「後ろからスタートしたランナーほど速く走る」ですが、 なぜそうなるのかを一段深く押さえると誤用を防げます。 新古典派(Solow)成長モデルでは資本の限界生産性が逓減するため、 資本・所得の水準が低い地域ほど 1 単位の投資が生む成長が大きく、 やがて共通の定常状態 $y^*$ に近づきます。 初期水準 $\ln y_0$ が低いほど成長率が高い(=散布図が右下がり)——これが「β収束あり」の見た目です。

🔑 3 つの「収束」を区別する
  • 絶対β収束:統制変数なしで $g_i = \alpha - \beta\ln y_{i,0}$。 「全地域が同じ定常状態へ向かう」という強い前提。 貧しい地域ほど速く伸び、 最終的に全員が同じ水準へ。
  • 条件付きβ収束:人口構造・産業構成などを統制した回帰。 「各地域は自分自身の定常状態へ向かう」。 統制後に $\beta<0$ が残るかを見る。 絶対収束が否定されても条件付きなら成り立つことは多い。
  • σ収束ばらつき(各年の $\ln y$ の標準偏差分散)が時間とともに縮むこと。 「格差そのものが縮んだか」を直接測る。
💡 核心:β収束は「順位入れ替えが起きやすい」ことを意味するだけで、 「分布の幅が縮んだ」ことは保証しません。 追いかける側が追いつく一方で、 新しいショックが幅を広げ続ければ、 β収束($\beta<0$)と σ非収束(幅が縮まない)は同時に成立します。 本ページ実測(消費支出 L3221、 2012→2023、 47 県)がまさにその状態です($\hat\beta\approx-0.032$ で収束、 σ は 0.077→0.084 で拡大)。 だから β と σ は必ずセットで報告します。

⚠️ さらに深い落とし穴 — β収束で足をすくわれる 6 点

前の「⚠️ 落とし穴」セクションを補い、 特に誤った政策結論に直結しやすい論点を掘り下げます。 いずれも実測データや検証で確かめられる具体的な話です。

① ガルトンの誤謬(平均への回帰)と本物のβ収束の混同

初期値でソートして成長率を見ると、 純粋な測定誤差やランダムな一時ショックだけでも右下がりの傾き(見かけのβ収束)が出ます。 これは回帰直線が本質的に持つ平均への回帰(今年たまたま高かった県は来年平均に戻りやすい)で、 Francis Galton の身長研究に由来する古典的な錯覚です。 「$\beta<0$ だから格差が縮んだ」と即断するのは危険。 防御は (a) σ収束を併記する、 (b) 測定誤差による減衰バイアスを意識する、 (c) 初期値を別データ・別期間で測り直す、 の 3 点です。

② β収束 ≠ σ収束 — 端点の取り方で結論が反転する

σ収束の有無は始点・終点の選び方に強く依存します。 実測(L3221 の $\ln y$ 標準偏差)で確かめると:

2012201920222023
σ(log 標準偏差)0.0770.0940.0670.084

2012 を始点にとると σ は 0.077→0.084 と拡大(σ収束なし)ですが、 2019 を始点にとると 0.094→0.084 と縮小(σ収束あり)。 同様に β も 2012→2023 で $-0.032$、 2019→2023 で $-0.096$ と大きさが変わります(いずれも実測、 有意な負)。 σ は単調ではなく 2019 前後にピーク・2022 に急縮というジグザグを描くため、 単一の始点・終点だけで「収束した/しない」を語らず、 複数期間で頑健性を確認してください。

③ 初期値の測定誤差 → 減衰バイアスと内生性

説明変数である初期水準 $\ln y_0$ に測定誤差が混じると、 傾きは 0 方向へ引っ張られる減衰バイアスが生じます。 さらに $\ln y_0$ は誤差項と相関しやすく(過去の一時ショックが初期値と成長率の両方に効く)、 パネルで固定効果を入れるとNickell バイアスが出ます。 対処は操作変数(IV)、 期首を数年平均でならす、 動学パネル GMM(Arellano-Bond)など。 単純 Barro 回帰は「方向感」までと割り切ります。

④ 条件付き収束の交絡 — 統制変数の入れ方で符号が動く

絶対β収束が見えなくても、 産業構造や人口動態などの交絡を統制すると条件付きβ収束が現れることがあります(逆も然り)。 これは「どの定常状態を仮定するか」を統制変数が決めるため。 統制変数は理論的根拠のあるものに限り、 むやみに投入して符号を追うデータマイニング的な回帰見せかけの関係を招きます。

⑤ 単位根・非定常 — 水準がランダムウォークなら収束は幻

各地域の $\ln y$ が非定常(単位根を持つ)なら、 定常状態への収束という前提そのものが崩れ、 横断回帰の傾きは意味を失います。 パネル単位根検定(Im-Pesaran-Shin など)で定常性を確認し、 系列相関にも注意します。 見せかけの回帰(spurious regression)を避けるための基本チェックです。

⑥ 空間依存 — 隣県は独立でない

都道府県データは隣接県同士で成長率が似る空間的自己相関を持ち、 OLS の独立性仮定が破れて標準誤差が過小評価されます(=有意に見えすぎる)。 Moran's I で診断し、 空間ラグ/空間誤差モデル(PySAL)で対処します。 47 県という小標本では、 この過小評価が「β有意」の結論を脆くします。

🚀 発展 — β収束の先にある地図

β収束の基本を押さえたら、 以下の方向へ広げると分析が一段深くなります。 各項目は SSDSE-B-2026 のパネル構造(2012-2023)で実際に試せます。

発展テーマ何を足すか / 一言メモ
絶対 vs 条件付きβ収束統制変数の有無を切り替え、 定常状態が共通か個別かを問う。 本ページ「隣接手法」に条件付き版の実測コードあり
σ収束各年の 分散・標準偏差の推移を追う。 β と必ず併走報告。 ジニ係数ローレンツ曲線で格差指標を補完
成長回帰(Barro 回帰)$g_i=\alpha-\beta\ln y_{i,0}+X_i\gamma$。 重回帰で統制変数を拡張し収束速度 λ・半減期を算出
クラブ収束高水準群・低水準群が別々の定常状態へ。 Phillips-Sul の log t 検定、 分布動学(Quah)で多峰化を検出
空間計量Moran's I → 空間ラグ/空間誤差モデル。 隣県の波及を明示的にモデル化
パネル・動学推定パネルデータ固定効果変量効果、 内生性には Arellano-Bond GMM
平均回帰との関係Galton の平均回帰は「見かけのβ収束」の源。 σ収束・IV・測定誤差補正で本物と区別
🧪 架空の思考実験:仮に 2 つのグループ(各 20 地域)が別々の定常状態を持つ架空データを作ると、 全体一括の回帰では $\beta$ がほぼ 0(収束なし)に見えても、 グループ内で回帰すると各群で $\beta<0$ になり得ます。 これがクラブ収束のシグナル。 上の実測値とは無関係の説明用の架空設定です。

🗺 概念マップ — β収束 の知識ネットワーク

β収束 (β-convergence) は新古典派成長理論の Solow-Swan モデルから派生した実証指標で、 「初期所得 ln Y₀ が低い地域ほど成長率 (ln Y_T − ln Y_0)/T が高い」という負の回帰係数 β < 0 で経済の収束を判定する。 47 都道府県の県民所得や OECD 国別 GDP のパネルで頻出。 周辺概念は (a) 上位の成長会計・新古典派モデル、 (b) 並列のσ収束 (所得分散の縮小)・クラブ収束 (多重均衡)・分布動態的収束 (Quah)、 (c) 前段のパネルデータ・対数変換・初期値依存性、 (d) 推定手法のOLS・固定効果モデル・ベイズ階層モデル、 (e) 落とし穴のGalton fallacy (平均回帰との混同)・測定誤差バイアス・omitted variable bias に分かれる。 以下で図解と関係マップで体系を可視化する。

🖼️ β収束の追加図解 — 散布図と回帰直線

β収束 (β-convergence) は経済成長論における重要概念で、 「初期所得が低い地域ほど成長率が高い」という負の相関を 横軸: 初期所得 × 縦軸: 成長率の散布図で確認します。 負の傾き (β<0) が出れば収束しているという解釈です。

β収束散布図

図: 散布図+回帰直線の読み方の例(SSDSE-B-2026: 総人口×一般診療所数、 2023 年、 r=0.972)。 β収束分析ではこれと同じ形式で横軸に log 初期水準、 縦軸に成長率をとり、 右下がり(負の傾き)なら収束のサイン。

単回帰によるβ係数推定

図: 単回帰直線と 95% 信頼区間の例(SSDSE-B-2026)。 β収束分析ではこの回帰直線の傾きにあたる係数が負なら収束、 正なら発散。

複数地域の収束プロセス

図: 相関の強さが異なる 4 つの散布図例(SSDSE-B-2026、 2023 年)。 β収束の検定も本質は「初期水準と成長率の負の相関」が有意かどうかの確認である。

📊 β収束 vs σ収束 の対比表

概念定義指標解釈
β収束 (絶対)初期低所得 → 高成長回帰係数 β<0全地域が同じ定常状態へ収束
β収束 (条件付き)地域特性統制後の収束統制変数追加後の β<0各地域の固有定常状態へ収束
σ収束所得分散が時間的に縮小標準偏差の時間変化所得格差そのものが縮小
クラブ収束特定グループ内のみで収束グループ別 β 推定多重均衡の存在
分布動態的収束分布形状の時間変化Quah のマルコフ遷移行列長期定常分布の形状

📤 β収束は必要条件、 σ収束は十分条件と捉えるとよい。 β<0 でもσ収束しない例 (例: 大きなショックで分散拡大) もあるため、 両方確認することが推奨される。

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

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

📍 体系階層のパス

🌐 統計・データサイエンス › 関連・回帰 › 回帰 › β収束・σ収束 (β/σ Convergence) — 経済成長の収束を回帰で検証する指標

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

中心に β収束・σ収束 を置き、 そこから 重回帰・最小二乗法・単回帰・Ridge回帰 計 4 個の用語へ、 前提・兄弟・発展形といった関係を矢印で結んでいます。 線がどちら向きかを見れば、 先に読むべき用語あとから読む用語が分かります。 ノードはドラッグで動かせ、 ホイールでズーム、 クリックでその用語のページへ遷移します。

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

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

大きな円が小さな円を包含する Circle Packing 図。 「β収束・σ収束」は緑色でハイライト

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

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

長方形を入れ子に分割した Treemap 図。 各分野の規模感を面積で比較。 「β収束・σ収束」は緑色でハイライト

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

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

💡 3 つの図は同じ位置関係を別の角度から描いています。 関係マップは β収束・σ収束 (β/σ Convergence)隣に何が並ぶかを、 包含マップとツリーマップは 統計・データサイエンス回帰 → β収束・σ収束 (β/σ Convergence) という入れ子の位置を示します。 「回帰には他に何があったか」を思い出したいときは包含マップを、 「次に何を読むか」を決めたいときは関係マップを開いてください。

🔗 隣接手法への橋渡し

β 収束は「初期所得が低い地域ほど成長率が高く、 やがて先進地域に追いつく」仮説の回帰検定で、 σ 収束は地域間分散の縮小傾向で、 マクロ経済学の地域分析の中核。

SSDSE-B-2026 で 47 都道府県の消費支出を 2012→2023 で計算すると傾き ≈ -0.032 (収束速度 λ≈0.039、 半減期約 18 年) が得られ、 「地方は東京に何年で追いつくか」という政策的問いに数値で答えられる。

🌳 手法選択フロー

「beta convergence」を含む手法選択は、 データの性質・分析目的・運用制約の 3 軸で決まる。 以下に典型シナリオと対応する手法の組合せを示す。

典型シナリオ別の手法選択

シナリオ重視する観点候補手法
データが大規模 (n が多い、 高次元)計算コスト / メモリ / 並列化が必要σ収束
外れ値が多い / ノイズあり頑健性 / 外れ値除去 / 中央値ベース条件付きβ収束
解釈性を重視する線形 / 木構造 / ルールベース空間計量
予測精度を最優先するアンサンブル / ハイパラ調整 / 交差検証パネルデータ分析

選んだ後の検証ステップ

  1. 前処理確認: 標準化 / 欠損処理 / カテゴリ変数のエンコード が適切か
  2. ハイパラ調整: 交差検証で安定する値を選ぶ
  3. 性能評価: タスクに応じた指標 (RMSE / Accuracy / F1 / AUC / シルエット等) を複数併用
  4. 頑健性チェック: 別手法 / 別シードで結果が大きく違わないか確認
  5. 解釈: 結果を分野知識と照らし合わせ、 意味のある発見になっているか検討

条件付きβ収束(コントロール変数を加える)

🎯 解説: SSDSE-B の実在列(A1101=総人口、 G7101=延べ宿泊者数、 A1303=高齢人口。 いずれも初期年 2012 の値)を統制変数に加えた条件付き β 収束。 実測(消費支出 L3221、 2012→2023、 47 県)では log_y0 の係数 ≈ -0.029(p ≈ 0.018、 R² ≈ 0.29)と、 統制後も有意な負=条件付き β 収束が確認できる。
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行) 都道府県 A1101(総人口) A1303(65歳以上人口) G7101(延べ宿泊者数) L3221(消費支出(二人以上の世帯)) 北海道 5,092,000 1,681,000 32,783,470 296,888 東京都 14,086,000 3,205,000 80,273,650 341,320 沖縄県 1,468,000 350,000 20,038,190 251,222 …(全 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
# ── この抜粋で使うデータを用意します(β 収束の回帰用データ)──
# 起点 2012 年・終点 2023 年の消費支出(L3221)から
#   log_y0 = log(起点値)、log_y1 = log(終点値)、growth = 年平均成長率
# を作る。あわせて条件付き収束の説明変数も足す。
import numpy as np
import pandas as pd
import statsmodels.formula.api as smf

_raw = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
_y0 = _raw[_raw['SSDSE-B-2026'] == 2012].set_index('Prefecture')
_y1 = _raw[_raw['SSDSE-B-2026'] == 2023].set_index('Prefecture')
T = 2023 - 2012
df = pd.DataFrame({
    'log_y0': np.log(_y0['L3221']),
    'log_y1': np.log(_y1['L3221']),
    'A1101': _y1['A1101'],
    'A1303': _y1['A1303'],
    'G7101': _y1['G7101'],
})
df['growth'] = (df['log_y1'] - df['log_y0']) / T

df['log_pop']   = np.log(df['A1101'])    # 総人口
df['log_hotel'] = np.log(df['G7101'])    # 延べ宿泊者数
df['old_share'] = df['A1303'] / df['A1101']  # 高齢化率(高齢人口/総人口)

m_cond = smf.ols('growth ~ log_y0 + log_pop + log_hotel + old_share',
                 data=df).fit()
print(m_cond.summary())
📤 実行例(実測) OLS Regression Results ============================================================================== Dep. Variable: growth R-squared: 0.308 Model: OLS Adj. R-squared: 0.242 Method: Least Squares F-statistic: 4.668 Date: Sun, 16 Aug 2026 Prob (F-statistic): 0.00330 Time: 16:16:19 Log-Likelihood: 178.19 No. Observations: 47 AIC: -346.4 Df Residuals: 42 BIC: …(以下略)

2. linearmodels で固定効果パネル推定

🎯 解説: β 収束の回帰式 (1/T)log(y_T/y_0) = α + β log(y_0) + ε を最小二乗法で推定。 β < 0 なら収束を意味する。
📥 入力例(SSDSE-B-2026 の 2023 年・47 都道府県から 3 行) 都道府県 A1101(総人口) L3221(消費支出(二人以上の世帯)) 北海道 5,092,000 296,888 東京都 14,086,000 341,320 沖縄県 1,468,000 251,222 …(全 47 行)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import numpy as np
import pandas as pd

# ── 収束回帰に使うパネルを SSDSE-B-2026 から作る ──
_d = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
df_panel = pd.DataFrame({
    'pref': _d['Prefecture'],
    'year': _d['SSDSE-B-2026'],
    'log_y': np.log(_d['L3221'].astype(float)),      # 消費支出の対数
    'log_pop': np.log(_d['A1101'].astype(float)),    # 総人口の対数
}).sort_values(['pref', 'year'])
df_panel['L1_log_y'] = df_panel.groupby('pref')['log_y'].shift(1)   # 1 期ラグ
df_panel = df_panel.dropna()

import linearmodels.panel as lm
panel = df_panel.set_index(['pref', 'year'])
mod = lm.PanelOLS.from_formula(
    'log_y ~ 1 + L1_log_y + log_pop + EntityEffects',
    data=panel)
res = mod.fit(cov_type='clustered', cluster_entity=True)
print(res)
📥 入力例: data/raw/SSDSE-B-2026.csv 47 都道府県 × 2 列 x: log(初期所得), y: 成長率
📤 実行例(実測) PanelOLS Estimation Summary ================================================================================ Dep. Variable: log_y R-squared: 0.0350 Estimator: PanelOLS R-squared (Between): -0.1426 No. Observations: 517 R-squared (Within): 0.0350 Date:
💬 読み方: 実データ(消費支出 L3221、 2012→2023、 47 県)では傾き ≈ -0.032(p ≈ 0.01、 R² ≈ 0.14)で有意な負=β収束。 収束速度 λ ≈ 0.039/年、 半減期 ≈ 17.6 年。 一方 σ(log の標準偏差)は 0.077→0.084 と拡大し、 「β収束ありでも σ収束なし」の実例。 β と σ は必ず併せて確認する。

σ収束(分散の縮小)の確認

🎯 解説: β 収束(beta convergence)は経済成長理論の中心概念。 初期所得が低い地域ほど高い成長率を示し、 長期的に所得格差が縮小する現象。 SSDSE-B-2026 の都道府県別所得データで実証分析する。
 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
# ── この抜粋で使うデータを用意します(β 収束の回帰用データ)──
# 起点 2012 年・終点 2023 年の消費支出(L3221)から
#   log_y0 = log(起点値)、log_y1 = log(終点値)、growth = 年平均成長率
# を作る。あわせて条件付き収束の説明変数も足す。
import numpy as np
import pandas as pd
import statsmodels.formula.api as smf

_raw = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1])
_y0 = _raw[_raw['SSDSE-B-2026'] == 2012].set_index('Prefecture')
_y1 = _raw[_raw['SSDSE-B-2026'] == 2023].set_index('Prefecture')
T = 2023 - 2012
df = pd.DataFrame({
    'log_y0': np.log(_y0['L3221']),
    'log_y1': np.log(_y1['L3221']),
    'A1101': _y1['A1101'],
    'A1303': _y1['A1303'],
    'G7101': _y1['G7101'],
})
df['growth'] = (df['log_y1'] - df['log_y0']) / T

# 各年の log 所得の標準偏差をプロット(実分析では年次データ必須)
sigma_0 = df['log_y0'].std()
sigma_1 = df['log_y1'].std()
print(f'σ(t=0) = {sigma_0:.3f}')
print(f'σ(t=T) = {sigma_1:.3f}')
print('σ収束は{}見られる'.format('' if sigma_1 < sigma_0 else 'ほとんど'))
📥 入力例: data/raw/SSDSE-B-2026.csv X: 消費支出 2012(初期水準の代理) Y: 2012-2023 年平均成長率
📤 実行例: 回帰係数 β = -0.032 t 値 = -2.69, p = 0.010 → 有意な β 収束を確認
💬 読み方: 実データ(消費支出 L3221、 2012→2023、 47 県)では傾き ≈ -0.032(p ≈ 0.01、 R² ≈ 0.14)で有意な負=β収束。 収束速度 λ ≈ 0.039/年、 半減期 ≈ 17.6 年。 一方 σ(log の標準偏差)は 0.077→0.084 と拡大し、 「β収束ありでも σ収束なし」の実例。 β と σ は必ず併せて確認する。
📥 入力例: data/raw/SSDSE-B-2026.csv 47 都道府県 × 2 列 x: log(初期所得), y: 成長率
📤 実行例(実測) σ(t=0) = 0.077 σ(t=T) = 0.084 σ収束はほとんど見られる
💬 読み方: 実データ(消費支出 L3221、 2012→2023、 47 県)では傾き ≈ -0.032(p ≈ 0.01、 R² ≈ 0.14)で有意な負=β収束。 収束速度 λ ≈ 0.039/年、 半減期 ≈ 17.6 年。 一方 σ(log の標準偏差)は 0.077→0.084 と拡大し、 「β収束ありでも σ収束なし」の実例。 β と σ は必ず併せて確認する。

3. Arellano-Bond GMM(動的パネル)

🎯 解説: β 収束の回帰式 (1/T)log(y_T/y_0) = α + β log(y_0) + ε を最小二乗法で推定。 β < 0 なら収束を意味する。
1
2
3
4
# linearmodels には組込み GMM が無いので、 R の plm/pgmm 経由、 もしくは
# 手書きの差分 GMM(statsmodels.sandbox.regression.gmm.IVGMM)を使う
from statsmodels.sandbox.regression.gmm import IVGMM
# ※ 専門的になるので詳細は省略
📥 入力例: data/raw/SSDSE-B-2026.csv 47 都道府県 × 2 列 x: log(初期所得), y: 成長率
📤 このブロックは標準出力には何も出さない
💬 読み方: 実データ(消費支出 L3221、 2012→2023、 47 県)では傾き ≈ -0.032(p ≈ 0.01、 R² ≈ 0.14)で有意な負=β収束。 収束速度 λ ≈ 0.039/年、 半減期 ≈ 17.6 年。 一方 σ(log の標準偏差)は 0.077→0.084 と拡大し、 「β収束ありでも σ収束なし」の実例。 β と σ は必ず併せて確認する。

4. PySAL(pysal/spreg)で空間ラグモデル

🎯 解説: β 収束の回帰式 (1/T)log(y_T/y_0) = α + β log(y_0) + ε を最小二乗法で推定。 β < 0 なら収束を意味する。
1
2
3
4
5
6
7
8
9
import libpysal
from spreg import ML_Lag, ML_Error, OLS as spOLS
# 隣接行列(要 GeoDataFrame)
W = libpysal.weights.Queen.from_dataframe(gdf)
W.transform = 'r'
# OLS と空間ラグの比較
ols  = spOLS(y, X, w=W, spat_diag=True)
slag = ML_Lag(y, X, w=W)
print(ols.summary); print(slag.summary)
📥 入力例: data/raw/SSDSE-B-2026.csv 47 都道府県 × 2 列 x: log(初期所得), y: 成長率
📤 このブロックは標準出力には何も出さない
💬 読み方: 実データ(消費支出 L3221、 2012→2023、 47 県)では傾き ≈ -0.032(p ≈ 0.01、 R² ≈ 0.14)で有意な負=β収束。 収束速度 λ ≈ 0.039/年、 半減期 ≈ 17.6 年。 一方 σ(log の標準偏差)は 0.077→0.084 と拡大し、 「β収束ありでも σ収束なし」の実例。 β と σ は必ず併せて確認する。

5. Moran's I で残差の空間自己相関を検定

🎯 解説: β 収束(beta convergence)は経済成長理論の中心概念。 初期所得が低い地域ほど高い成長率を示し、 長期的に所得格差が縮小する現象。 SSDSE-B-2026 の都道府県別所得データで実証分析する。
1
2
3
from esda.moran import Moran
mi = Moran(res.resid, W)
print(f"Moran's I = {mi.I:.3f}, p = {mi.p_sim:.4f}")
📥 入力例: data/raw/SSDSE-B-2026.csv X: 消費支出 2012(初期水準の代理) Y: 2012-2023 年平均成長率
📤 実行例: 回帰係数 β = -0.032 t 値 = -2.69, p = 0.010 → 有意な β 収束を確認
💬 読み方: 実データ(消費支出 L3221、 2012→2023、 47 県)では傾き ≈ -0.032(p ≈ 0.01、 R² ≈ 0.14)で有意な負=β収束。 収束速度 λ ≈ 0.039/年、 半減期 ≈ 17.6 年。 一方 σ(log の標準偏差)は 0.077→0.084 と拡大し、 「β収束ありでも σ収束なし」の実例。 β と σ は必ず併せて確認する。

6. ブートストラップでβ収束の 95%CI

🎯 解説: β 収束の回帰式 (1/T)log(y_T/y_0) = α + β log(y_0) + ε を最小二乗法で推定。 β < 0 なら収束を意味する。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import numpy as np
np.random.seed(0)   # 実行のたびに同じ結果が出るようにする
rng = np.random.RandomState(0)
betas = []
for _ in range(2000):
    idx = rng.choice(len(df), len(df), replace=True)
    m_b = smf.ols('growth ~ log_y0', data=df.iloc[idx]).fit()
    betas.append(-np.log(1 + m_b.params['log_y0']*T)/T)
print(f'β 95%CI = [{np.percentile(betas,2.5):.4f}, '
      f'{np.percentile(betas,97.5):.4f}]')
📥 入力例: data/raw/SSDSE-B-2026.csv 47 都道府県 × 2 列 x: log(初期所得), y: 成長率
📤 実行例(実測) β 95%CI = [0.0129, 0.0795]
💬 読み方: 実データ(消費支出 L3221、 2012→2023、 47 県)では傾き ≈ -0.032(p ≈ 0.01、 R² ≈ 0.14)で有意な負=β収束。 収束速度 λ ≈ 0.039/年、 半減期 ≈ 17.6 年。 一方 σ(log の標準偏差)は 0.077→0.084 と拡大し、 「β収束ありでも σ収束なし」の実例。 β と σ は必ず併せて確認する。