論文一覧に戻る 🕸 論文ネットワーク 🗺 用語ネットワーク 統計データ分析コンペ 教育用再現集
統計活用奨励賞[高校生の部] ★

都市部と地方の教育格差の要因と課題
〜日本の教育現場において〜

⏱️ 推定読了時間: 約25分
2022年度(令和4年度)統計データ分析コンペティション | 森下 達也(愛知県立一宮高等学校) | SSDSE-基本素材/県別推移/市区町村・e-Stat・全国学力調査(47都道府県)/再現はSSDSE-B | 相関分析・単回帰・散布図・ロジックツリー
🔬 単回帰🔬 相関分析🏷 教育・学力🏷 IT・デジタル
🔬 手法タグ / 🏷 応用タグ(クリックで同タグの論文をネットワーク検索)
🔬 再現カルテ — 原論文と同じデータ・同じ手法で再現

この教材は原論文と同じデータを読み込み、同じ手順で計算し直しています。画面に出る数値と図は、あなたのブラウザがその場で計算した結果です。

原論文が使ったデータSSDSE-基本素材・SSDSE-県別推移・SSDSE-市区町村・国勢調査・全国学力・学習状況調査【中学校】調査結果
分析単位:都道府県
中核手法:相関分析
この教材が使うデータ
原論文(PDF)都市部と地方の教育格差の要因と課題 ~日本の教育現場において~
統計活用奨励賞/森下 達也(愛知県立一宮高等学校)
✅ この教材でできること
  • 分析に使うデータは同梱済みで、ブラウザ上でそのまま読み込める
突合監査の結果、主要データと中核手法はいずれも原論文と一致しています。

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

🏅 論文審査会コメント(審査員はここを評価した)
「データを眺めながら仮説を順次提示し考察する姿勢は好ましい。都市と地方の教育格差については、地方にいるほど強く感じられ、行政として取り組まなければならないテーマであり、検討も経済面と学校における設備や学習環境の充実度から行われており、的を射たものである。」
出典:統計センター「統計データ分析コンペティション」受賞論文PDF掲載の審査講評。プロの審査員が何を評価し、何を注文したかは論文の読み方の最良の手本になる。
📝 3行で分かる要約

目次

  1. 研究のテーマと目的
  2. 使用データと都市部の定義
  3. 分析方法:ロジックツリー→相関分析
  4. 主要な発見(原論文の報告値・表2)
  5. 再現コード:SSDSE-Bで変数を構築(実再現)
  6. 図1:教育費×進学者数(実再現・原論文図5)
  7. 図2:教育費×進学率(実再現・原論文図9)
  8. 図3:大学数×進学率(実再現・原論文図10)
  9. 図4:報告値と再現値の比較(実再現の検証)
  10. 図5:デジタル教育の整備率(報告値の可視化)
  11. 結果の解釈と考察
  12. まとめと今後の課題
  13. データ・コードのDL
  14. ⚠️ よくある誤解
  15. 📖 用語集
  16. 📐 手法ガイド
  17. 🚀 発展の可能性
  18. 🎯 自分でやってみよう
  19. 🤔 Q&A
  20. 🐍 ブラウザで動かす

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

ORIGINAL PAPER

都市部と地方の教育格差の要因と課題 〜日本の教育現場において〜

著者:森下 達也(愛知県立一宮高等学校) 受賞:統計活用奨励賞[高校生の部](2022年度)

論文の概要(原文):都道府県別の進学者数、県民所得、教育費支出、教育関係事業所数等を用い、都道府県別の教育格差やその要因を分析するとともに、教育のデジタル化として、県別のデジタル教科書整備率や電子黒板整備率を比較し、都市部におけるデジタル整備が進んでいないことを示した。

審査会コメント(原文):データを眺めながら仮説を順次提示し考察する姿勢は好ましい。都市と地方の教育格差については、地方にいるほど強く感じられ、行政として取り組まなければならないテーマであり、検討も経済面と学校における設備や学習環境の充実度から行われており、的を射たものである。

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

このページの4つの散布図(図1〜図3)と相関比較(図4)は、以下の手順で自分で再現できます。コードの編集は不要です。(県民所得・事業所数・整備率はSSDSE-Bに無いため、それらに関わる図は原論文の報告値を可視化します。)

1
データをダウンロードする 独立行政法人統計センターの SSDSE(教育用標準データセット)配布ページから、以下をダウンロードします。
SSDSE-B-2026.csv ← SSDSE-B(都道府県別・基礎データ、社会・人口統計体系)📥 直接DL
⬇ SSDSEダウンロードページを開く
2
ファイルを所定のフォルダに配置する ダウンロードしたCSVを、プロジェクトの data/raw/ フォルダに入れます。
2026 統計・データ解析コンペ/ ├── code/ │ └── 2022_H4_katsuyo.py ← 実行するスクリプト └── data/ └── raw/ SSDSE-B-2026.csv ← ここに置く
3
スクリプトをそのまま実行する ターミナルでプロジェクトルートに移動し、以下を実行します。
python3 code/2022_H4_katsuyo.py
図は html/figures/ に自動保存されます。
研究のテーマと目的

本研究の目的は、日本の教育現場における都市部と地方の教育格差の要因と課題を分析し、是正に向けた取り組みの手掛かりを探ることにある。著者は、学習塾や英会話教室など家庭学習を補う機関が都市部に多く、中高一貫校も都市部に多いなど、より専門的に学ぶ機会に差があることに格差を感じたという。

