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

学習意欲を高めるために
~日本の教育を見直す~

⏱️ 推定読了時間: 約30分
2021年度(令和3年度)統計データ分析コンペティション | 遠藤 沙恵(慶應義塾湘南藤沢高等部) | SSDSE-D・SSDSE-B ほか(47都道府県) | 相関分析・無相関の検定・偏相関分析
🔬 偏相関🔬 無相関の検定🔬 相関分析🏷 教育・学力🏷 文化・余暇🏷 メンタルヘルス
🔬 手法タグ / 🏷 応用タグ(クリックで同タグの論文をネットワーク検索)
🔬 再現カルテ — 原論文と同じデータ・同じ手法で再現

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

原論文が使ったデータSSDSE-B・SSDSE-D・社会教育調査・全国都道府県市区町村別面積調・国勢調査・農林業構造統計・固定資産の価格等の概要調書
分析単位:都道府県
中核手法:相関分析
この教材が使うデータ
原論文(PDF)学習意欲を高めるために ~日本の教育を見直す~
特別賞/遠藤 沙恵(慶應義塾湘南藤沢高等部)
✅ この教材でできること
  • 原論文の中核手法(相関分析)を実データで実行できる
  • 分析に使うデータは同梱済みで、ブラウザ上でそのまま読み込める
  • 数値・図を最後まで再計算できる(相関分析・偏相関分析)
突合監査の結果、主要データと中核手法はいずれも原論文と一致しています。
🚀 原論文と同じ粒度で挑戦したい人へ

原論文と同じ粒度のデータは、この教材にも同梱しています。これを読み込めば、原論文と同じ細かさで分析をやり直せます(下の「🐍 ブラウザで動かす」でコードを書き換えて試せます)。ただし原論文が使った項目がすべて収録されているとは限りません。足りない項目は、上の「できないこと」に書いた出典から取ってくる必要があります。

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

🏅 論文審査会コメント(審査員はここを評価した)
「学習意欲を高める要因を探し、日本の教育を見直すというテーマ設定は興味深く、SSDSEの多様な側面を利活用して多角的な相関分析を実施しており、データ記述や変換なども丁寧に書かれている。」
出典:統計センター「統計データ分析コンペティション」受賞論文PDF掲載の審査講評。プロの審査員が何を評価し、何を注文したかは論文の読み方の最良の手本になる。
📝 3行で分かる要約

目次

  1. 研究のテーマと目的
  2. データと変数(表1・表2)
  3. 再現コード:データの読み込みと報告値
  4. 図1:学習意欲との相関一覧(報告値の可視化)
  5. 図2:読書と学習意欲(実再現)
  6. 主要な発見:4観点の相関分析
  7. 図3:学級規模と偏相関(報告値の可視化)
  8. 図4:学習意欲の都道府県ランキング(実再現)
  9. 結果の解釈
  10. まとめ
  11. データ・コードのDL
  12. ⚠️ よくある誤解
  13. 📖 用語集
  14. 📐 手法ガイド
  15. 🚀 発展の可能性
  16. 🎯 自分でやってみよう
  17. 🤔 Q&A
  18. 🐍 ブラウザで動かす

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

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

このページの行動者率どうしの相関(図2・図4)は、以下の手順で自分で再現できます。コードの編集は不要です。(エンゲル係数・教育費・図書館数・森林/田畑・学級規模などは SSDSE-D 単独では再現できないため、これらの相関係数は原論文の報告値を可視化します。)

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

いまの日本では多くの大学が大都市圏にあり、進学のたびに地方から若者が出ていく。著者は文部科学省「学校基本統計」から、大学進学時の都道府県別 流入・流出率に注目した。京都・東京では流入率が70%を超える一方、香川では流出率が31.3%に達する。しかも「学習・自己啓発・訓練の行動者率」上位13県のうち9県が流入超過の都道府県と重なっていた。

そこで著者は「大学進学時に若者が多く集まる都会ほど学習意欲が高いのではないか」と考えた。 では人々の学習意欲の差は何によって生まれ、どうすれば高められるのか。 本研究はこの問いを軸に、都道府県別の統計データで学習意欲に影響する要素を相関分析で探る。

35.9%
学習・自己啓発・訓練の行動者率(47都道府県平均・SSDSE-D 2021)
52.8%
最高:東京都(同)
25.4%
最低:青森県(同)
0.869
読書×学習意欲の相関(報告値 ρ)
研究の問い 学習意欲(=過去1年間に学習・自己啓発・訓練を行った人の割合)は、①安定した生活、②教育、③趣味/娯楽、④自然環境に関する各指標と、どのような相関関係を持つか。
学習意欲の代理指標(この研究のキモ) 「学習意欲」は直接は測れない。そこで著者は SSDSE-D の「学習・自己啓発・訓練(総数)の行動者率」——過去1年に自由時間で学びの活動をした10歳以上の人の割合——を学習意欲の代理指標とした。学生だけでなく10歳以上の全員を対象にしている点に注意。

