論文一覧に戻る 🕸 論文ネットワーク 🗺 用語ネットワーク 統計データ分析コンペ 教育用再現集
🏆 2018年度 総務大臣賞 [大学生・一般の部]

地方創生における三つの「鍵」

⏱️ 推定読了時間: 約30分
―現代日本の現状理解と地域特性による類型化―
✍️ 平原 幸輝(早稲田大学 人間科学部 人間環境科学科) 🔬 相関分析|重回帰分析(強制投入法・ステップワイズ法)|t検定|地域類型化(クラスタリング・主成分分析) 📊 教育用標準データセット(SSDSE)
🔬 再現カルテ — 原論文のデータが手に入らないため、代替データで再現

この教材は、原論文が使ったデータそのものを使えていません。そこで代わりのデータで同じ問いを追いかけ、結論の向き(増える/減る、強い/弱い)が原論文と一致するかを確かめます。「同じ数値が出る」ことは目標にしていません。

原論文が使ったデータSSDSE・人口推計・国勢調査
分析単位:市区町村
中核手法:相関分析・重回帰分析・t検定
この教材が使うデータ
原論文(PDF)地方創生における三つの「鍵」
総務大臣賞/平原 幸輝(早稲田大学人間科学部人間環境科学科)
✅ この教材でできること
  • 原論文の中核手法(相関分析)を実データで実行できる
  • 分析に使うデータは同梱済みで、ブラウザ上でそのまま読み込める
  • 数値・図を最後まで再計算できる(主成分分析・k-means クラスタリング・相関分析)
⚠️ この教材ではできないこと(原論文との違い)
  • 分析の細かさが原論文と違う:論文=市区町村レベルの類型化(旧SSDSE)。教材=SSDSE-B都道府県
📄 原論文との違いを、もっと詳しく
📄 原論文:旧 SSDSE(市区町村データ)を用い、相関分析・重回帰分析(強制投入法・ステップワイズ法)・t検定で人口増減の要因を特定し、市区町村を地域特性で類型化。
📘 本教材:SSDSE-B-2026(都道府県データ)で同じ流れ(相関 → 重回帰 → 類型化)を再現。
⚠️ 注意:分析の単位が市区町村 → 都道府県に変わっているため、係数や類型の結果は原論文と直接比較できない。原論文の結論は市区町村レベルのもの。

▶ ここに書いてある分析は、ページ下部の「🐍 ブラウザで動かす」でそのまま実行できます(インストール不要)。動かしているのは code/2018_U1_daijin.py(215 行)そのものです。

📝 3行で分かる要約

目 次

  1. 研究の背景と目的
  2. 使用データと再現可能性の整理
  3. 分析の流れ:相関 → 重回帰 → t検定 → 類型化
  4. 図1:大学等進学率の県別ランキング(実SSDSE-B・実再現)
  5. 図2:人口増減と8指標の相関行列(原論文 表6・報告値)
  6. 図3:人口増減率×大学等進学率(実SSDSE-B・実再現)
  7. 図4:都道府県の類型化(k-means+PCA・実再現)
  8. 結果の解釈と三つの「鍵」
  9. まとめと今後の課題
  10. データ・コードのDL
  11. 📥 データの準備
  12. ⚠️ よくある誤解
  13. 📖 用語集
  14. 📐 手法ガイド
  15. 🚀 発展の可能性
  16. 🎯 自分でやってみよう
  17. 🤔 Q&A
  18. 🐍 ブラウザで動かす

🎯 この記事を読むと何ができるようになるか

📥 データの準備(再現コードを動かす前に)

このページで実SSDSEから実再現できるのは図1・図3・図4です。コードの編集は不要です。図2は原論文が使った医師数・労働力人口などが現行SSDSE-Bに収録されていないため、原論文 表6 の報告値を転記して可視化します。

1
データをダウンロードする 統計センターの SSDSE 配布ページから、以下のファイルをダウンロードします。
SSDSE-B-2026.csv ← SSDSE-B(都道府県・時系列データ)📥 直接DL
⬇ SSDSEダウンロードページを開く
2
ファイルを所定のフォルダに配置する ダウンロードしたCSVを、プロジェクトの data/raw/ フォルダに入れます。
2026 統計・データ解析コンペ/ ├── code/ │ └── 2018_U1_daijin.py ← 実行するスクリプト └── data/ └── raw/ SSDSE-B-2026.csv ← ここに置く
3
スクリプトをそのまま実行する ターミナルでプロジェクトルートに移動し、以下を実行します。
python3 code/2018_U1_daijin.py
図は html/figures/ に自動保存されます。図1・図3・図4は SSDSE-B(2023年)から実再現、図2は原論文 表6 の報告値から作図します。

1. 研究の背景と目的

現代日本は人口減少少子高齢化に直面している。総務省統計局『人口推計』では2011年から連続して人口減少が続き、国勢調査でも2015年に調査開始以来初の人口減少を記録した。高齢化率は2007年に「超高齢社会」の21%を超え、2017年には27.7%に達した。

この問題の解決策として期待されるのが「地方創生」である。ただし人口減少の状況や原因は地域ごとに異なり、政策は各地域の「特性」に応じて計画・実行される必要がある。そこで著者は、「地方創生に関わる人々は各地域の特性を把握できているのか」という問題意識のもと、人口増減の要因を突き止め、その特性で全国の市区町村を類型化することを研究の目的とした。

📌 研究の問い
各地域が地方創生の政策を計画・実行するとき、自らの地域がどのような環境特性を持つかをどう把握すればよいか。人口増減に効く指標を特定し、その指標で日本全国の市区町村を類型化して「地域の特性」を可視化する。
⚠️ まずは「現状」を数字で押さえる(原論文 表3・表4 の報告値)
著者は2015年国勢調査などから市区町村(1737)の現状を集計した。全国の84.0%の市区町村が人口減少(うち自然減少かつ社会減少が71.3%)、95.3%が超高齢社会(高齢化率21%超)98.3%が人口オーナス(従属人口指数50%以上)という深刻な現状である。「高齢化社会」を保つのは東京都の青ヶ島村と小笠原村の2つだけだった。

2. 使用データと再現可能性の整理

原論文は教育用標準データセット(SSDSE)を主に用い、当時の市区町村単位のデータから8つの独立変数を作った。本ページで扱う現行の SSDSE-B-2026都道府県・時系列のデータで、市区町村単位ではない点に注意する。