さらに2020年の新型コロナウイルスによる全国一斉休校の際、都市部に多い私立の中学・高校がいち早くタブレットを用いたオンライン授業を行い注目を集めた。そこで著者は、経済面の格差に加えてデジタル教育の実態や格差も調査することにした。

研究の問い 「教育格差はどんな要因で生じるのか」を、①個人の経済面(所得・教育費・進学者数)と②学校教育における設備や学習環境の充実度(デジタル教科書・電子黒板の整備率)という2つの側面から検証する。
先行調査:高校生の約2分の1が教育格差を感じている 2021年に日本財団が行った18歳意識調査(第33回)によると、「教育格差を感じるか」に「感じる」48.9%(「感じない」51.1%)。「今後、教育格差は広がると思うか」に「思う」51.2%・「思わない」9.3%・「わからない」39.5%。全国の高校生の約2分の1が教育格差を感じており、すでに社会問題と呼べる状況にある(原論文 図1・図2)。

高校生の部 SSDSE・e-Stat・全国学力調査 相関分析・単回帰 ロジックツリー デジタル教育の整備率

使用データと「都市部」の定義

本研究は高校生および高等学校を対象としたデータを用い、教育格差の要因を「個人の経済面」と「学校教育における設備や学習環境の充実度」の2側面から分析した。年度の異なるデータを組み合わせている点に注意が必要である。

「都市部」の定義(原論文) 人口集中地区人口が300万人を超える9都道府県(北海道・埼玉県・千葉県・東京都・神奈川県・愛知県・大阪府・兵庫県・福岡県)を都市部、それ以外を地方とした。人口集中地区とは、国勢調査で人口密度の高い基本単位区が隣接し人口5,000人以上となる地域をいう。散布図ではこの9都道府県を●で示す。

表1 本研究に使用したデータと出典(原論文 表1 より)

データ名年次出典
一人当たりの県民所得(平成23年基準)[千円]2017統計センター SSDSE-基本素材
教育費(二人以上世帯の月間消費支出額の年平均値)[円]2019統計センター SSDSE-県別推移
高等学校卒業者のうち進学者数[人]2019統計センター SSDSE-県別推移
事業所数(教育・学習支援業)(民営)[所]2016統計センター SSDSE-市区町村
大学数[校]2020統計センター SSDSE-県別推移
人口集中地区人口/デジタル教科書整備率/電子黒板整備率/高等学校数/進学率2015-2020e-Stat 政府統計の総合窓口
全国学力・学習状況調査【中学校】【都道府県別】2022国立教育政策研究所
再現可能性の整理(このページの図の作り方)
  • 実再現できる部分(図1〜図4):教育費・進学者数・進学率・大学数はSSDSE-Bにも収録がある。原論文の出典年次(教育費・進学 2019年/大学数 2020年)に合わせて相関・回帰を実際に計算し直す。SSDSE-Bの値は原論文の散布図・回帰式とほぼ一致した。
  • 報告値の可視化(図5・表2〜表4):一人当たり県民所得・教育学習支援事業所数・デジタル教科書/電子黒板の整備率はSSDSE-Bに列が無いため再計算できない。よって原論文の報告値を転記して可視化する(再計算ではない)。
  • 新しい数値の捏造はしない:無い列を使って値をでっち上げることはせず、報告値と再計算値はラベルで分離する。

分析方法:ロジックツリーで仮説を整理し、相関で検証

分析の流れ(ロジックツリー, 原論文 図3)
教育格差
①個人の
経済面
所得・教育費
進学者数
②学校の設備
・学習環境
デジタル教育
(整備率)

① 個人の経済面(相関分析)

一人当たりの県民所得・教育費・進学者数・進学率・大学数・教育学習支援事業所数について、散布図相関係数決定係数を求め、経済的な要因が進学にどう効くかを調べた。

② 学校の設備・学習環境(都道府県比較)

高等学校のデジタル教科書・普通教室の電子黒板の整備率を都道府県別に比較し、「都市部の方が整備が進んでいる」という仮説を検証した。

相関係数と決定係数を両方見る 相関係数だけでは「強さ」を見誤ることがある。決定係数(R²=相関係数の2乗)は「一方の変数で他方のばらつきの何割を説明できるか」を表す。原論文は両方を併記し、「相関はあるが説明力(R²)は高くない」ケースを丁寧に区別している。
1
主要な発見(原論文の報告値・表2)

個人の経済面について、原論文が報告した6つの関係の相関係数決定係数は次のとおり(原論文 表2、および図4)。これらは原論文の報告値の転記である。

表2 原論文が報告した相関係数・決定係数(報告値)

比較した関係相関係数決定係数SSDSE-Bで再現
一人当たりの県民所得 × 教育費(図4)0.46320.2146✗(県民所得が無い)
教育費 × 進学者数(図5)0.52860.2694
教育・学習支援事業所数 × 進学者数(図6)0.99450.9891✗(事業所数が無い)
教育・学習支援事業所数 × 教育費(図7)0.50390.2431✗(事業所数が無い)
大学数 × 教育費(図8)0.48630.2365
教育費 × 進学率(図9)0.59610.3554
大学数 × 進学率(図10)0.57420.3298
原論文が読み取ったこと(報告値)
  • 一人当たりの県民所得と教育費に相関係数0.4632のやや強い正の相関。所得が多いほど教育費も多い傾向だが、決定係数0.2146と高くはない。
  • 教育・学習支援事業所数と進学者数は相関係数0.9945・決定係数0.9891と極めて強い相関。ただし著者は「高校生の数に比例して事業所数が増えていると捉えるのが自然」と慎重に解釈している。
  • 都市部(●)は教育費・大学数・事業所数が多く、教育費も高くなる傾向。人口が集中し競争率が高まるため、これらの機関が都市部に集中していると考えられる。