高校生の部 SSDSE-D / SSDSE-B 社会教育調査・固定資産概要調書ほか 相関分析・無相関の検定 偏相関分析

データと変数(表1・表2)

表1 使用したデータ(都道府県別)

分類おもな項目出典(原論文)
学習意欲の代理指標/趣味・生活時間学習・自己啓発・訓練(総数)、読書・音楽鑑賞・楽器・美術鑑賞・演芸・遊園地・ゲーム・旅行の行動者率、睡眠・学業・テレビ等・スポーツの生活時間SSDSE-D(2016年・集計対象10歳以上)
人口・教育・家計総人口、小中高の教員数・児童生徒数、消費支出・食料費・教育費・教養娯楽費SSDSE-B(2016年、総人口のみ2015年も使用)
図書館図書館数社会教育調査(2015年)
面積・森林・土地総面積(北方地域・竹島を除く)、森林面積、評価総地積(課税対象・田・畑)面積調・国勢調査(2014年)/農林業センサス(2014年)/固定資産の価格等の概要調書(2016年)

表2 作成した指標と計算方法

指標名計算方法
エンゲル係数(%)食料費 ÷ 消費支出 × 100
小・中・高の教員一人当たり児童・生徒数児童・生徒数 ÷ 教員数
人口100万人当たりの図書館数図書館数 ÷ 総人口
森林面積割合(%)森林面積 ÷ 総面積(北方地域・竹島を除く)
評価総地積割合(田/畑)(%)評価総地積(田/畑)÷ 評価総地積(課税対象土地)
再現可能性の整理(このページの図の作り方)
  • 実再現できる部分:学習意欲の代理指標(行動者率)と、読書・音楽・楽器などの趣味の行動者率は同じ SSDSE-D に収録されている。よってこれらの相関は実データから再計算できる(本ページの図2・図4)。ただし収録版が2023年版(=2021年調査)で、原論文の2016年とは調査年が違うため、値は報告値と完全には一致しない(図の中に年を明記)。
  • 報告値の可視化(再計算ではない):エンゲル係数・教育費・図書館数・森林/田畑・学級規模などは、SSDSE-D 単独や本リポジトリの収録データだけでは再現できない。よってこれらの相関係数・偏相関係数は原論文の報告値を転記して可視化する(本ページの図1・図3)。新たな数値の再計算ではない。
使う統計手法
行動者率で
学習意欲を代理
散布図
目視
相関係数
無相関の検定
偏相関
総人口を除去

原論文の判定:相関係数の絶対値が0.5以下のものは無相関の検定(p値)で確かめた。|ρ|≧0.7を「強い相関」、0.5前後を「弱い相関」の目安として読み解いている。

1
再現コード:データの読み込みと報告値の転記

まず、学習意欲の代理指標を SSDSE-D から読み込み(実データ)、続いて原論文が報告した相関係数を辞書に写し取る(報告値の転記)。この2つを分けて扱うのが再現の要である。

やってみようSSDSE-D を読み込み、学習意欲の代理指標を用意する
  • ① このコードの目的:SSDSE-D を cp932・header=1 で読み込み、男女計(0_総数)の47都道府県だけを残す。列「学習・自己啓発・訓練の総数」=学習意欲の代理指標(行動者率)を数値化する。
  • ② 前後のつながり:ここで用意した d を土台に、以降で趣味の行動者率との相関を再計算していく。