原論文の8指標と、現行SSDSE-Bでの扱い

原論文の指標(市区町村・2015年ほか)本ページでの扱い
三年間の大学進学率(大学進学者/高校卒業者)実再現(SSDSE-B の E4602/E4601=大学等進学率で近似)
三年間の高校進学率(高校進学者/中学卒業者)実再現(E3702/E3701)
人口10万対の医師数報告値のみ(現行SSDSE-Bに医師数の列が無い)
労働力人口率(労働力人口/生産年齢+老年人口)報告値のみ(労働力人口の列が無い)
完全失業率・人口10万対の病院病床数・老人ホーム定員数・幼稚園保育所利用者数報告値のみ(現行SSDSE-Bに列が無い)
📌 再現可能性の整理(このページの図の作り方)
  • 実再現できる部分:原論文の3つの「鍵」のうち、現行SSDSE-Bに残るのは大学進学率だけ。図1(大学等進学率ランキング)・図3(人口増減率×大学等進学率の散布図)・図4(都道府県の類型化)は、SSDSE-B-2026(2023年)から実データで計算する。ただし単位(都道府県 / 市区町村)も年次(2023 / 2015)も原論文と異なるため、値は原論文と一致しない。
  • 報告値の可視化(再計算ではない):医師数・労働力人口・病床数などは現行SSDSE-Bに列が無い。図2(人口増減と8指標の相関行列)は原論文 表6 の報告値を転記して可視化したもので、SSDSEから計算し直したものではない。図中タイトルと図注に二重明記している。
  • 地図はランキング・散布図で再表現:原論文 図1 は市区町村を色分けした日本地図だが、市区町村の類型化データは再現できないため、本ページでは都道府県の類型化を主成分散布図とランキングで再表現する。
  • 新しい数値の捏造はしない:報告値(図2・表7・表9)と実再現値(図1・図3・図4)をラベルで分離する。GDP・県内総生産など SSDSE-B に無い列は使わない。

3. 分析の流れ:相関 → 重回帰 → t検定 → 類型化

分析の3段階(原論文 第2章)

原論文は分析を三段階で進める。①日本の現状を理解する(人口増減・高齢化の集計)、②人口増減の要因を理解する(相関・重回帰・t検定)、③地域環境の特性ごとに類型化する

① 相関分析(原論文 表6)

「労働」「医療」「介護」「育児」「教育」の5分野から8つの独立変数を設定し、ピアソンの積率相関係数で人口増減率との関連を調べた。病院病床数と高校進学率は人口増減率に対して5%水準で有意でなく、他の6指標は有意だった。

② 重回帰分析(原論文 表7・表8)

個々の環境ではなく複合的な関係を捉えるため、重回帰分析強制投入法ステップワイズ法の2通りで実施。標準化係数βの大きさから、人口増減に対して大学進学率・医師数・労働力人口率が主に効くと結論した。

③ t検定(原論文 表9)

人口増減を「増加」地域と「減少」地域に分け、各指標の平均値の差をt検定で確認。大学進学率と医師数は自然・社会・人口すべての増減で「増加」地域が正に有意に高く、労働力人口率は自然増減で正に有意だった。

④ 地域の類型化(原論文 表10・図1)

効く3指標について「人口増加地域の平均値」を上回るか下回るかで、市区町村を「現状維持政策地区」「教育・医療・労働対策地区」…など9つの類型に分類し、日本地図として可視化した。本ページでは現行SSDSEでk-means主成分分析を使って都道府県版の類型化を実再現する。

⚠️ 相関・係数は因果ではない
相関係数や回帰係数は「一緒に動く強さ」を示すだけで、大学進学率を上げれば人口が増えると因果を断定はできない。都市部ほど大学進学率も転入も高い、といった共通要因(交絡)が背後にある可能性が残る。原論文自身も「変数が一時点のため因果関係の特定には至らなかった」と限界を認めている。

図1【実再現】大学等進学率の県別ランキング

まず、原論文が最重要視した3つの「鍵」のうち現行SSDSE-Bに残る唯一の変数である大学等進学率を、都道府県別に見る。以下のコードは実データを読み込み、指標を作るところから始まる。

やってみようSSDSE-Bを読み込み、都道府県の指標を作る【実再現】
  • ① このコードの目的:SSDSE-B-2026 を cp932skiprows=[1](日本語名の行を落とす)で読み、年度列 SSDSE-B-2026 が2023の47都道府県を抽出。出生・死亡・転入・転出から人口増減率を、高卒者の進学者数から大学等進学率を、といった具合に原論文の指標定義に対応する形で、SSDSE-Bに実在する列だけで指標を作る。
  • ② 前後のつながり:すべての図の土台。原論文は市区町村1737・2015年だが、ここは都道府県47・2023年。単位も年次も違うことを最初に明示し、以降の実再現値を原論文の報告値と混同しないようにする。
📝 コード
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# ── ライブラリの読み込みと、SSDSE-B から都道府県指標を作る ──────────────────
import os
import numpy as np
import pandas as pd
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
from scipy import stats
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA

plt.rcParams['font.family'] = 'Hiragino Sans'
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['figure.dpi'] = 150

FIG_DIR = 'html/figures'
DATA_B = 'data/raw/SSDSE-B-2026.csv'
os.makedirs(FIG_DIR, exist_ok=True)

# 先頭行が列コード、2行目が日本語名。skiprows=[1] で日本語名の行を落とし、
# 年度列 'SSDSE-B-2026' で 2023 年の47都道府県だけを取り出す。
df = pd.read_csv(DATA_B, encoding='cp932', skiprows=[1])
d = df[df['SSDSE-B-2026'] == 2023].copy()

# 原論文の指標定義に対応する形で、SSDSE-B に存在する列だけで指標を作る。
d['自然増減率'] = (d['A4101'] - d['A4200']) / d['A1102'] * 1000     # (出生-死亡)/日本人人口×1000
d['社会増減率'] = (d['A5101'] - d['A5102']) / d['A1102'] * 1000     # (転入-転出)/日本人人口×1000
d['人口増減率'] = d['自然増減率'] + d['社会増減率']
d['大学等進学率'] = d['E4602'] / d['E4601'] * 100                   # 高卒者のうち進学者/高卒者×100
d['高校進学率'] = d['E3702'] / d['E3701'] * 100                     # 中卒者のうち進学者/中卒者×100
d['高齢化率'] = d['A1303'] / (d['A1301'] + d['A1302'] + d['A1303']) * 100
d['合計特殊出生率'] = d['A4103']
d['pref'] = d['Prefecture'].str.replace('[都府県]$', '', regex=True)  # 北海道はそのまま残す