2
再現コード:SSDSE-Bで変数を構築(実再現)

原論文の経済面の分析は、都道府県別の教育費・進学者数・進学率・大学数の相関である。これらはSSDSE-Bにも収録されているので、原論文の出典年次に合わせて変数を構築し、相関・回帰を実際に計算し直してみる。

やってみようSSDSE-B を読み込み、原論文の年次で変数を構築する【実再現】
  • ① このコードの目的:SSDSE-B を cp932・header=0, skiprows=[1](1行目=列コード、2行目=日本語名を読み飛ばす)で読み込み、教育費・進学者数・進学率は2019年、大学数は2020年を抽出。原論文の「都市部9都道府県」フラグを付ける。
  • ② 前後のつながり:ここで作る edu データセットが、後の図1〜図4(散布図と相関比較)すべての材料になる。原論文の出典年次に合わせるのがポイント。
📝 コード
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
df = pd.read_csv(DATA_B, encoding='cp932', header=0, skiprows=[1])
df['SSDSE-B-2026'] = df['SSDSE-B-2026'].astype(int)

d19 = df[df['SSDSE-B-2026'] == 2019].copy()   # 教育費・進学者数・進学率
d20 = df[df['SSDSE-B-2026'] == 2020].copy()   # 大学数

d19['進学率'] = d19['E4602'] / d19['E4601'] * 100   # 進学者数 / 卒業者数 × 100

edu = d20[['Prefecture', 'E6102', 'E4101']].merge(
    d19[['Prefecture', 'L322108', 'E4602', '進学率']], on='Prefecture')
edu = edu.rename(columns={'E6102': '大学数', 'E4101': '高校数',
                          'L322108': '教育費', 'E4602': '進学者数'})
edu['都市部'] = edu['Prefecture'].isin(CITY9)

print('=== [DATA] SSDSE-B から構築した教育格差データセット ===')
print(f'対象: 全{len(edu)}都道府県  /  都市部9都道府県: {" ".join(CITY9)}')
print(f'教育費(月間, 円)  : {edu["教育費"].min():.0f}{edu["教育費"].max():.0f}')
print(f'進学率(%)         : {edu["進学率"].min():.1f}{edu["進学率"].max():.1f}')
print(f'大学数(校)        : {edu["大学数"].min():.0f}{edu["大学数"].max():.0f}')
print('東京都 例: 教育費={:.0f}円, 進学者数={:.0f}人, 大学数={:.0f}校, 高校数={:.0f}校'.format(
    *edu[edu['Prefecture'] == '東京都'][['教育費', '進学者数', '大学数', '高校数']].values[0]))
▼ 実行結果
=== [DATA] SSDSE-B から構築した教育格差データセット ===
対象: 全47都道府県  /  都市部9都道府県: 北海道 埼玉県 千葉県 東京都 神奈川県 愛知県 大阪府 兵庫県 福岡県
教育費(月間, 円)  : 5095 〜 20381
進学率(%)         : 40.7 〜 67.8
大学数(校)        : 2 〜 143
東京都 例: 教育費=19935円, 進学者数=66643人, 大学数=143校, 高校数=428校
  • ④ 実行結果の読み取り:47都道府県すべてで欠損なく構築できた。東京都は教育費19,935円・進学者数66,643人・大学数143校・高校数428校で、原論文の表3(東京都の高校数428校)や散布図の位置とぴたり一致する。SSDSE-Bが原論文と同じ元データであることが確認できる。
3
図1:教育費 × 進学者数(実再現・原論文 図5)

個人の経済面のうち、まず教育費と進学者数の関係を見る。原論文は「教育費が高い都道府県ほど進学者数も多い、やや強い正の相関」と報告した。これをSSDSE-Bで実際に描き直す。

やってみよう教育費 × 進学者数の散布図と単回帰を実際に描く【実再現】
  • ① このコードの目的:都市部を●・地方を○で描き分ける散布図関数 scatter() を定義し、まず教育費 × 進学者数(原論文 図5)を描く。単回帰の傾き・切片・相関係数・決定係数を計算し、原論文の報告値と並べて表示する。
  • ② 前後のつながり:この関数を図2・図3でも使い回す。散布図+回帰直線+報告値の併記で、「実再現が原論文とどれだけ一致するか」をその場で確認できる。
📝 コード
 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
132
133
134
135
136
def scatter(x, y, xlabel, ylabel, title, fname, xreport, yreport):
    """都市部を●、地方を○で描く散布図+回帰直線(実再現)。報告値も併記して返す。"""
    s, i, r, p, se = stats.linregress(x, y)
    fig, ax = plt.subplots(figsize=(9, 6))
    m_city = edu['都市部'].values
    ax.scatter(x[~m_city], y[~m_city], facecolors='none', edgecolors='#888',
               s=55, linewidths=1.2, label='地方')
    ax.scatter(x[m_city], y[m_city], color='#C62828', s=70, label='都市部(人口集中地区人口300万人超)')
    for pref in LABEL_CITY:
        row = edu[edu['Prefecture'] == pref]
        ax.annotate(pref, (row[x.name].values[0], row[y.name].values[0]),
                    fontsize=9, color='#B71C1C', xytext=(4, 4), textcoords='offset points')
    xr = np.linspace(x.min(), x.max(), 100)
    ax.plot(xr, s * xr + i, color='#1565C0', linewidth=1.8)
    ax.text(0.97, 0.06, f'y = {s:.4g}x + {i:.4g}\n$R^2$ = {r**2:.4f}  (r = {r:.4f})',
            transform=ax.transAxes, ha='right', fontsize=12,
            bbox=dict(boxstyle='round', fc='#EFF3FF', ec='#1565C0'))
    ax.set_xlabel(xlabel, fontsize=12)
    ax.set_ylabel(ylabel, fontsize=12)
    ax.set_title(title, fontsize=13, fontweight='bold')
    ax.legend(fontsize=10, loc='upper left')
    ax.grid(alpha=0.3)
    plt.tight_layout()
    plt.savefig(os.path.join(FIG_DIR, fname), dpi=150, bbox_inches='tight')
    plt.close()
    print(f'  再現値 : r = {r:.4f} , R^2 = {r**2:.4f} , y = {s:.4g}x + {i:.4g} , p = {p:.2e} , N = {len(x)}')
    print(f'  報告値 : r = {xreport} , R^2 = {yreport}  (原論文)')
    return r, r**2