📝 コード
50
51
52
53
54
55
56
57
58
# ── SSDSE-D(生活行動・生活時間、都道府県別)の読み込み ─────────────────
# cp932・2行目に日本語見出し(header=1)。男女計(0_総数)かつ47都道府県だけを残す。
d = pd.read_csv(DATA_D, encoding='cp932', header=1)
d = d[d['男女の別'].astype(str).str.contains('総数')]
d = d[d['都道府県'] != '全国'].copy()
YCOL = '学習・自己啓発・訓練の総数'   # =学習意欲の代理指標(行動者率 %)
d[YCOL] = pd.to_numeric(d[YCOL], errors='coerce')
print('SSDSE-D 読み込み: N =', len(d), '都道府県  (調査年: 2021年)')
print(f'学習・自己啓発・訓練の行動者率: 平均 {d[YCOL].mean():.1f}%  '
  • ④ 実行結果の読み取り:SSDSE-D 読み込み: N = 47 都道府県 (調査年: 2021年) 学習・自己啓発・訓練の行動者率: 平均 35.9% (25.4〜52.8%)
やってみよう原論文の報告値(相関係数)を辞書として持つ
  • ① このコードの目的:原論文(PDF本文)が2016年データで求めた学習意欲との相関係数ρを、4観点(安定した生活・教育・趣味娯楽・自然環境)ごとに辞書に転記する。無相関と判定された指標も記録する。ここは再計算ではなく報告値の転記
  • ② 前後のつながり:この報告値が図1(相関一覧)の材料になる。実再現できる趣味の指標だけ、あとで実データと突き合わせる。
📝 コード
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# ── 原論文の報告値(2016年・PDF本文より転記) ───────────────────────────
# 学習・自己啓発・訓練の行動者率 と 各指標 の相関係数ρ(符号・数値は原論文どおり)
REPORTED = {
    '安定した生活': {
        'エンゲル係数':   0.2457423,   # p=0.09591(無相関)
        'スポーツ時間':   0.5453607,
        '睡眠時間':      -0.7728923,
    },
    '教育': {
        '学業時間':      -0.5725335,
        '教育費':         0.6677363,
        '教養娯楽費':     0.6740558,
    },
    '趣味・娯楽': {
        '読書':           0.8688196,
        '美術鑑賞':       0.7690495,
        '演芸・演劇・舞踊': 0.8742667,
        '音楽鑑賞':       0.8826958,
        '楽器の演奏':     0.8826888,
        'テレビ等':      -0.7092702,
        '遊園地等の見物':  0.8179552,
        'ゲーム':         0.7908306,
        '旅行・行楽':     0.6752246,
        '図書館数':      -0.3794661,   # p=0.008523(100万人当たり)
    },
    '自然環境': {
        '森林面積割合':   -0.5211408,
        '田の地積割合':   -0.1162438,   # p=0.4365(無相関)
        '畑の地積割合':   -0.1106442,   # p=0.4591(無相関)
    },
}
# 無相関性を棄却できなかった(原論文)指標
NS_ITEMS = {'エンゲル係数', '田の地積割合', '畑の地積割合'}

print()
print('=== 原論文の報告値(学習意欲との相関係数ρ・2016年) ===')
for theme, items in REPORTED.items():
    print(f'[{theme}]')
    for name, r in items.items():
        mark = '(無相関)' if name in NS_ITEMS else ''
  • ④ 実行結果の読み取り:=== 原論文の報告値(学習意欲との相関係数ρ・2016年) === [安定した生活] エンゲル係数 ρ = +0.2457423 (無相関) スポーツ時間 ρ = +0.5453607 睡眠時間 ρ = -0.7728923 [教育] 学業時間 ρ = -0.5725335 教育費 ρ = +0.6677363 教養娯楽費 ρ = +0.6740558 [趣味・娯楽] 読書 ρ = +0.8688196 美術鑑賞 ρ = +0.7690495 演芸・演劇・舞踊 ρ = +0.8742667 音楽鑑賞 ρ = +0.8826958 楽器の演奏 ρ = +0.8826888 テレビ等 ρ = -0.7092702 遊園地等の見物 ρ = +0.8179552 ゲーム ρ = +0.7908306 旅行・行楽 ρ = +0.6752246 図書館数 ρ = -0.3794661 [自然環境] 森林面積割合 ρ = -0.5211408 田の地積割合 ρ = -0.1162438 (無相関) 畑の地積割合 ρ = -0.1106442 (無相関)
2
図1:学習意欲との相関一覧(報告値の可視化)

4観点19指標の相関係数を1枚に並べる。棒の色は観点、点線は|ρ|=0.5の目安。この図は再計算ではなく、原論文の報告値をそのまま可視化したものである。

学習意欲との相関係数一覧(報告値の可視化)
図1:学習意欲(学習・自己啓発・訓練の行動者率)と各指標の相関係数ρ。報告値の可視化(再計算ではない)・原論文2016年の値。灰色ラベルは無相関(p≧0.05)。
📊 この図の読み方
右へ長い棒
学習意欲との正の相関が強い。読書・音楽鑑賞・楽器・演芸など趣味/芸術が右端に並ぶ(ρ≧0.85)。
左へ長い棒
負の相関。睡眠時間・テレビ等・学業時間・森林面積割合がここに来る。
0付近(灰色)
エンゲル係数・田・畑は無相関(p≧0.05)。所得の余裕や農業地域かどうかは学習意欲とほぼ無関係。
位置づけ
報告値の可視化。数値は原論文の報告値で、本ページで新たに計算したものではない。
3
図2:読書と学習意欲(実再現)

原論文で最も強い相関のひとつが「読書」。読書の行動者率は SSDSE-D に収録されているので、実データで確かめられる。まず再計算で相関を確認し、散布図にする。

やってみようSSDSE-D(2021)で趣味の行動者率との相関を再計算する【実再現】
  • ① このコードの目的:SSDSE-D に収録された趣味の行動者率(読書・音楽・楽器など)と学習意欲の相関を実際に計算し、原論文の報告値(2016年)と並べて比べる。
  • ② 前後のつながり:ここで「調査年が違っても強い正の相関が再現するか」を確かめてから、図2の散布図を描く。
📝 コード
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# SSDSE-D の列名 → 原論文の指標名 と 報告値
D_COLS = {
    '趣味としての読書(マンガを除く)':                 ('読書',           0.8688196),
    '美術鑑賞(テレビ・スマートフォン・パソコンなどは除く)': ('美術鑑賞',       0.7690495),
    '演芸・演劇・舞踊鑑賞(テレビ・スマートフォン・パソコンなどは除く)': ('演芸・演劇・舞踊', 0.8742667),
    'CD・スマートフォンなどによる音楽鑑賞':            ('音楽鑑賞',       0.8826958),
    '楽器の演奏':                                     ('楽器の演奏',     0.8826888),
    '遊園地、動植物園、水族館などの見物':               ('遊園地等の見物',  0.8179552),
    '旅行・行楽の総数':                               ('旅行・行楽',     0.6752246),
}
print()
print('=== 実再現:SSDSE-D(2021年調査)で相関を再計算し報告値と比較 ===')
print(f"{'指標':<12}{'報告値(2016)':>14}{'再計算(2021)':>14}{'p値':>10}")
recompute = {}
for col, (name, rep) in D_COLS.items():
    x = pd.to_numeric(d[col], errors='coerce')
    m = x.notna() & d[YCOL].notna()
    r, p = stats.pearsonr(x[m], d[YCOL][m])
    recompute[name] = r
    print(f'{name:<12}{rep:>14.4f}{r:>14.4f}{p:>10.4f}')
print('→ 趣味・娯楽の行動者率は調査年が違っても強い正の相関がおおむね再現される。')
  • ④ 実行結果の読み取り:=== 実再現:SSDSE-D(2021年調査)で相関を再計算し報告値と比較 === 指標 報告値(2016) 再計算(2021) p値 読書 0.8688 0.8933 0.0000 美術鑑賞 0.7690 0.5665 0.0000 演芸・演劇・舞踊 0.8743 0.8542 0.0000 音楽鑑賞 0.8827 0.8935 0.0000 楽器の演奏 0.8827 0.9025 0.0000 遊園地等の見物 0.8180 0.7515 0.0000 旅行・行楽 0.6752 0.6271 0.0000 → 趣味・娯楽の行動者率は調査年が違っても強い正の相関がおおむね再現される。
やってみよう図2:読書と学習意欲の散布図を描く【実再現】
  • ① このコードの目的:趣味としての読書の行動者率(横軸)と学習意欲(縦軸)を47都道府県で散布図にし、相関係数と回帰直線を求める。
  • ② 前後のつながり:これは原論文の図7(読書と学習意欲の相関)を、収録データで実際に再現する部分。
📝 コード
176
177
178
179
180
181
182
183
184
185
# 図2【実再現】読書 × 学習意欲(SSDSE-D 2021)
# ══════════════════════════════════════════════════════════════
xcol = '趣味としての読書(マンガを除く)'
x = pd.to_numeric(d[xcol], errors='coerce')
m = x.notna() & d[YCOL].notna()
r2, p2 = stats.pearsonr(x[m], d[YCOL][m])
slope, intercept, _, _, _ = stats.linregress(x[m], d[YCOL][m])
print()
print('=== 図2 読書 散布図:再計算 r ===')
print(f'読書行動者率 × 学習・自己啓発・訓練の行動者率: r = {r2:.4f} (p = {p2:.2e}, N = {m.sum()})')
  • ④ 実行結果の読み取り:=== 図2 読書 散布図:再計算 r === 読書行動者率 × 学習・自己啓発・訓練の行動者率: r = 0.8933 (p = 3.12e-17, N = 47) ※原論文の報告値(2016年)は ρ = 0.8688196
読書と学習意欲の散布図(実再現)
図2:趣味としての読書の行動者率と学習意欲の関係(SSDSE-D 2021年調査、N=47)。実再現:再計算 r=0.893(原論文の報告値は ρ=0.869・2016年)。
📊 この図の読み方
右肩上がり
読書する人の割合が高い県ほど、学習意欲(学習・自己啓発・訓練の行動者率)も高い。
両端の県
右上に東京都、左下に青森県。原論文が散布図で最大・最小として注記した2県と一致する。
位置づけ
実再現。ただし収録版は2021年調査で、値は報告値と完全一致ではない(図注に年を明記)。
4
主要な発見:4観点の相関分析

原論文は学習意欲に影響しそうな要素を①安定した生活 ②教育 ③趣味/娯楽 ④自然環境の4観点に整理した。以下の相関係数はすべて原論文の報告値(2016年)である。

① 安定した生活

指標相関係数 ρ判定
エンゲル係数+0.2457423(p=0.09591)無相関
スポーツ時間+0.5453607弱い正の相関
睡眠時間−0.7728923負の相関

所得の余裕を表すエンゲル係数は無相関。「食料費以外のお金をどう使うか」が大事、という解釈。睡眠時間の負の相関は、意欲の高い人が睡眠を削って学びに充てている可能性を示す(睡眠を増やすこと自体は意欲と直接関係しない)。

② 教育

指標相関係数 ρ判定
学業時間(在学者・1日当たり)−0.5725335弱い負の相関
教育費+0.6677363正の相関
教養娯楽費+0.6740558正の相関
教員一人当たり児童・生徒数(偏相関・小/中/高)+0.484 / +0.599 / +0.572弱い正の偏相関

学業時間がなのは、課題や受験勉強のように学業が半強制的で、学習意欲の向上につながっていないため。教育費・教養娯楽費が正なのは、家庭が学びや教養にお金をかけるほど意欲が高い傾向を示す。学級規模は図3で詳しく扱う。

③ 趣味/娯楽

指標相関係数 ρ判定
CD・スマホ等による音楽鑑賞+0.8826958強い正の相関
楽器の演奏+0.8826888強い正の相関
演芸・演劇・舞踊鑑賞+0.8742667強い正の相関
趣味としての読書+0.8688196強い正の相関
遊園地・動植物園・水族館の見物+0.8179552強い正の相関
テレビゲーム・パソコンゲーム+0.7908306正の相関
美術鑑賞+0.7690495正の相関
旅行・行楽+0.6752246正の相関
テレビ・ラジオ・新聞・雑誌−0.7092702負の相関
人口100万人当たりの図書館数−0.3794661(p=0.008523)弱い負の相関

能動的で時間の流れがある趣味(音楽鑑賞・楽器・演芸・読書)ほど強い正の相関。受動的になりがちなテレビ・ラジオ等は負。図書館は「あっても使われていない」ため意外にも弱い負の相関だった。

④ 自然環境

指標相関係数 ρ判定
森林面積割合−0.5211408弱い負の相関
評価総地積割合(田)−0.1162438(p=0.4365)無相関
評価総地積割合(畑)−0.1106442(p=0.4591)無相関

森林が多い地域ほど学習意欲がやや低い(都会の方が高い傾向)。ただし田・畑の割合は無相関で、「農業地域に住んでいるか」は学習意欲と関係がない。

いちばん強い相関(ρ≧0.85) CD等の音楽鑑賞・楽器の演奏・演芸鑑賞・読書。いずれも勉学と直接関わらないが、新しい世界観に触れ、想像力を養い、時間の流れがある能動的な活動という共通点がある。
5
図3:学級規模と偏相関(報告値の可視化)

教員一人当たり児童・生徒数と学習意欲の関係を見たいが、この指標は総人口と強く連動している(小0.73・中0.70・高0.78)。そこで総人口の影響を取り除いた偏相関で、本当の関係を確かめる。

やってみよう図3:学級規模の交絡と偏相関を可視化する【報告値の可視化】
  • ① このコードの目的:教員一人当たり児童・生徒数は総人口と強く相関する(交絡)。原論文が報告した総人口との相関と、総人口を取り除いた偏相関を小・中・高で棒グラフにする。報告値の転記・可視化
  • ② 前後のつながり:交絡を除くと相関がどう弱まるかを一目で示す。学級規模の解釈(次のcallout)につなげる。
📝 コード
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
# 図3【報告値の可視化】学級規模:総人口の交絡と偏相関
# ══════════════════════════════════════════════════════════════
# 原論文の報告値:
#   corr(総人口, 教員一人当たり児童・生徒数) … 交絡の大きさ(全て正)
#   partial corr(教員当たり児童・生徒数, 学習意欲 | 総人口) … 偏相関(弱い正)
levels = ['小学校', '中学校', '高等学校']
confound = [0.7324618, 0.7046322, 0.7825836]   # 総人口との相関
partial  = [0.4840228, 0.5989611, 0.5718934]   # 偏相関(p小学=3.238e-09)
print()
print('=== 学級規模:総人口の交絡と偏相関(原論文の報告値) ===')
print(f"{'学校種':<8}{'総人口との相関':>16}{'偏相関(学習意欲)':>18}")
for lv, c, pr in zip(levels, confound, partial):
    print(f'{lv:<8}{c:>16.7f}{pr:>18.7f}')

fig3, ax3 = plt.subplots(figsize=(8.5, 5.2))
xpos = np.arange(len(levels)); w = 0.38
b1 = ax3.bar(xpos - w/2, confound, w, color='#b0bec5', alpha=0.95,
             edgecolor='white', label='総人口との相関(交絡)')
b2 = ax3.bar(xpos + w/2, partial,  w, color='#5cb85c', alpha=0.95,
             edgecolor='white', label='偏相関:学習意欲との関係(総人口を除去)')
for b, v in list(zip(b1, confound)) + list(zip(b2, partial)):
    ax3.text(b.get_x() + b.get_width()/2, v + 0.01, f'{v:.3f}',
             ha='center', va='bottom', fontsize=9.5)
ax3.set_xticks(xpos); ax3.set_xticklabels(levels, fontsize=11)
ax3.set_ylim(0, 1)
ax3.set_ylabel('相関係数', fontsize=11)
ax3.set_title('図3: 教員一人当たり児童・生徒数と学習意欲【報告値の可視化】\n'
              '※ 再計算ではなく原論文の報告値。総人口の影響を除くと弱い正の偏相関',
              fontsize=12, fontweight='bold', pad=10)
ax3.legend(loc='upper right', fontsize=9.5)
ax3.grid(axis='y', alpha=0.3, linestyle='--')
ax3.set_facecolor('#FAFAFA')
plt.tight_layout()
fig3.savefig(os.path.join(FIG_DIR, '2021_H5_3_fig3.png'), bbox_inches='tight')
plt.close(fig3)
print('図3 保存完了(報告値の可視化)')
  • ④ 実行結果の読み取り:=== 学級規模:総人口の交絡と偏相関(原論文の報告値) === 学校種 総人口との相関 偏相関(学習意欲) 小学校 0.7324618 0.4840228 中学校 0.7046322 0.5989611 高等学校 0.7825836 0.5718934
学級規模の交絡と偏相関(報告値の可視化)
図3:教員一人当たり児童・生徒数と学習意欲。報告値の可視化(再計算ではない):灰色=総人口との相関(交絡)、緑=総人口を除いた偏相関。数値は原論文の報告値。
偏相関でわかったこと(原論文) 総人口の影響を除いても、教員一人当たり児童・生徒数と学習意欲は小・中・高すべてで弱い正の偏相関(+0.484/+0.599/+0.572)。つまり教員数が多い(=少人数)ことよりも、一緒に学ぶ仲間が多いことの方が学習意欲の向上に関係する、と著者は解釈している。グループワークなど学び合う環境づくりの提案につながる。
6
図4:学習意欲の都道府県ランキング(実再現)

原論文の図1は行動者率の地図ヒートマップだが、地図は再表現として扱い、ここでは同じ指標を都道府県ランキングの棒グラフにする。

やってみよう図4:学習意欲の都道府県ランキングを描く【実再現】
  • ① このコードの目的:学習意欲の代理指標(行動者率)を都道府県で並べ替え、ランキングの棒グラフにする。原論文の図1(地図ヒートマップ)を、収録データの実ランキングとして再表現する。
  • ② 前後のつながり:地図そのものは再現しないが、上位=都市部・下位=東北という原論文の傾向を実データで確かめられる。
📝 コード
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
# 図4【実再現】学習・自己啓発・訓練の行動者率 都道府県ランキング
# (原論文の図1(地図ヒートマップ)を、実データのランキングとして再表現)
# ══════════════════════════════════════════════════════════════
rank = d[['都道府県', YCOL]].dropna().sort_values(YCOL, ascending=True)
nat = d[YCOL].mean()
print()
print('=== 図4 学習・自己啓発・訓練 行動者率 都道府県ランキング(実再現・2021) ===')
top = rank.tail(5).iloc[::-1]
bot = rank.head(5)
print('▼ 上位5:')
for _, r in top.iterrows():
    print(f'  {r["都道府県"]:<6} {r[YCOL]:.1f}%')
print('▼ 下位5:')
for _, r in bot.iterrows():
    print(f'  {r["都道府県"]:<6} {r[YCOL]:.1f}%')
print(f'全国平均(47都道府県の平均): {nat:.1f}%')

fig4, ax4 = plt.subplots(figsize=(8.5, 11))
cmap = plt.cm.YlOrRd
norm = plt.Normalize(rank[YCOL].min(), rank[YCOL].max())
bar_colors = cmap(norm(rank[YCOL].values))
ax4.barh(range(len(rank)), rank[YCOL], color=bar_colors,
         edgecolor='white', linewidth=0.4)
ax4.set_yticks(range(len(rank)))
  • ④ 実行結果の読み取り:=== 図4 学習・自己啓発・訓練 行動者率 都道府県ランキング(実再現・2021) === ▼ 上位5: 東京都 52.8% 神奈川県 46.7% 京都府 43.5% 千葉県 42.0% 大阪府 41.3% ▼ 下位5: 青森県 25.4% 岩手県 28.9% 秋田県 29.2% 高知県 30.3% 山形県 31.1% 全国平均(47都道府県の平均): 35.9%
学習意欲の都道府県ランキング(実再現)
図4:学習・自己啓発・訓練の行動者率 都道府県ランキング(SSDSE-D 2021年調査、N=47)。実再現:原論文の図1(地図ヒートマップ)を実データのランキングで再表現。色が濃いほど高い。
📊 この図の読み方
上位
東京都・神奈川県・京都府・千葉県・大阪府といった大都市圏が並ぶ。進学で若者が集まる地域と重なる。
下位
青森県・岩手県・秋田県など東北が低い。原論文が「流出超過」と結びつけた地域。
位置づけ
実再現。地図は再現していないが、都市部で高いという原論文の主張を実データで確認できる。

結果の解釈(原論文「5. 分析結果の解釈」)

学習意欲を高める要素

強い正の相関(ρ≧0.85)を示したのは、音楽鑑賞・楽器の演奏・演芸鑑賞・読書。ρ≧0.70の遊園地等の見物・ゲーム・美術鑑賞も含め、共通するのは新しい知識や世界観に触れ、想像力を養える能動的な経験である。旅行やスポーツ時間とも弱い正の相関があり、経験の豊かさが学習意欲の向上に重要だと結論づけている。

学習意欲の平等性

エンゲル係数(所得の余裕)は無相関だった一方、教育費・教養娯楽費とは正の相関。金銭的余裕の有無より、家庭が教育・教養に積極的かどうかが効くと解釈している。また森林面積割合は弱い負の相関だが、田・畑の割合は無相関で、「田舎」でも他の要素で学習意欲は高められるとまとめている。

日本の教育システムへの示唆

著者は2点を提案する。(1) 学びの内容:学業時間が学習意欲と負の相関だったことから、芸術鑑賞や校外学習を増やし、事前・事後学習を評価するなど「楽しい・面白い」学びを増やす。読書の推奨や図書館の活用法を学校で伝える。(2) 授業形式:偏相関で「一緒に学ぶ仲間の多さ」が効いたことから、ディスカッションやグループワークを増やし、生徒同士が学び合う環境をつくる。

外部資料の引用図について 原論文には、大学進学時の流入・流出率の地図(図1)や各散布図(図2〜10)が含まれる。地図・散布図の一部は本ページで再表現・実再現したが、原論文の体裁そのものはグラフは原論文(PDF)を参照のこと。

まとめ

学習意欲の差は、能動的な趣味や芸術活動などの豊かな経験と強く結びついていた。強制的な学業時間や、所得の余裕、自然環境、図書館の数そのものは、学習意欲への影響が小さい。日本の教育では、読書の推奨・図書館の活用・グループワークなど、他者と学び合い、楽しく学べる環境づくりが有効だと著者は結論づけた。

この研究の限界(原論文) 明確な目標の有無や自尊感情など、数値で測れない要因は分析に含められていない。相関の発見にとどまり、因果や要因の解明、具体的な改善案の提示は今後の課題としている。
この研究から学べること 「学習意欲」という測りにくい概念を行動者率で代理し、多面的な公開統計と相関・無相関検定・偏相関という基本手法で定量化する姿勢。そして「相関があっても因果ではない」という慎重な読み方。

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

このページの行動者率どうしの相関(図2・図4)は、以下から再現できます。

🐍 再現コード(.py) 📊 SSDSE-D-2023.csv

※ エンゲル係数・教育費・図書館数・森林/田畑・学級規模などの相関・偏相関は、原論文の報告値(2016年)を可視化したものです(図1・図3)。収録 SSDSE-D は2021年調査のため、図2・図4の再計算値は報告値と完全には一致しません。

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

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

誤解1:「行動者率が高い=学習意欲が高い、と断定できる」
行動者率はあくまで学習意欲の代理指標。過去1年に学びの活動をした人の割合であり、意欲そのものの測定ではない。代理指標の限界を意識して読む必要がある。
誤解2:「相関がある=原因である」
読書と学習意欲に強い相関(報告値 ρ=0.869)があっても、読書が意欲を生むとは限らない。意欲の高い人が読書もする、あるいは背後の別要因(都市度・教育環境)が両方を動かす可能性がある。
誤解3:「相関係数が小さくても関係はある」
エンゲル係数(+0.246, p=0.096)や田・畑の割合は、無相関の検定無相関性を棄却できなかった。p値が大きいものを「関係あり」と読まないこと。原論文が|ρ|≦0.5の指標をp値で確かめたのは適切な姿勢。
誤解4:「単純相関だけで学級規模を語れる」
教員一人当たり児童・生徒数は総人口と強く連動(交絡)している。総人口を取り除いた偏相関で見ないと、見かけの相関を実態と取り違える。

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

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

相関係数
2つの数量が「一緒に増減する強さと向き」を −1〜+1 で表す指標(Pearson)。本研究は|ρ|≧0.7を強い相関、0.5前後を弱い相関の目安とした。
無相関の検定(p値)
「本当は相関がない」という帰無仮説のもとで、観測された相関が偶然生じる確率。p≧0.05なら「無相関を棄却できない」。
散布図
2変数を点で描き、関係の形(右肩上がり/下がり)を目で確かめる図。
SSDSE
独立行政法人統計センターが公開する教育用標準データセット。SSDSE-B は都道府県別、SSDSE-D は都道府県別の生活行動・生活時間データ。
偏相関係数
第3の変数(交絡)の影響を取り除いたうえでの2変数の相関。本研究では総人口の影響を除いて学級規模と学習意欲の関係を見た。
交絡
2変数の見かけの関係を生む背後の第3変数。ここでは「総人口」が学級規模指標と連動していた。

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

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

全体像
測りにくい「学習意欲」を行動者率で代理 → 散布図で目視 → 相関係数で数値化 → |ρ|が小さいものは無相関の検定で確認 → 交絡が疑われたら偏相関で確かめる。基本手法だけで多面的に迫るのが見どころ。
🔗 相関分析(Pearson)
何をする
2変数が一緒に増減するかを −1〜+1 で数値化する。
読み方
正なら同方向、負なら逆方向。本研究は|ρ|≧0.7を強い相関、0.5前後を弱い相関の目安とした。
注意(統計センター資料より)
相関は因果ではない。外れ値やサンプル数(N=47)に左右される。散布図での目視確認とセットで使う。
🎲 無相関の検定
何をする
「本当は相関がない(ρ=0)」という帰無仮説を検定し、p値を求める。
なぜ必要
相関係数が小さいとき、それが偶然か本物かを判断するため。本研究は|ρ|≦0.5の指標で実施。
読み方
p≧0.05なら「無相関を棄却できない」=関係があるとは言えない(例:エンゲル係数 p=0.096)。
🧩 偏相関分析
何をする
交絡変数(ここでは総人口)の影響を統計的に取り除いてから相関を測る。
なぜ必要
教員一人当たり児童・生徒数が総人口と強く連動(小0.73・中0.70・高0.78)しているため。
効果
総人口を除くと、学習意欲との偏相関は+0.484〜+0.599の弱い正に落ち着いた。

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

この研究の「相関は見つけたが要因は不明」という結論は、次の研究の出発点になる。

発展1:測れない要因を取り込む
結果X
相関の強い趣味・芸術に共通するのは「能動的な経験」だが、意欲そのものは測れていない。
新仮説Y
効いているのは活動の種類より「明確な目標の有無」や「自尊感情」ではないか。
課題Z
アンケート指標(目標・自己効力感)を加え、重回帰や構造方程式で検証する。
発展2:都市度という交絡を統制する
結果X
行動者率は都市部で高く、多くの趣味指標も都市部で高い。見かけの相関かもしれない。
新仮説Y
趣味と学習意欲の相関は「人口密度・所得・進学率」など都市度の交絡で説明できるのでは。
課題Z
SSDSE-B の人口密度・所得を統制した偏相関・重回帰で、趣味の効果が残るか確かめる。

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

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

★☆☆☆☆ 難易度1
別の趣味の相関を再計算する
D_COLS に「テレビ・ラジオ・新聞・雑誌」や「睡眠」を加えて、負の相関が再現するか確かめよう。
★★☆☆☆ 難易度2
散布図の変数を差し替える
図2の xcol を「楽器の演奏」に変えて、読書のとき(r=0.893)と傾きや相関がどう変わるか比べよう。
★★★☆☆ 難易度3
行動者率ランキングの上位・下位を出す
d.nlargest(5, YCOL)d.nsmallest(5, YCOL) で上位・下位5県を出し、大学進学の流入・流出県と重なるか調べよう。
★★★★☆ 難易度4
無相関の検定を自分でやる
scipy.stats.pearsonr が返す p値を使い、|r|の小さい指標が「無相関を棄却できるか」を判定してみよう。
★★★★★ 難易度5
偏相関を実装する
SSDSE-B の総人口を加え、pingouin.partial_corr などで「趣味×学習意欲(総人口を統制)」を計算し、都市度の交絡でどれだけ相関が減るか調べよう。
ヒント:偏相関は「2変数それぞれを総人口で回帰した残差どうしの相関」。まずは1つの趣味で試す。

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

「測りにくい概念を代理指標で数値化し、相関・偏相関で関係を切り分ける」発想は、現場でも広く使われている。

🎓
教育政策・EBPM
学力調査や生活調査の指標を組み合わせ、学習環境と成果の関係を分析して施策の優先順位を決める。
📊
世論・社会調査
「幸福度」「信頼」など測りにくい概念を複数の代理指標で捉え、交絡を偏相関で調整して要因を探る。
🏙️
地域・自治体分析
都道府県別の公開統計から地域差の要因を洗い出し、都市度などの交絡を統制して政策効果を見積もる。

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

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

Q. 「学習意欲」をどうやって数値にしたのですか?
A. SSDSE-D の「学習・自己啓発・訓練(総数)の行動者率」——過去1年に自由時間で学びの活動をした10歳以上の人の割合——を代理指標にしています。意欲そのものではなく、その現れとしての行動割合です。
Q. このページの図は原論文と同じ数値ですか?
A. 一部だけ実再現です。読書との相関(図2)と行動者率ランキング(図4)は SSDSE-D から実際に計算した実データ(ただし2021年調査)。相関一覧(図1)と学級規模の偏相関(図3)は、SSDSE-D 単独では再現できないため原論文の報告値(2016年)を可視化したものです。図注に二重に明記しています。
Q. 再計算した読書の相関(0.893)が報告値(0.869)と違うのは失敗ですか?
A. 失敗ではありません。収録データが2021年調査、原論文が2016年調査という調査年の違いによるものです。値は少し違っても「強い正の相関」という結論はしっかり再現できています。
Q. なぜ睡眠時間が長いほど学習意欲が低い(負の相関)のですか?
A. 原論文は「意欲の高い人が睡眠を削って学びに充てている」可能性を挙げています。睡眠を増やせば意欲が上がるという因果ではなく、相関にとどまる点に注意が必要です。

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

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

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

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

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