print("=== [1] SSDSE-B から作った都道府県指標(2023年・実データ) ===")
print(f"対象: {len(d)} 都道府県(原論文は市区町村1737・2015年)")
print(d[['pref', '人口増減率', '大学等進学率', '高校進学率', '高齢化率', '合計特殊出生率']]
      .describe().round(2).to_string())
▼ 実行結果
=== [1] SSDSE-B から作った都道府県指標(2023年・実データ) ===
対象: 47 都道府県(原論文は市区町村1737・2015年)
       人口増減率  大学等進学率  高校進学率   高齢化率  合計特殊出生率
count  47.00   47.00  47.00  47.00    47.00
mean  -10.22   57.56  93.73  31.58     1.29
std     4.31    7.06   1.75   3.33     0.13
min   -18.79   46.69  90.12  22.75     0.99
25%   -13.50   51.18  92.25  30.05     1.21
50%   -10.38   57.38  93.73  31.78     1.30
75%    -8.50   62.05  95.14  34.01     1.38
max     0.56   74.12  96.65  39.06     1.60
  • ④ 実行結果の読み取り:① 47都道府県すべてが読み込めた。② 大学等進学率は平均57.6%で、最小46.7%〜最大74.1%と県差が大きい。③ 人口増減率は平均−10.2‰で全国的に人口減少。高齢化率は平均31.6%と、原論文の「超高齢社会」という現状認識が都道府県レベルでも裏づけられる。
やってみよう大学等進学率を県別ランキングにする【実再現・図1】
  • ① このコードの目的:大学等進学率を昇順に並べ、全国平均より高い県をオレンジ、低い県を青で塗り分けた横棒グラフにする。全国平均線も引く。
  • ② 前後のつながり:図1で「大学進学率はどこで高いのか」を先に押さえる。上位に大都市が並ぶことを確認しておくと、次の図3でそれが人口増減とどう関係するかを読みやすい。
📝 コード
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# ── 図1【実再現】:大学等進学率の都道府県ランキング ────────────────────────
rank = d.sort_values('大学等進学率')
mean_adv = rank['大学等進学率'].mean()
colors = ['#e8792b' if v >= mean_adv else '#3f7cc0' for v in rank['大学等進学率']]

fig, ax = plt.subplots(figsize=(9, 11))
ax.barh(rank['pref'], rank['大学等進学率'], color=colors)
ax.axvline(mean_adv, color='#555', ls='--', lw=1)
ax.text(mean_adv + 0.3, 0.5, f'全国平均 {mean_adv:.1f}%', color='#555', fontsize=11)
ax.set_xlabel('大学等進学率(%)= 高卒者のうち進学者 / 高卒者 ×100')
ax.set_title('図1【実再現】大学等進学率の都道府県ランキング(SSDSE-B・2023年)\n'
             '※原論文の3つの「鍵」のうち SSDSE-B に残る唯一の変数。市区町村・3年平均の原論文値とは一致しない',
             fontsize=11)
ax.margins(y=0.01)
plt.tight_layout()
plt.savefig(f'{FIG_DIR}/2018_U1_fig1.png', bbox_inches='tight')
plt.close()

print("=== [2] 大学等進学率ランキング(実再現・2023年) ===")
print("上位5:", [f"{p} {v:.1f}%" for p, v in
                 zip(rank['pref'].tail(5)[::-1], rank['大学等進学率'].tail(5)[::-1])])
print("下位5:", [f"{p} {v:.1f}%" for p, v in
                 zip(rank['pref'].head(5), rank['大学等進学率'].head(5))])
print(f"全国平均 {mean_adv:.1f}%")
▼ 実行結果
=== [2] 大学等進学率ランキング(実再現・2023年) ===
上位5: ['東京 74.1%', '京都 74.0%', '神奈川 69.4%', '大阪 68.9%', '兵庫 68.5%']
下位5: ['沖縄 46.7%', '宮崎 48.0%', '鹿児島 48.1%', '佐賀 48.4%', '山口 48.5%']
全国平均 57.6%
  • ④ 実行結果の読み取り:① 大学等進学率が高いのは東京(74.1%)・京都(74.0%)・神奈川・大阪・兵庫大都市圏に集中。② 低いのは沖縄(46.7%)・宮崎・鹿児島・佐賀・山口。③ 進学率の高い県=大学が集積し若者が流入する都市部、という構図が読み取れ、原論文が大学進学率を人口増減の「鍵」とみた背景と整合する。
大学等進学率の都道府県別ランキング(実SSDSE-B・2023)
図1:大学等進学率(高卒者のうち進学者/高卒者×100)の都道府県別ランキング。実SSDSE-B-2026・2023年からの実再現。オレンジ=全国平均以上、青=平均未満。原論文は市区町村・3年平均のため値は一致しない
📊 この図の読み方
棒の長さ
大学等進学率(%)。長いほど高卒者が大学・短大等に進む割合が高い。
上位=都市
東京・京都・神奈川・大阪。下位は沖縄・宮崎など。大学の集積と若者の流入を映す。
位置づけ
実再現(実SSDSE-B・都道府県)。原論文の市区町村値とは別物である点に注意。

図2【報告値】人口増減と8指標の相関行列

原論文が要因分析の出発点にしたのが相関行列(表6)だ。医師数・労働力人口・病床数などは現行SSDSE-Bに列が無いため、ここは原論文 表6 の報告値を転記して可視化する(再計算ではない)

やってみよう原論文 表6 の相関係数を転記してヒートマップにする【報告値の可視化・図2】
  • ① このコードの目的:原論文 表6 の相関係数(8指標×自然/社会/人口増減率)をそのまま DataFrame に書き写し、青(正)〜赤(負)のヒートマップにする。このブロックは相関を計算せず、報告値を読み込むだけ
  • ② 前後のつながり:要因分析の全体像。どの指標が人口増減と正/負に相関するかを一望し、次の重回帰・t検定(表7・表9)や図3・図4の解釈につなげる。SSDSEから計算し直していないことを明示する。