# ============================================================
# [FIG1] 教育費 × 進学者数(原論文 図5 の実再現)
# ============================================================
print('\n=== [FIG1] 教育費 × 高等学校卒業者のうち進学者数(原論文 図5 の実再現) ===')
r1, d1 = scatter(edu['教育費'], edu['進学者数'],
                 '教育費(月間消費支出額)[円]', '高等学校卒業者のうち進学者数[人]',
                 '教育費 × 進学者数(SSDSE-B 2019年・実再現, N=47)',
                 '2022_H4_fig1_ts.png', '0.5286', '0.2694')
▼ 実行結果
=== [FIG1] 教育費 × 高等学校卒業者のうち進学者数(原論文 図5 の実再現) ===
  再現値 : r = 0.5190 , R^2 = 0.2694 , y = 1.832x + -7701 , p = 1.85e-04 , N = 47
  報告値 : r = 0.5286 , R^2 = 0.2694  (原論文)
  • ④ 実行結果の読み取り:再現値は y=1.832x−7701, R²=0.2694, r=0.5190。原論文 図5 の回帰式 y=1.8316x−7700.8・R²=0.2694 と小数点以下まで一致した。なお原論文 表2 の相関係数0.5286はR²=0.2694(=r0.519²)と整合しない転記の揺れがあり、再現値0.5190はむしろ図5のR²と完全に一致する。
教育費×進学者数の散布図(実再現)
図1:教育費 × 高等学校卒業者のうち進学者数(SSDSE-B 2019年、N=47)。実再現(原論文 図5 に対応)。●=都市部9都道府県、○=地方。回帰式 y=1.832x−7701・R²=0.2694 は原論文とほぼ一致。
📊 この図の読み方
右上(●)
東京都・大阪府・神奈川県・愛知県など都市部。教育費が高く進学者数も多い。
傾向
右肩上がりの正の相関だが、点のばらつきは大きい(R²=0.2694=進学者数のばらつきの約27%しか教育費で説明できない)。
位置づけ
実再現。原論文と同じ元データ(SSDSE)なので、回帰式まで一致する。
4
図2・図3:進学「率」で見る(実再現・原論文 図9/図10)

進学者「数」は人口の多い都市部で大きくなりがち。そこで規模の影響を除いた進学率で、教育費・大学数との関係を見直す。

やってみよう教育費 × 進学率・大学数 × 進学率を続けて描く【実再現】
  • ① このコードの目的:同じ scatter() 関数で、教育費 × 進学率(原論文 図9)と大学数 × 進学率(原論文 図10)を描く。分子を進学者数から進学率(=進学者数÷卒業者数×100)に変えると、都道府県の規模の違いを除いた比較になる。
  • ② 前後のつながり:ここで「進学率」に切り替えることで、規模の大きい都市部が有利に見える効果を取り除く。次の図4で全関係の一致度をまとめて検証する。
📝 コード
142
143
144
145
146
147
148
149
150
151
152
153
154
r2, d2 = scatter(edu['教育費'], edu['進学率'],
                 '教育費(月間消費支出額)[円]', '高等学校卒業者の進学率[%]',
                 '教育費 × 進学率(SSDSE-B 2019年・実再現, N=47)',
                 '2022_H4_fig2_scatter.png', '0.5961', '0.3554')

# ============================================================
# [FIG3] 大学数 × 進学率(原論文 図10 の実再現)
# ============================================================
print('\n=== [FIG3] 大学数 × 高等学校卒業者の進学率(原論文 図10 の実再現) ===')
r3, d3 = scatter(edu['大学数'], edu['進学率'],
                 '大学数[校]', '高等学校卒業者の進学率[%]',
                 '大学数 × 進学率(大学数2020年・進学率2019年・実再現, N=47)',
                 '2022_H4_fig3_ols.png', '0.5742', '0.3298')
▼ 実行結果
=== [FIG2] 教育費 × 高等学校卒業者の進学率(原論文 図9 の実再現) ===
  再現値 : r = 0.5963 , R^2 = 0.3556 , y = 0.001033x + 40.98 , p = 9.74e-06 , N = 47
  報告値 : r = 0.5961 , R^2 = 0.3554  (原論文)

