この教材は原論文と同じデータを読み込み、同じ手順で計算し直しています。画面に出る数値と図は、あなたのブラウザがその場で計算した結果です。
| 原論文が使ったデータ | SSDSE-B・SSDSE-D・社会教育調査・全国都道府県市区町村別面積調・国勢調査・農林業構造統計・固定資産の価格等の概要調書 分析単位:都道府県 中核手法:相関分析 |
|---|---|
| この教材が使うデータ |
|
| 原論文(PDF) | 学習意欲を高めるために ~日本の教育を見直す~ 特別賞/遠藤 沙恵(慶應義塾湘南藤沢高等部) |
原論文と同じ粒度のデータは、この教材にも同梱しています。これを読み込めば、原論文と同じ細かさで分析をやり直せます(下の「🐍 ブラウザで動かす」でコードを書き換えて試せます)。ただし原論文が使った項目がすべて収録されているとは限りません。足りない項目は、上の「できないこと」に書いた出典から取ってくる必要があります。
▶ ここに書いてある分析は、ページ下部の「🐍 ブラウザで動かす」でそのまま実行できます(インストール不要)。動かしているのは code/2021_H5_3_shorei.py(297 行)そのものです。
このページの行動者率どうしの相関(図2・図4)は、以下の手順で自分で再現できます。コードの編集は不要です。(エンゲル係数・教育費・図書館数・森林/田畑・学級規模などは SSDSE-D 単独では再現できないため、これらの相関係数は原論文の報告値を可視化します。)
data/raw/ フォルダに入れます。html/figures/ に自動保存されます。
いまの日本では多くの大学が大都市圏にあり、進学のたびに地方から若者が出ていく。著者は文部科学省「学校基本統計」から、大学進学時の都道府県別 流入・流出率に注目した。京都・東京では流入率が70%を超える一方、香川では流出率が31.3%に達する。しかも「学習・自己啓発・訓練の行動者率」上位13県のうち9県が流入超過の都道府県と重なっていた。
そこで著者は「大学進学時に若者が多く集まる都会ほど学習意欲が高いのではないか」と考えた。 では人々の学習意欲の差は何によって生まれ、どうすれば高められるのか。 本研究はこの問いを軸に、都道府県別の統計データで学習意欲に影響する要素を相関分析で探る。
高校生の部 SSDSE-D / SSDSE-B 社会教育調査・固定資産概要調書ほか 相関分析・無相関の検定 偏相関分析
| 分類 | おもな項目 | 出典(原論文) |
|---|---|---|
| 学習意欲の代理指標/趣味・生活時間 | 学習・自己啓発・訓練(総数)、読書・音楽鑑賞・楽器・美術鑑賞・演芸・遊園地・ゲーム・旅行の行動者率、睡眠・学業・テレビ等・スポーツの生活時間 | SSDSE-D(2016年・集計対象10歳以上) |
| 人口・教育・家計 | 総人口、小中高の教員数・児童生徒数、消費支出・食料費・教育費・教養娯楽費 | SSDSE-B(2016年、総人口のみ2015年も使用) |
| 図書館 | 図書館数 | 社会教育調査(2015年) |
| 面積・森林・土地 | 総面積(北方地域・竹島を除く)、森林面積、評価総地積(課税対象・田・畑) | 面積調・国勢調査(2014年)/農林業センサス(2014年)/固定資産の価格等の概要調書(2016年) |
| 指標名 | 計算方法 |
|---|---|
| エンゲル係数(%) | 食料費 ÷ 消費支出 × 100 |
| 小・中・高の教員一人当たり児童・生徒数 | 児童・生徒数 ÷ 教員数 |
| 人口100万人当たりの図書館数 | 図書館数 ÷ 総人口 |
| 森林面積割合(%) | 森林面積 ÷ 総面積(北方地域・竹島を除く) |
| 評価総地積割合(田/畑)(%) | 評価総地積(田/畑)÷ 評価総地積(課税対象土地) |
原論文の判定:相関係数の絶対値が0.5以下のものは無相関の検定(p値)で確かめた。|ρ|≧0.7を「強い相関」、0.5前後を「弱い相関」の目安として読み解いている。
まず、学習意欲の代理指標を SSDSE-D から読み込み(実データ)、続いて原論文が報告した相関係数を辞書に写し取る(報告値の転記)。この2つを分けて扱うのが再現の要である。
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}% ' |
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 '' |
4観点19指標の相関係数を1枚に並べる。棒の色は観点、点線は|ρ|=0.5の目安。この図は再計算ではなく、原論文の報告値をそのまま可視化したものである。
原論文で最も強い相関のひとつが「読書」。読書の行動者率は SSDSE-D に収録されているので、実データで確かめられる。まず再計算で相関を確認し、散布図にする。
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('→ 趣味・娯楽の行動者率は調査年が違っても強い正の相関がおおむね再現される。') |
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()})') |
原論文は学習意欲に影響しそうな要素を①安定した生活 ②教育 ③趣味/娯楽 ④自然環境の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.73・中0.70・高0.78)。そこで総人口の影響を取り除いた偏相関で、本当の関係を確かめる。
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 保存完了(報告値の可視化)') |
原論文の図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))) |
強い正の相関(ρ≧0.85)を示したのは、音楽鑑賞・楽器の演奏・演芸鑑賞・読書。ρ≧0.70の遊園地等の見物・ゲーム・美術鑑賞も含め、共通するのは新しい知識や世界観に触れ、想像力を養える能動的な経験である。旅行やスポーツ時間とも弱い正の相関があり、経験の豊かさが学習意欲の向上に重要だと結論づけている。
エンゲル係数(所得の余裕)は無相関だった一方、教育費・教養娯楽費とは正の相関。金銭的余裕の有無より、家庭が教育・教養に積極的かどうかが効くと解釈している。また森林面積割合は弱い負の相関だが、田・畑の割合は無相関で、「田舎」でも他の要素で学習意欲は高められるとまとめている。
著者は2点を提案する。(1) 学びの内容:学業時間が学習意欲と負の相関だったことから、芸術鑑賞や校外学習を増やし、事前・事後学習を評価するなど「楽しい・面白い」学びを増やす。読書の推奨や図書館の活用法を学校で伝える。(2) 授業形式:偏相関で「一緒に学ぶ仲間の多さ」が効いたことから、ディスカッションやグループワークを増やし、生徒同士が学び合う環境をつくる。
学習意欲の差は、能動的な趣味や芸術活動などの豊かな経験と強く結びついていた。強制的な学業時間や、所得の余裕、自然環境、図書館の数そのものは、学習意欲への影響が小さい。日本の教育では、読書の推奨・図書館の活用・グループワークなど、他者と学び合い、楽しく学べる環境づくりが有効だと著者は結論づけた。
このページの行動者率どうしの相関(図2・図4)は、以下から再現できます。
🐍 再現コード(.py) 📊 SSDSE-D-2023.csv
※ エンゲル係数・教育費・図書館数・森林/田畑・学級規模などの相関・偏相関は、原論文の報告値(2016年)を可視化したものです(図1・図3)。収録 SSDSE-D は2021年調査のため、図2・図4の再計算値は報告値と完全には一致しません。
この研究を読むとき・まねするときに陥りやすい誤解を整理する。
クリックすると各用語の詳しい解説ページに移動できます。
この研究で使われている手法を、手を動かす順に説明する。
この研究の「相関は見つけたが要因は不明」という結論は、次の研究の出発点になる。
再現コードを少し変えるだけで試せる課題を、易しい順に用意した。
D_COLS に「テレビ・ラジオ・新聞・雑誌」や「睡眠」を加えて、負の相関が再現するか確かめよう。xcol を「楽器の演奏」に変えて、読書のとき(r=0.893)と傾きや相関がどう変わるか比べよう。d.nlargest(5, YCOL) と d.nsmallest(5, YCOL) で上位・下位5県を出し、大学進学の流入・流出県と重なるか調べよう。scipy.stats.pearsonr が返す p値を使い、|r|の小さい指標が「無相関を棄却できるか」を判定してみよう。pingouin.partial_corr などで「趣味×学習意欲(総人口を統制)」を計算し、都市度の交絡でどれだけ相関が減るか調べよう。「測りにくい概念を代理指標で数値化し、相関・偏相関で関係を切り分ける」発想は、現場でも広く使われている。
この研究を読んで浮かびやすい疑問に答える。
この論文を理解できたか、クリックで確認しましょう。間違えても解説が出ます。
このページの分析は、この画面の中でそのまま実行できます。
Python をインストールする必要も、CSV をダウンロードする必要もありません。
下のセルの 「▶ ブラウザで実行」 を上から順に押すか、
「▶ 最初から全部実行」 で一気に流してください。
表示されるのは、本文の図表とまったく同じ計算の結果です
(動かしているのは再現スクリプト code/2021_H5_3_shorei.py そのもの)。
コードは書き換えられます。「✏️ 書き換える」で数字や変数を変えて ▶ を押すと、 結果がどう変わるかをその場で確かめられます(元に戻すボタンつき)。 ページを開いた時点で裏で実行環境の準備が始まっているので、待ち時間はほとんどありません。 初回だけ実行環境の取得にインターネット接続が必要です。