📝 コード
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# ── 図2【報告値の可視化】:原論文 表6 の相関行列を転記して描く ──────────────
# 下の数値は原論文 表6(市区町村1737・2015年・ピアソン積率相関)の報告値そのもの。
# ここで新たに計算はしていない(再計算ではない)。
report_corr = pd.DataFrame(
    {
        '自然増減率': [0.088, 0.278, 0.087, 0.046, -0.679, -0.164, -0.003, 0.149],
        '社会増減率': [-0.023, 0.265, 0.041, 0.026, -0.861, -0.048, 0.062, 0.068],
        '人口増減率': [0.083, 0.288, 0.059, 0.034, -0.864, -0.119, 0.045, 0.089],
    },
    index=['完全失業率', '労働力人口率', '人口10万対の医師数', '人口10万対の病院病床数',
           '老齢人口千対の老人ホーム定員数', '乳幼児人口千対の幼稚園・保育所利用者数',
           '三年間の高校進学率', '三年間の大学進学率'],
)

fig, ax = plt.subplots(figsize=(7.5, 7))
im = ax.imshow(report_corr.values, cmap='RdBu_r', vmin=-1, vmax=1, aspect='auto')
ax.set_xticks(range(report_corr.shape[1]))
ax.set_xticklabels(report_corr.columns)
ax.set_yticks(range(report_corr.shape[0]))
ax.set_yticklabels(report_corr.index, fontsize=10)
for i in range(report_corr.shape[0]):
    for j in range(report_corr.shape[1]):
        v = report_corr.values[i, j]
        ax.text(j, i, f'{v:+.3f}', ha='center', va='center',
                color='white' if abs(v) > 0.5 else '#222', fontsize=11)
fig.colorbar(im, ax=ax, shrink=0.8, label='ピアソン相関係数(原論文 表6 の報告値)')
ax.set_title('図2【報告値の可視化】人口増減と8指標の相関行列\n'
             '※原論文 表6(市区町村1737・2015年)の報告値を転記(再計算ではない)', fontsize=11)
plt.tight_layout()
plt.savefig(f'{FIG_DIR}/2018_U1_fig2.png', bbox_inches='tight')
plt.close()

print("=== [3] 原論文 表6 の相関行列(報告値・転記) ===")
print(report_corr.to_string())
print("※ 病院病床数・高校進学率は人口増減率と5%水準で有意でなかった(原論文)。")
▼ 実行結果
=== [3] 原論文 表6 の相関行列(報告値・転記) ===
                     自然増減率  社会増減率  人口増減率
完全失業率                0.088 -0.023  0.083
労働力人口率               0.278  0.265  0.288
人口10万対の医師数           0.087  0.041  0.059
人口10万対の病院病床数         0.046  0.026  0.034
老齢人口千対の老人ホーム定員数     -0.679 -0.861 -0.864
乳幼児人口千対の幼稚園・保育所利用者数 -0.164 -0.048 -0.119
三年間の高校進学率           -0.003  0.062  0.045
三年間の大学進学率            0.149  0.068  0.089
※ 病院病床数・高校進学率は人口増減率と5%水準で有意でなかった(原論文)。
  • ④ 実行結果の読み取り:① 人口増減率と正の相関が強いのは労働力人口率(+0.288)大学進学率(+0.089)、負が強いのは老人ホーム定員数(−0.864)。② 老人ホーム定員数の強い負相関は「高齢者が多い=人口が減る地域」を映すが、これは結果であって政策対象ではない。③ 病院病床数・高校進学率は人口増減率と有意でない(原論文)。転記した値がそのまま図の各セルに並ぶことを確認する。
人口増減と8指標の相関行列ヒートマップ(原論文 表6・報告値)
図2:人口増減(自然・社会・人口)と8指標の相関行列。原論文 表6(市区町村1737・2015年)の報告値を転記して可視化(再計算ではない)。青=正・赤=負。SSDSEから計算し直したものではない。
📊 この図の読み方
色の意味
青が濃いほど強い正の相関、赤が濃いほど強い負の相関。
注目のセル
労働力人口率・大学進学率の青(正)、老人ホーム定員数の濃い赤(負)。病床数・高校進学率の行はほぼ白(無相関)。
位置づけ
報告値の可視化。医師数・労働力人口などは現行SSDSE-Bに列が無く、実再計算はできない。

重回帰分析の報告値(原論文 表7・強制投入法/人口増減率)

相関に続き、8指標を同時に投入した重回帰の標準化係数β(人口増減率を目的変数、原論文の報告値)を示す。βの絶対値が大きいほど影響が強い。

独立変数標準化係数 β有意
三年間の大学進学率+0.379**(1%)
人口10万対の医師数+0.234**(1%)
労働力人口率+0.200**(1%)
三年間の高校進学率−0.169**(1%)
乳幼児人口千対の幼稚園・保育所利用者数−0.154**(1%)
人口10万対の病院病床数−0.110**(1%)
完全失業率+0.090**(1%)
老齢人口千対の老人ホーム定員数−0.056*(5%)

※ 原論文 表7 の報告値(決定係数 R²=0.345、調整済み R²=0.341)。数値は転記であり本ページで再計算したものではない。

t検定の報告値(原論文 表9・人口増減の増加 vs 減少)

指標増加地域の平均減少地域の平均t値
三年間の大学進学率52.82137.37210.671 **
人口10万対の医師数207.733153.6793.340 **
労働力人口率57.96657.5161.324(n.s.)
完全失業率3.9783.998−0.267(n.s.)

※ 原論文 表9 の報告値(人口増減の列)。大学進学率・医師数は「増加」地域が正に有意に高い。労働力人口率は人口増減では有意でないが、自然増減では t=3.996(1%有意)と正に有意(原論文)。

図3【実再現】人口増減率 × 大学等進学率

原論文の主張のうち、「大学進学率が高い地域ほど人口が増えやすい」という向きを、現行SSDSE-Bの都道府県データで自分の手で確かめる。原論文の表6は市区町村・2015年で r=+0.089 だったが、都道府県・2023年ではどうか。

やってみよう人口増減率と大学等進学率の関係を散布図と回帰直線で確かめる【実再現・図3】
  • ① このコードの目的:47都道府県の大学等進学率(x)と人口増減率(y)を散布図にし、ピアソン相関係数 r とp値、回帰直線を計算する。原論文の報告値 r=+0.089 と符号(正)が一致するかを見る。
  • ② 前後のつながり:図2の相関行列で見えた「大学進学率=人口増減に正」を、1県ずつの位置として具体的に確認する部分。都道府県に集約すると市区町村より関係が強く出ることも体感する。