=== [FIG3] 大学数 × 高等学校卒業者の進学率(原論文 図10 の実再現) ===
  再現値 : r = 0.5748 , R^2 = 0.3304 , y = 0.1646x + 49.47 , p = 2.38e-05 , N = 47
  報告値 : r = 0.5742 , R^2 = 0.3298  (原論文)
  • ④ 実行結果の読み取り:教育費×進学率は再現値 r=0.5963(報告値0.5961)、大学数×進学率は再現値 r=0.5748(報告値0.5742)。いずれも報告値と0.001程度しか違わない。進学「率」でもやや強い正の相関が残り、経済面・大学の集積が進学に効くという原論文の主張が実データで裏づけられた。
教育費×進学率の散布図(実再現)
図2:教育費 × 高等学校卒業者の進学率(SSDSE-B 2019年、N=47)。実再現(原論文 図9)。r=0.5963・R²=0.3556 は報告値(0.5961・0.3554)とほぼ一致。
5
図3:大学数 × 進学率(実再現・原論文 図10)

大学が多い都道府県ほど進学率が高いか。原論文は相関係数0.5742のやや強い正の相関を報告した。地図の代わりに散布図で地域差を表現する。

大学数×進学率の散布図(実再現)
図3:大学数 × 高等学校卒業者の進学率(大学数 2020年・進学率 2019年、N=47)。実再現(原論文 図10)。r=0.5748・R²=0.3304 は報告値(0.5742・0.3298)とほぼ一致。●=都市部。
📊 この図の読み方
右(●)
東京都・大阪府など大学数が多い都市部。進学率も高めだが、地方にも進学率の高い県がある。
傾向
やや強い正の相関。ただしR²=0.33で、大学数だけで進学率のばらつきの3分の1程度しか説明できない。
解釈
原論文は「都市部は大学・事業所が多く進学率が高い」としつつ、決定係数がそれほど高くない点も明記している。
6
図4:報告値と再現値の比較(実再現の検証)

個別の散布図で一致を確認したので、最後に4つの関係をまとめて、原論文の報告値と再現値を並べて「どれだけ再現できたか」を検証する。

やってみよう原論文の報告値(表2)と再現値を並べて比較する【実再現の検証】
  • ① このコードの目的:SSDSE-Bで再現できた4つの関係について、原論文の報告値(表2)と本ページの再現値をグループ棒グラフで並べる。両者の差を数値でも出し、再現がどれだけ忠実かを検証する。
  • ② 前後のつながり:ここが「実再現」の核心。図1〜図3で個別に確かめた一致を、4関係まとめて可視化する。
📝 コード
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
rel_names = ['教育費×\n進学者数\n(図5)', '大学数×\n教育費\n(図8)',
             '教育費×\n進学率\n(図9)', '大学数×\n進学率\n(図10)']
reported = [0.5286, 0.4863, 0.5961, 0.5742]
# 大学数×教育費 も再現しておく(図として保存はしないが比較に使う)
s8, i8, r8, p8, _ = stats.linregress(edu['大学数'], edu['教育費'])
reproduced = [r1, r8, r2, r3]
for nm, rp, rr in zip(['教育費×進学者数', '大学数×教育費', '教育費×進学率', '大学数×進学率'],
                      reported, reproduced):
    print(f'  {nm:12s}  報告値 r={rp:.4f}  /  再現値 r={rr:.4f}  (差 {abs(rp-rr):.4f})')

fig, ax = plt.subplots(figsize=(10, 5.5))
xpos = np.arange(len(rel_names))
w = 0.38
ax.bar(xpos - w / 2, reported, w, color='#90A4AE', label='原論文の報告値(表2)')
ax.bar(xpos + w / 2, reproduced, w, color='#1565C0', label='本ページの再現値(SSDSE-B)')
for xp, rp, rr in zip(xpos, reported, reproduced):
    ax.text(xp - w / 2, rp + 0.01, f'{rp:.3f}', ha='center', fontsize=10)
    ax.text(xp + w / 2, rr + 0.01, f'{rr:.3f}', ha='center', fontsize=10, color='#1565C0')
ax.set_xticks(xpos)
ax.set_xticklabels(rel_names, fontsize=10)
ax.set_ylabel('相関係数 r', fontsize=12)
ax.set_ylim(0, 0.75)
ax.set_title('原論文の報告値と再現値はほぼ一致する(実再現の検証)', fontsize=13, fontweight='bold')
ax.legend(fontsize=11)
ax.grid(axis='y', alpha=0.3)
plt.tight_layout()
plt.savefig(os.path.join(FIG_DIR, '2022_H4_fig4_gap.png'), dpi=150, bbox_inches='tight')
plt.close()
print('  → 4関係すべてで報告値と再現値の差は0.01前後。SSDSE-Bで原論文を再現できた。')
▼ 実行結果
=== [FIG4] 相関係数:原論文の報告値(表2)と本再現の比較 ===
  教育費×進学者数      報告値 r=0.5286  /  再現値 r=0.5190  (差 0.0096)
  大学数×教育費       報告値 r=0.4863  /  再現値 r=0.4863  (差 0.0000)
  教育費×進学率       報告値 r=0.5961  /  再現値 r=0.5963  (差 0.0002)
  大学数×進学率       報告値 r=0.5742  /  再現値 r=0.5748  (差 0.0006)
  → 4関係すべてで報告値と再現値の差は0.01前後。SSDSE-Bで原論文を再現できた。
  • ④ 実行結果の読み取り:4関係すべてで報告値と再現値の差は0.01前後(大学数×教育費は差0.0000、教育費×進学率は差0.0002)。SSDSE-Bで原論文の相関分析をほぼ完全に再現できたことを示す。数値をでっち上げず、実データの計算で原論文を裏づけた。