📝 コード
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# ── 図3【実再現】:人口増減率 × 大学等進学率(原論文の主張を都道府県で検証)──
x = d['大学等進学率'].values
y = d['人口増減率'].values
r, p = stats.pearsonr(x, y)
slope, intercept = np.polyfit(x, y, 1)
xs = np.linspace(x.min(), x.max(), 100)

fig, ax = plt.subplots(figsize=(9, 6.5))
ax.scatter(x, y, s=45, color='#3f7cc0', edgecolor='white', zorder=3)
ax.plot(xs, slope * xs + intercept, color='#e8792b', lw=2,
        label=f'回帰直線 y={slope:.3f}x{intercept:+.1f}')
for _, row in d.iterrows():
    if row['pref'] in ['東京', '沖縄', '秋田', '京都', '北海道', '愛知']:
        ax.annotate(row['pref'], (row['大学等進学率'], row['人口増減率']),
                    fontsize=10, xytext=(4, 4), textcoords='offset points')
ax.axhline(0, color='#999', lw=0.8)
ax.set_xlabel('大学等進学率(%)')
ax.set_ylabel('人口増減率(‰=日本人人口千対)')
ax.set_title(f'図3【実再現】人口増減率 × 大学等進学率(都道府県・2023年)\n'
             f'実データで計算した相関 r={r:+.3f}(p={p:.4g})'
             f'/原論文 表6 の報告値は r=+0.089(市区町村・2015年)', fontsize=11)
ax.legend()
plt.tight_layout()
plt.savefig(f'{FIG_DIR}/2018_U1_fig3.png', bbox_inches='tight')
plt.close()

print("=== [4] 人口増減率 × 大学等進学率(実再現・2023年) ===")
print(f"相関係数 r = {r:+.4f}  (p = {p:.4g})   回帰の傾き = {slope:+.4f}")
print("原論文 表6 の報告値(市区町村・2015年)は r=+0.089(1%有意)。")
print("→ 単位も年次も違うが、大学進学率が高い地域ほど人口が増えやすい向き(正の関連)は一致。")
▼ 実行結果
=== [4] 人口増減率 × 大学等進学率(実再現・2023年) ===
相関係数 r = +0.5868  (p = 1.458e-05)   回帰の傾き = +0.3577
原論文 表6 の報告値(市区町村・2015年)は r=+0.089(1%有意)。
→ 単位も年次も違うが、大学進学率が高い地域ほど人口が増えやすい向き(正の関連)は一致。
  • ④ 実行結果の読み取り:① 実データで計算した相関はr=+0.587(p<0.001)。原論文の報告値 r=+0.089 より強いが、これは都道府県に集約すると市区町村内のばらつきが平均化され関係が強調される(生態学的相関)ため。② 右上に東京(進学率も人口増減も高い)、左下に秋田・沖縄。③ 単位も年次も違うが、「大学進学率が高い地域ほど人口が増えやすい」という向き(正の関連)は原論文と一致し、主張は現行データでも支持される。
人口増減率×大学等進学率の散布図(実SSDSE-B・2023)
図3:人口増減率 × 大学等進学率(47都道府県)。実SSDSE-B-2026・2023年からの実再現:r=+0.587。原論文 表6 の報告値は r=+0.089(市区町村・2015年)で、単位・年次が異なるため値は一致しない(符号=正は一致)。
📊 この図の読み方
右上がりの傾き
大学等進学率が高い県ほど人口増減率が高い(人口が減りにくい)正の関連。
県の位置
右上に東京、左下に秋田・沖縄。図1のランキングと顔ぶれが対応する。
位置づけ
実再現。都道府県集約のため相関は原論文より強めに出る(生態学的相関)点に注意。

図4【実再現】都道府県の類型化(k-means+PCA)

原論文の核心は、効く3指標で市区町村を9類型に分けた地域の類型化(表10・図1の日本地図)だ。市区町村の類型化データは再現できないため、現行SSDSEで再現できる指標を使い、k-means主成分分析都道府県版の類型化を実再現する。

やってみよう再現できる指標で都道府県をクラスタリングし主成分平面に描く【実再現・図4】
  • ① このコードの目的:人口増減率・大学等進学率・高齢化率・合計特殊出生率を標準化し、k-meansで4類型に分け、主成分分析で2次元に落として散布図にする。クラスタは人口増減率の平均が高い順にラベルを振る。
  • ② 前後のつながり:原論文の「効く指標で地域を類型化する」という発想を、手法(ルールベース→k-means)と単位(市区町村→都道府県)を変えて現代的に再現する部分。原論文の地図の代替として主成分散布図で示す。
📝 コード
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
# ── 図4【実再現】:都道府県の類型化(k-means+主成分分析)────────────────────
# 原論文の類型化は市区町村を3指標の「人口増加地域の平均」で上回るか否かで9分類する
# ルールベース。ここでは SSDSE-B に残る指標だけを標準化し、k-means でデータ駆動に
# 4類型へまとめ、主成分分析(PCA)で2次元に落として散布図にする(原論文の地図の代替)。
feats = ['人口増減率', '大学等進学率', '高齢化率', '合計特殊出生率']
Z = StandardScaler().fit_transform(d[feats])
km = KMeans(n_clusters=4, random_state=42, n_init=10).fit(Z)
d['cluster'] = km.labels_

# クラスタを「人口増減率の平均」が高い順に並べ替えてラベルを安定させる
order = d.groupby('cluster')['人口増減率'].mean().sort_values(ascending=False).index
relabel = {c: i for i, c in enumerate(order)}
d['type'] = d['cluster'].map(relabel)
names = {0: '成長・都市型', 1: '中間型', 2: '高齢・地方型', 3: '過疎・低出生型'}

pca = PCA(n_components=2).fit(Z)
XY = pca.transform(Z)
palette = ['#2e7d32', '#1565c0', '#e8792b', '#8e24aa']

fig, ax = plt.subplots(figsize=(9.5, 7.5))
for t in range(4):
    m = d['type'].values == t
    ax.scatter(XY[m, 0], XY[m, 1], s=70, color=palette[t],
               edgecolor='white', label=f'類型{t+1}: {names[t]}{m.sum()}県)', zorder=3)
labels = d['pref'].tolist()
for i in range(len(d)):
    ax.annotate(labels[i], (XY[i, 0], XY[i, 1]), fontsize=8,
                xytext=(3, 3), textcoords='offset points', color='#333')
ax.set_xlabel(f'第1主成分(寄与率 {pca.explained_variance_ratio_[0]*100:.0f}%)')
ax.set_ylabel(f'第2主成分(寄与率 {pca.explained_variance_ratio_[1]*100:.0f}%)')
ax.set_title('図4【実再現】都道府県の類型化(k-means+PCA・SSDSE-B・2023年)\n'
             '※原論文の市区町村・ルールベース9分類とは手法も単位も異なる現代的再現', fontsize=11)
ax.legend(loc='best')
plt.tight_layout()
plt.savefig(f'{FIG_DIR}/2018_U1_fig4.png', bbox_inches='tight')
plt.close()

print("=== [5] 都道府県の類型化(実再現・k-means4類型) ===")
prof = d.groupby('type')[feats].mean().round(2)
prof.index = [f'類型{t+1}:{names[t]}' for t in prof.index]
print(prof.to_string())
for t in range(4):
    members = d[d['type'] == t]['pref'].tolist()
    print(f'類型{t+1} {names[t]}{len(members)}県): ' + '、'.join(members))
▼ 実行結果
=== [5] 都道府県の類型化(実再現・k-means4類型) ===
             人口増減率  大学等進学率   高齢化率  合計特殊出生率
類型1:成長・都市型   -3.75   68.69  26.75     1.14
類型2:中間型      -9.41   59.85  30.80     1.29
類型3:高齢・地方型  -11.05   49.34  32.74     1.47
類型4:過疎・低出生型 -14.96   54.00  34.95     1.23
類型1 成長・都市型(7県): 埼玉、千葉、東京、神奈川、愛知、京都、大阪
類型2 中間型(19県): 宮城、茨城、栃木、群馬、富山、石川、福井、山梨、長野、岐阜、静岡、三重、滋賀、兵庫、奈良、岡山、広島、香川、福岡
類型3 高齢・地方型(10県): 鳥取、島根、山口、佐賀、長崎、熊本、大分、宮崎、鹿児島、沖縄
類型4 過疎・低出生型(11県): 北海道、青森、岩手、秋田、山形、福島、新潟、和歌山、徳島、愛媛、高知
  • ④ 実行結果の読み取り:① 4類型に分かれ、類型1「成長・都市型」(東京・大阪・愛知など7県)は大学進学率が高く高齢化率が低い。類型4「過疎・低出生型」(秋田・青森など11県)は人口増減率が最も低い。② 都市型ほど進学率が高く人口が減りにくい、という原論文の「鍵」の構図がクラスタの並びに現れる。③ ただしこれはk-meansによるデータ駆動の分類で、原論文のルールベース9分類とは手法も単位も異なる。ラベル名も本ページ独自の解釈である。
都道府県の類型化(k-means+PCA・実SSDSE-B・2023)
図4:都道府県の類型化。人口増減率・大学等進学率・高齢化率・合計特殊出生率を標準化し k-means(4類型)+主成分分析で可視化。実SSDSE-B-2026・2023年からの実再現原論文の市区町村・ルールベース9分類とは手法も単位も異なる現代的再現で、値・類型名は原論文と対応しない。
📊 この図の読み方
点=都道府県
近い点ほど指標構成が似る。色は k-means の4類型。
軸=主成分
第1・第2主成分。元の4指標を情報損失を抑えて2次元に圧縮した合成軸。
位置づけ
実再現だが、原論文の9類型(市区町村・ルールベース)とは別物。手法・単位を変えた再現である。

結果の解釈と三つの「鍵」

相関・重回帰・t検定を通じ、著者は人口増減に「労働」「医療」「介護」「育児」「教育」の5分野が効き、特に次の3指標が強い影響力を持つと結論した(原論文 第5章)。

① 三年間の大学進学率(教育)

重回帰の標準化係数がβ=+0.379と最大で、t検定でも増加地域(52.8)が減少地域(37.4)を大きく上回った(t=10.671)。著者は地方大学の充実や青少年育成環境の整備が「教育」対策の鍵とみる。本ページの図3でも都道府県レベルで正の関連(r=+0.587)が再現された。

② 人口10万対の医師数(医療)

β=+0.234、t=3.340 で、医師数が多い地域ほど人口が増えやすい。著者は医療施設の拡充を「医療」対策の鍵とする。この指標は現行SSDSE-Bに列が無く、本ページでは報告値のみで実再現していない。

③ 労働力人口率(労働)

β=+0.200。人口増減全体では t=1.324 と有意でないが、自然増減では t=3.996(1%有意)と正に有意で、著者は若年層の雇用確保・高齢者の再雇用を「労働」対策の鍵とみる。

🔑 三つの「鍵」と9類型(原論文 表10)
この3指標について「人口増加地域の平均」を上回るか下回るかで、市区町村を現状維持政策地区/教育・医療・労働対策地区/…/他分野政策地区の9類型に分類。例えば「教育・医療対策地区」は労働以上に教育・医療の政策を要する地区、「現状維持政策地区」は人口ボーナス状態で経済成長の可能性がある地区を表す。
🔎 より正確な分析のために(補足)
原論文の主張(3つの鍵)は報告値として尊重すべきものだが、いくつか留意点がある。(1) これらは相関・回帰であって因果ではない。都市部ほど大学進学率・医師数・転入がそろって高く、「都市である」という共通要因が全体を押し上げる交絡の可能性が残る。原論文自身「変数が一時点のため因果関係の特定に至らなかった」と認めている。(2) 8指標には多重共線性が疑われる組み合わせもあり、標準化係数の解釈は慎重を要する(原論文はVIFを併記している)。(3) 本ページ図3の r=+0.587 は都道府県に集約したため市区町村より強く出たもので、原論文の r=+0.089 と単純比較はできない(生態学的相関の注意)。結論の向き(正の関連)は一致するが、値そのものは単位・年次で変わる。

まとめと今後の課題

本研究は、地方創生には各地域の特性把握が不可欠という問題意識のもと、人口増減の要因を相関・重回帰・t検定で突き止め、その特性で市区町村を類型化した。結果、「三年間の大学進学率」「人口10万対の医師数」「労働力人口率」が地方創生の三つの「鍵」であると結論し(大学進学率 β=+0.379 が最大)、これらで9類型の地域分類を可視化した。本ページでは、現行SSDSE-Bに残る大学進学率などを実再現し(図1・図3・図4)、医師数・労働力人口は報告値にとどめて(図2・表7・表9)両者をラベルで分離した。