報告値と再現値の相関係数比較(実再現の検証)
図4:相関係数の比較(灰=原論文 表2 の報告値/青=SSDSE-Bでの再現値)。4関係すべてで差は0.01前後。実再現の検証
7
図5:デジタル教育の整備率(報告値の可視化)

教育格差のもう一つの側面、学校の設備・学習環境を見る。原論文は「都市部の方がデジタル教育の整備が進んでいる」と仮説を立てたが、結果は逆だった。整備率はSSDSE-Bに無いため、原論文 表3・表4・図13・図14 の報告値を可視化する(再計算ではない)。

やってみようデジタル教科書・電子黒板の整備率(原論文 表3・表4)を可視化する【報告値の可視化】
  • ① このコードの目的:原論文 表3(デジタル教科書)・表4(電子黒板)の整備率を辞書に転記し、都市部3都府県(赤)と整備率上位3県(緑)を棒グラフで比較する。全国平均の点線も引く。SSDSE-Bに整備率の列は無いため、これは再計算ではなく報告値の可視化。
  • ② 前後のつながり:ここは経済面(図1〜4)とは別の「学校の設備・学習環境」の側面。原論文の「都市部の方が進んでいる」仮説がなぜ偽になったのかを、報告値で示す。
📝 コード
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
dig_pref = ['東京都', '愛知県', '大阪府', '石川県', '佐賀県', '岐阜県']
dig_rate = [33.9, 17.5, 21.0, 93.3, 90.7, 81.1]
dig_city = [True, True, True, False, False, False]
eb_pref = ['東京都', '愛知県', '大阪府', '鳥取県', '佐賀県', '石川県']
eb_rate = [82.1, 7.3, 29.8, 132.3, 115.5, 82.6]
eb_city = [True, True, True, False, False, False]
DIG_AVG, EB_AVG = 30.2, 22.3   # 原論文 図13・図14 の全国平均(報告値)

fig, (axL, axR) = plt.subplots(1, 2, figsize=(12, 5))
for ax, prefs, rates, cityflag, avg, ttl in [
        (axL, dig_pref, dig_rate, dig_city, DIG_AVG, 'デジタル教科書の整備率(原論文 表3)'),
        (axR, eb_pref, eb_rate, eb_city, EB_AVG, '普通教室の電子黒板整備率(原論文 表4)')]:
    colors = ['#C62828' if c else '#2E7D32' for c in cityflag]
    ax.bar(prefs, rates, color=colors)
    for xp, v in enumerate(rates):
        ax.text(xp, v + 1.5, f'{v}', ha='center', fontsize=10)
    ax.axhline(avg, color='#555', linestyle='--', linewidth=1.3)
    ax.text(len(prefs) - 0.4, avg + 2, f'全国平均 {avg}%', ha='right', fontsize=10, color='#333')
    ax.set_ylabel('整備率[%]', fontsize=11)
    ax.set_title(ttl, fontsize=12, fontweight='bold')
    ax.grid(axis='y', alpha=0.3)
fig.suptitle('デジタル教育の整備率:都市部3都府県(赤)vs 整備率上位3県(緑)'
             '  ※報告値の可視化(再計算ではない)', fontsize=12.5, fontweight='bold')
plt.tight_layout(rect=[0, 0, 1, 0.96])
plt.savefig(os.path.join(FIG_DIR, '2022_H4_fig5_digital.png'), dpi=150, bbox_inches='tight')
plt.close()
print('  ※ SSDSE-B に整備率の列は無い。上記はすべて原論文 表3・表4・図13・図14 の報告値の転記。')
print(f'  デジタル教科書 全国平均 {DIG_AVG}% / 電子黒板 全国平均 {EB_AVG}%(ともに50%未満)。')
▼ 実行結果
=== [FIG5] デジタル教科書・電子黒板 整備率(報告値の可視化・再計算ではない) ===
  ※ SSDSE-B に整備率の列は無い。上記はすべて原論文 表3・表4・図13・図14 の報告値の転記。
  デジタル教科書 全国平均 30.2% / 電子黒板 全国平均 22.3%(ともに50%未満)。
  → 整備率上位は石川・佐賀・岐阜・鳥取など地方。「都市部の方が進んでいる」仮説は偽。
  • ④ 実行結果の読み取り:整備率が高いのは石川・佐賀・岐阜・鳥取など地方で、都市部(東京・愛知・大阪)はむしろ低い(とくに愛知はデジタル教科書17.5%・電子黒板7.3%と極端に低い)。全国平均はデジタル教科書30.2%・電子黒板22.3%とともに50%未満。「都市部の方が整備が進んでいる」仮説はで、デジタル教育は地域を問わず全国的に遅れている。
デジタル教科書・電子黒板の整備率(報告値の可視化)
図5:デジタル教科書(左)・普通教室の電子黒板(右)の整備率。都市部3都府県(赤)vs 整備率上位3県(緑)、点線は全国平均。報告値の可視化(再計算ではない)(原論文 表3・表4・図13・図14)。

表3・表4 整備率と高等学校数の比較(原論文の報告値)

区分都道府県デジタル教科書 整備率[%]電子黒板 整備率[%]高等学校数[校]
都市部東京都33.982.1428
都市部愛知県17.57.3222
都市部大阪府21.029.8256
上位県石川県93.382.656
上位県佐賀県90.7115.546
上位県岐阜県/鳥取県81.1(岐阜)132.3(鳥取)81/32

※ 整備率が100%を超える県があるのは、原論文の元データ(e-Stat)で「整備台数÷普通教室数」等の定義により1教室あたり複数台となるため。値はすべて原論文の報告値。