この研究の限界
①変数が一時点のため因果の特定に至らない(著者自身が明記)。②都市という共通要因による交絡の可能性。③審査講評も「モデルの妥当性分析や、因果の逆転を緩和する制御変数の役割は今後の課題」と指摘。④再現面では、原論文の市区町村・独自加工データは現行SSDSE-Bに無く、実再現できるのは大学進学率など一部の都道府県指標のみ。
この研究から学べること
現状把握(集計)→要因特定(相関・重回帰・t検定)→類型化という、探索から政策提案までの一連の流れ。そして、報告値の可視化・実データの実再現を切り分ける誠実さ。単著で相関から類型化・地図化まで一貫してやり切った実証能力が評価され、総務大臣賞(大学生・一般の部)に選ばれた。

データ・コードのダウンロード

このページの図は、以下から再現できます。

🐍 再現コード(.py) 📊 SSDSE-B-2026.csv

※ 図1・図3・図4 は SSDSE-B-2026(2023年・都道府県)からの実再現です。図2(相関行列)と表7(重回帰β)・表9(t値)は、原論文が使った医師数・労働力人口などが現行SSDSE-Bに列を持たないため、原論文 表6・表7・表9 の報告値を転記したものです(新たな数値の捏造はしていません)。原論文は市区町村1737・2015年ほかを単位としており、都道府県・2023年の本ページの実再現値とは一致しません。

⚠️ よくある誤解と注意点

この研究を読むとき・まねするときに陥りやすい誤解を整理します。

❌ 「大学進学率を上げれば人口が増える」ではない
相関・回帰は因果ではありません。都市部ほど大学進学率・医師数・転入がそろって高く、「都市である」という共通要因が全部を同時に押し上げている可能性があります(交絡)。原論文も「一時点データのため因果は特定できない」と明記しています。
❌ 「図2の相関行列は実SSDSEを計算し直したもの」ではない
図2・表7・表9は原論文 表6・表7・表9 の報告値の転記です。医師数・労働力人口・病床数などは現行SSDSE-Bに列が無いため、計算し直せません。実SSDSEから計算したのは図1・図3・図4(大学等進学率など)だけです。
❌ 「図3の r=0.587 は原論文の値」ではない
原論文の報告値は r=+0.089(市区町村・2015年)。本ページの r=+0.587 は都道府県・2023年で計算し直した実再現値で、都道府県に集約するとばらつきが平均化され相関が強く出ます(生態学的相関)。値の一致ではなく符号(正)の一致を見るのが正しい読み方です。
❌ 「k-meansの類型は正解の分類」ではない
クラスタリング使う指標・クラスタ数・乱数で結果が変わる探索的な手法です。図4の4類型やラベル名(成長・都市型など)は本ページ独自の解釈で、原論文の9類型(市区町村・ルールベース)とは別物。「唯一の正しい分類」ではない点に注意してください。
❌ 「標準化係数βが大きい=最重要の政策」ではない
β は標準化係数で単位に依存しない比較には向きますが、多重共線性があると符号や大きさが不安定になります。原論文がVIFを併記しているのはそのため。βの順位だけで政策の優先順位を断定せず、相関・t検定・現場知識と合わせて読むべきです。

📖 用語集(この記事に出てくる統計用語)

クリックすると各用語の詳しい解説ページに移動できます。

相関(相関係数)
2つの量が一緒に動く強さを−1〜+1で表す。本研究はピアソンの積率相関係数で人口増減と8指標の関連を調べた(原論文 表6)。
重回帰分析
複数の説明変数で1つの目的変数を同時に説明する手法。原論文は強制投入法とステップワイズ法の2通りで人口増減を分析した(表7・表8)。
標準化係数(β)
各変数を平均0・分散1にそろえたうえでの回帰係数。単位の違う変数の影響の大きさを比べられる。大学進学率 β=+0.379 が最大だった(報告値)。
クラスタリング(k-means)
似たデータをグループにまとめる教師なし学習。本ページ図4は都道府県を4類型にまとめる実再現に用いた。原論文の類型化はルールベースだが発想は近い。
主成分分析(PCA)
多数の変数を情報損失を抑えて少数の合成軸に圧縮する手法。図4で4指標を2次元に落として散布図にした。
標準化
単位の異なる変数を平均0・分散1にそろえる操作。クラスタリングやPCAの前処理として必須。
疑似相関(交絡)
共通の原因(例:都市であること)によって、直接関係のない2変数が相関して見える現象。大学進学率と人口増減の関係にも都市性が絡む。
因果
一方が他方の原因であること。相関があっても因果があるとは限らない。原論文は一時点データのため因果の特定には至らないと明記している。
多重共線性
説明変数同士の相関が強すぎて係数推定が不安定になる状態。原論文はVIF(分散拡大係数)を併記して確認している。
SSDSE
統計センターが提供する教育用標準データセット。本ページ図1・図3・図4はSSDSE-B(都道府県・時系列)を用いた。原論文当時の市区町村版の医師数・労働力人口などは現行版に収録が無い。

📐 使っている手法をわかりやすく解説

この研究の流れ(相関→重回帰→t検定→類型化)で使う手法を、注意点まで順に説明します。

全体像
現状を集計で把握 → 相関で候補を絞り → 重回帰で同時に効果を測り → t検定で増加/減少の差を確かめ → クラスタリング・主成分分析で地域を類型化する。予測ではなく「どの指標が人口増減と結びつくか」を探る探索的分析である。
🔗 相関分析
何をする
2変数が直線的に一緒に動く強さを−1〜+1で測る。多くの候補から関連のある指標を絞る第一歩。
本研究での使い方
人口増減率と8指標の相関を出し、病床数・高校進学率は無相関、労働力人口率・大学進学率などは有意と判断した(表6)。
注意
直線関係しか捉えられず、外れ値に弱い。相関は因果ではない。無相関の検定で有意性も併せて確認する。
📈 重回帰分析(強制投入法・ステップワイズ法)
何をする
複数の説明変数で目的変数を同時に説明し、他の変数を一定にしたときの各変数の効果(係数)を測る。
本研究での使い方
8指標を全部入れる強制投入法と、有意な変数だけ残すステップワイズ法の両方で、大学進学率・医師数・労働力人口率が主に効くと確認した。
注意
多重共線性があると係数が不安定に。標準化係数で大きさを比べ、VIFで共線性を点検する。ステップワイズは再現性に注意。
🧪 t検定(増加地域 vs 減少地域)
何をする
2つのグループの平均値の差が偶然の範囲かを検定する。ここでは人口増減の「増加」地域と「減少」地域で各指標の平均を比べた。
本研究での使い方
大学進学率と医師数は増加地域が正に有意に高い(大学進学率 t=10.671)ことを確認し、相関・重回帰の結果を裏づけた。
注意
平均の差を見るだけで、他要因の影響は統制しない。有意でも差の大きさ(効果量)を併せて読む。
🗺 クラスタリング主成分分析による類型化
何をする
似た地域をグループにまとめ(クラスタリング)、多数の指標を少数の軸に圧縮して可視化する(主成分分析)。地域の「特性」を型に落とす。
本研究での使い方
原論文は3指標のルールベースで9類型に分類。本ページは残る指標でk-means+PCAにより都道府県を4類型に再現した。
注意
使う指標・クラスタ数・標準化の有無で結果が変わる。唯一の正解ではない。必ず標準化してから行い、ラベルの解釈は慎重に。

🚀 発展の可能性(結果 X → 新仮説 Y → 課題 Z)

この研究の「3指標が人口増減の鍵」という発見は、次の研究の出発点になります。

発展1:交絡を除いて「純粋な効果」に迫る
結果X
大学進学率・医師数・労働力人口率が人口増減と強く相関するが、都市性が全体に絡む。
新仮説Y
都市規模や所得を統制しても、これら3指標と人口増減の関係は残るのか。
課題Z
制御変数を加えた重回帰や操作変数法で、都市性を除いた各指標の独自効果を推定する(審査講評も制御変数の役割を課題として指摘)。
発展2:時系列で類型の変化を追う
結果X
ある一時点のデータで地域を類型化した。
新仮説Y
各地域の類型は年をまたいで安定しているのか、政策で変化したのか。
課題Z
SSDSE-Bの複数年でクラスタリングを繰り返し、類型の移り変わり(過疎型→中間型など)を追跡する。

🎯 自分でやってみよう(5つのチャレンジ)

再現コードを少し変えるだけで試せる課題を、易しい順に用意しました。

★☆☆☆☆ 難易度1
別の指標のランキングを出す
図1は '大学等進学率' を並べています。ここを '高齢化率''合計特殊出生率' に変えて、都道府県ランキングがどう変わるか見てみよう。
★★☆☆☆ 難易度2
別の散布図を描く
図3は人口増減率×大学等進学率。x'高齢化率' に変えて、人口増減率と高齢化率が強い負の相関(右下がり)になることを確かめよう。
★★★☆☆ 難易度3
クラスタ数を変える
図4の n_clusters=4 を 3 や 5 に変えて、類型の分かれ方がどう変わるかを見よう。「正解の数」は無いことを体感できる。
★★★★☆ 難易度4
相関を無相関検定つきで出す
scipy.stats.pearsonr で人口増減率と各指標の相関係数とp値を出し、原論文 表6 のように「有意(p<0.05)かどうか」を判定する表を作ってみよう(ただし都道府県・2023年の値になる)。
★★★★★ 難易度5
なぜ医師数・労働力人口が実再現できないか説明する
原論文の3つの鍵のうち、医師数と労働力人口が現行SSDSE-Bで実再現できない理由を、これらの列が現行SSDSE-Bに無いことと、大学進学率(E4602/E4601)だけが残っていることを対比して自分の言葉で説明してみよう。

💼 この手法は実社会でこう使われている

「効く要因を相関・回帰で絞り、クラスタリングで対象を型に分ける」発想は、行政・ビジネスの現場で広く使われています。

🏙️
自治体の政策設計
人口・産業・医療などの指標で市区町村を類型化し、型ごとに重点政策を変える。本研究とまったく同じ発想。
🛒
マーケティングの顧客セグメント
購買・属性データを標準化してクラスタリングし、顧客を型に分けて施策を出し分ける(セグメンテーション)。
🏥
地域医療の資源配分
医師数・高齢化率などの相関・回帰から不足地域を特定し、医療資源の重点配分の根拠にする。

🤔 よくある質問(読者からの想定Q&A)

この研究を読んで浮かびやすい疑問に答えます。

Q. なぜ「大学進学率」が地方創生の鍵になるの?
A. 重回帰の標準化係数が β=+0.379 と最大で、t検定でも人口が増える地域ほど大学進学率が高かったためです。大学が集積し若者が学ぶ環境が、人口の定着・流入と結びつくと著者は解釈しました。ただし相関であって因果の断定ではありません。
Q. このページの図は原論文と同じ数値ですか?
A. 図2・表7・表9 は原論文の報告値の転記です。図1・図3・図4 は現行SSDSE-B(都道府県・2023年)からの実再現で、原論文(市区町村・2015年)とは単位も年次も違うため値は一致しません。新たな数値の捏造はしていません。
Q. 医師数と労働力人口はなぜ実再現しないの?
A. 原論文が使った医師数・労働力人口・病床数などが、現行の SSDSE-B-2026 に収録列として無いためです。3つの鍵のうち今も残るのは大学進学率(E4602/E4601)だけで、それを図1・図3で実再現しています。
Q. 図4の類型は原論文の9類型と同じ?
A. 違います。原論文は市区町村を3指標のルールで9類型に分けた分類です。図4は都道府県を残る指標でk-means(4類型)+主成分分析にかけた現代的な再現で、類型名も本ページ独自の解釈です。手法も単位も異なります。

✅ 理解度チェック(4問)

この論文を理解できたか、クリックで確認しましょう。間違えても解説が出ます。

🐍 ブラウザで動かす — インストール不要でこの論文の分析を再現する

このページの分析は、この画面の中でそのまま実行できます。 Python をインストールする必要も、CSV をダウンロードする必要もありません。 下のセルの 「▶ ブラウザで実行」 を上から順に押すか、 「▶ 最初から全部実行」 で一気に流してください。 表示されるのは、本文の図表とまったく同じ計算の結果です (動かしているのは再現スクリプト code/2018_U1_daijin.py そのもの)。

コードは書き換えられます。「✏️ 書き換える」で数字や変数を変えて ▶ を押すと、 結果がどう変わるかをその場で確かめられます(元に戻すボタンつき)。 ページを開いた時点で裏で実行環境の準備が始まっているので、待ち時間はほとんどありません。 初回だけ実行環境の取得にインターネット接続が必要です。