仮説の検証結果(原論文 4.2.2) 「高等学校数が多い都道府県では整備が行き届かない」「そもそもすべての都道府県で整備率が低い」という2仮説はともにと判断された。高校数の多い都市部で整備率が低く、全国平均も50%未満だった。ただし愛知県は高校数が多くなくても整備済み校が極端に少なく、都市部の中にも差があった。

結果の解釈と考察(原論文 5章)

原論文は分析結果を次のように整理した。教育格差の要因は、所得に占める教育費の差である。所得の低い地方の世帯では、大学や教育・学習支援事業所への通学に経済的負担が大きく、教育格差が生じると考えられる。是正には、地方世帯の所得増加や、地方の高校生への教育に関する経済的支援が必要だと著者は述べている。

デジタル教育は地域に関わらず遅れている

デジタル教育およびその学習環境の整備については、都市部・地方に関わらず差があった。各都道府県で導入への取り組みが大きく異なるためと考えられる。デジタル教科書・電子黒板の整備率の全国平均はともに50%を下回っており、著者は「地域による教育格差を広げぬよう、またデジタル教育で日本が世界に遅れをとらぬよう、早急な整備と対応」を強く求めている。

今後に向けて(原論文) 次の段階として、著者は教育格差と学力の関係地方特性と学力の関係を分析したいとする。全国学力・学習状況調査【中学校】(原論文 図15)では石川県・福井県が上位にあり、教育格差の是正・学力向上の糸口となるデータを導き出せる可能性があると結んでいる。

まとめと今後の課題

本研究は、都道府県別のデータを用いて都市部と地方の教育格差を、①個人の経済面(所得・教育費・進学)と②学校の設備・学習環境(デジタル整備率)の2側面から分析した。経済面では教育費・大学数・事業所数が進学者数・進学率とやや強い正の相関を示し、教育格差の主因は所得に占める教育費の差だと結論づけた。デジタル教育の整備率は地域を問わず全国平均50%未満で、都市部が進んでいるという仮説は偽だった。

この研究の限界 ①年度の異なるデータ(2015〜2022年)を組み合わせている。②相関であって因果を検証したものではない(交絡因子—人口規模など—が背後にある)。③教育格差と学力の関係は本研究では扱えておらず、著者自身が次段階の課題としている。

この研究から学べること 漠然とした社会問題を都道府県データに翻訳し、ロジックツリーで仮説を整理して、相関係数と決定係数を丁寧に併記しながら検証する姿勢。審査会も「データを眺めながら仮説を順次提示し考察する姿勢」と「経済面・設備環境の両面からの検討」を的を射たものと評価した。

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

このページの図1〜図4(実再現)は、以下から再現できます。

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

※ 図1〜図4はSSDSE-Bの教育費・進学者数・進学率・大学数からの実再現です。図5(デジタル整備率)と表2〜表4は、県民所得・事業所数・整備率がSSDSE-B外のため、原論文の報告値を可視化・転記したものです(再計算ではありません)。

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

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

誤解1:「教育費が高いと進学者が増える、という因果が示された」
示されたのは相関であって因果ではない。人口規模という交絡因子が背後にあり、都市部は教育費も進学者数も同時に大きくなりやすい。著者も事業所数×進学者数の r=0.9945 について「高校生の数に比例して事業所が増えていると捉えるのが自然」と慎重に述べている。
誤解2:「相関係数が0.99なら因果がほぼ確実」
事業所数と進学者数の r=0.9945 は、どちらも人口(高校生数)に比例して増える見かけの相関の典型。第3の変数(人口)が両方を押し上げているだけで、事業所が進学を生むとは言えない。
誤解3:「整備率が100%超はデータの間違い」
誤りではない。電子黒板の整備率は「整備台数÷普通教室数」などで計算されるため、1教室に複数台あると100%を超える(鳥取132.3%・佐賀115.5%)。指標の定義を確認することが大切。
誤解4:「このページの図はすべて原論文と同じ数値」
図1〜図4は実再現(SSDSE-Bで再計算し、報告値と0.01前後で一致)。図5と表2〜表4は報告値の可視化・転記(再計算ではない)。県民所得・事業所数・整備率はSSDSE-Bに列が無いため計算できず、原論文の値をそのまま載せている。図注に明記している。

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

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

相関係数
2つの数量が一緒に増減する強さと向きを−1〜+1で表す。本研究は教育費・進学率・大学数などの間で計算した。
決定係数(R²)
相関係数の2乗。一方の変数で他方のばらつきの何割を説明できるかを表す。0.27なら約27%しか説明できない。
単回帰
1つの説明変数で目的変数を直線で予測する回帰。散布図に引いた回帰直線の傾き・切片を求める。
散布図
2変数の関係を点で表す図。右肩上がりなら正の相関。本研究は都市部を●で示した。
因果関係
一方が原因で他方が結果という関係。相関があっても因果とは限らない。
交絡因子
2変数の両方に影響する第3の変数。本研究では「人口規模」が典型で、見かけの強い相関を生む。
SSDSE
統計センターが整備する教育用標準データセット。SSDSE-Bは都道府県別の社会・人口統計。
CSV
カンマ区切りのテキストデータ形式。本データはcp932(Shift_JIS系)で保存されている。

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

この研究で使われている手法を、手を動かす順に説明する。

全体像
ロジックツリーで「教育格差」を経済面と設備・環境面に分解 → 各要因を散布図で可視化 → 相関係数決定係数で関係の強さと説明力を評価。難しいモデルではなく、基本の相関分析を丁寧に積み重ねるのが本研究のスタイル。
🌳 ロジックツリーによる仮説整理
何をする
大きな問い(教育格差の要因)を、排他的な下位要因(経済面/設備・環境面)に枝分かれさせて整理する。
なぜ有効
「何を・どの順で調べるか」が明確になり、分析の抜け漏れを防げる。審査会も「仮説を順次提示する姿勢」を評価した。
注意
枝分けは仮説にすぎない。データで検証して、偽なら(デジタル整備の仮説のように)率直に「偽」と述べることが大切。
📈 相関分析決定係数
何をする
2変数の相関係数を求め、その2乗(決定係数)で「説明力」を評価する。相関係数と決定係数を必ず併記する。
読み方
相関係数0.5前後は「やや強い相関」だが、決定係数は0.25前後=説明力は約25%。「相関はあるが強くはない」を区別できる。
注意
相関は因果ではない。交絡因子(人口規模)に注意。r=0.99でも見かけの相関のことがある。
📊 単回帰と散布図
何をする
散布図に回帰直線 y=ax+b を当てはめ、傾きaで「教育費が1円増えると進学者が何人増えるか」の目安を得る。
読み方
傾きの符号が関係の向き。ただし外れ値(埼玉県の教育費など)に引っ張られやすいので散布図で必ず点の分布を確認する。
注意
進学者「数」は人口規模に依存。規模の影響を除くには進学「率」を使う(本研究の図9・図10)。

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

この研究の「相関は見つけたが因果は不明・学力との関係は未検証」という結論は、次の研究の出発点になる。

発展1:教育格差と学力の関係を調べる(著者の次段階)
結果X
経済面(教育費・進学率)と設備面(整備率)で地域差が確認できた。
新仮説Y
この教育格差は、実際の学力(全国学力調査)の差に結びついているのか。
課題Z
全国学力・学習状況調査【中学校】の都道府県別スコアと、教育費・進学率・整備率の相関を取る。石川・福井が上位の理由を掘る。
発展2:人口規模の影響を統制して「真の要因」に近づく
結果X
事業所数×進学者数が r=0.9945 など、人口規模で説明できそうな見かけの相関が多い。
新仮説Y
人口(高校生数)あたりに直せば、都市部の優位はどこまで残るのか。
課題Z
各指標を人口・高校生数で割った「一人あたり」に変換し、交絡因子を除いた重回帰で寄与を分解する。

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

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

★☆☆☆☆ 難易度1
別の年で相関を出す
d19 = df[df['SSDSE-B-2026'] == 2019] の 2019 を 2013 や 2023 に変えて、教育費×進学者数の相関が年で変わるか確かめよう。
★★☆☆☆ 難易度2
進学者数を進学率に差し替える
図1(教育費×進学者数)の edu['進学者数']edu['進学率'] に変えて、規模の影響を除くと点の並びがどう変わるか比べよう。
★★★☆☆ 難易度3
都市部と地方で平均を比べる
edu.groupby('都市部')[['教育費','進学率','大学数']].mean() で、都市部9都道府県と地方の平均を比較しよう。差はどのくらい?
★★★★☆ 難易度4
一人あたりに直して見かけの相関を消す
大学数を高校生数(E4501)で割った「高校生あたり大学数」を作り、進学率との相関が弱まるか確かめよう。人口規模という交絡の効果を体感できる。
ヒント:SSDSE-Bの列コード E4501(高等学校生徒数)を d19 から取ってきて割り算する。
★★★★★ 難易度5
学力データと結びつける
全国学力・学習状況調査【中学校】の都道府県別平均(e-Stat)を入手し、教育費・進学率と相関を取ろう。原論文が「次段階の課題」とした教育格差×学力に一歩踏み込める。

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

「地域単位のデータで社会現象の要因を相関・回帰で探る」発想は、行政や教育政策で広く使われている。

🏫
教育政策・GIGAスクール
端末・電子黒板の整備率を都道府県で比較し、遅れている地域への予算配分や支援の優先順位づけに使う。
🏛️
EBPM(証拠に基づく政策立案)
所得・進学率・施設数などの地域データで格差の要因を探索し、どの施策が効きそうかを検討する。
🔍
見かけの相関の見抜き方
「人口が多い地域は何でも多い」という交絡を疑い、一人あたりに直す発想は、マーケティングや疫学でも必須。

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

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

Q. 「都市部」はどう決めたの?
A. 人口集中地区人口が300万人を超える9都道府県(北海道・埼玉・千葉・東京・神奈川・愛知・大阪・兵庫・福岡)を都市部としています。散布図では●で示されます。
Q. このページの図は原論文と同じ数値ですか?
A. 図1〜図4は実再現です。SSDSE-Bの教育費・進学者数・進学率・大学数を原論文の年次(2019/2020年)で計算し、報告値と0.01前後で一致しました(回帰式は小数点まで一致)。図5(デジタル整備率)と表2〜表4は、県民所得・事業所数・整備率がSSDSE-Bに無いため原論文の報告値を可視化・転記したものです(再計算ではありません)。
Q. 事業所数と進学者数の相関0.99は、塾が多いと進学が増える証拠?
A. いいえ。どちらも人口(高校生数)に比例して増えるための見かけの相関です。著者自身も「高校生の数に比例して事業所数が増えていると捉えるのが自然」と慎重に述べています。因果ではありません。
Q. デジタル整備率が100%を超えているのはなぜ?
A. 電子黒板の整備率は「整備台数÷普通教室数」などで計算されるため、1教室に複数台あると100%を超えます(鳥取132.3%)。データの誤りではなく、指標の定義によるものです。

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

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

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

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

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