この教材は原論文と同じデータを読み込み、同じ手順で計算し直しています。画面に出る数値と図は、あなたのブラウザがその場で計算した結果です。
⚠ ただし一部は再現していません:テストスコアと ICT 環境変数が SSDSE-B に未収録のため、 原論文の推定そのものは再現していません。 図4 は SSDSE 収録の対照変数のみによる実再現です。
| 原論文が使ったデータ | SSDSE-B・全国学力・学習状況調査・教育の情報化実態調査・地方財政状況調査・市町村税課税状況等の調査・学校基本調査 分析単位:都道府県 中核手法:パネルデータ分析・固定効果モデル |
|---|---|
| この教材が使うデータ |
|
| 原論文(PDF) | 教育のICT化が生徒の学力に与える影響の分析 特別賞/深井 宗一郎(株式会社浜銀総合研究所) |
▶ ここに書いてある分析は、ページ下部の「🐍 ブラウザで動かす」でそのまま実行できます(インストール不要)。動かしているのは code/2021_U5_4_shorei.py(337 行)そのものです。
このページの対照変数の実再現(図4)は、以下の手順で自分で再現できます。コードの編集は不要です。(回帰係数=図1・交互作用=図2・相関行列=図3は、テストスコアやICT環境データがSSDSEに無いため、原論文の報告値を可視化します。)
data/raw/ フォルダに入れます。html/figures/ に自動保存されます。
GIGAスクール構想に象徴されるように、政府主導で教育のICT化が進められている。タブレット・電子黒板・デジタル教科書といったハード整備が全国で進む一方、それを使いこなす教員のICT活用指導力の向上(研修などのソフト面)には自治体間で大きな差がある。税金を投じるからには、「ICT化は本当に学力を上げるのか」をEBPM(証拠に基づく政策立案)の観点で検証すべきだ、というのが本研究の出発点である。
著者は、文科省が挙げるICT化の3側面(①情報教育/②教科指導におけるICT活用/③校務の情報化)のうち②教科指導におけるICT活用に着目する。そして効果をハード面(機器の整備)とソフト面(教員の指導力)の2経路に分け、さらに両者の相乗効果(交互作用)まで検証した。ハードだけ入れても効果が出ないなら、研修と併用すべきか——という政策判断に直結する問いである。
大学生・一般の部 全国学力・学習状況調査 固定効果パネル分析 交互作用項 EBPM
被説明変数は全国学力・学習状況調査のテストスコア(小6・中3の都道府県平均、国語A・B/数学A・B)。説明変数のICT指標は教育の情報化実態調査から取得する。対照変数はSSDSE-B-2021と e-Stat(学校基本調査・家計調査・地方財政状況調査・課税状況調査)から作成した。都道府県×調査年度×小中区分をキーに結合し、最大サンプル数は 47×6年×2区分 − 欠損(2016年熊本の小中2つ)=562。
| 区分 | 変数 | 出典 | SSDSE収録 |
|---|---|---|---|
| 被説明変数 | テストスコア 国語A・B/数学A・B | 全国学力・学習状況調査 | ×(未収録) |
| 説明変数(ハード) | 教育用PC1台当たり児童数/1学校当たり電子黒板整備台数/デジタル教科書整備率 | 教育の情報化実態調査 | ×(未収録) |
| 説明変数(ソフト) | 教員のICT研修受講率/ICT活用指導力に自信のある教員の割合 | 教育の情報化実態調査 | ×(未収録) |
| 対照変数 | 1学校教員当たりの児童・生徒数/消費支出に占める教育費の割合 | 学校基本調査・家計調査(SSDSE-B*) | ◯(収録) |
| 対照変数 | 都道府県財政に占める教育費の割合/納税者1人当たり課税所得 | 地方財政状況調査・課税状況調査 | ×(未収録) |
各都道府県に固有の事情(αi)と各年に固有の事情(δt)を固定効果として取り除き、観測できない欠落変数をコントロールする。式は Yit = αi + δt + βXit + γCit + εit。X はICT指標、C は対照変数。著者は「一定の仮定の下で固定効果推定はDID推定量に類似する」と位置づける。
説明変数間の相関(表4)を避けるため、ハードICT指標(教育用PC/電子黒板/デジタル教科書)を1つずつ別モデルに入れ、教科(国語A・B/数学A・B)別に推定する。標準誤差はクラスターに頑健なもの、R²は固定効果推定全体の決定係数を報告している。
ハード指標とソフト指標(研修受講率・ICT活用指導力)の積を説明変数に加える。交互作用が正なら「ソフト面を高めるほどハードの効果が改善する(=ハード単独のマイナスを緩和する)」ことを示す。交互作用が有意になったモデルのみ掲載されている。
原論文の表5(国語A・B)・表6(数学A・B)から、ハード面ICT指標3つ(教育用PC1台当たり児童数・電子黒板整備台数・デジタル教科書整備率)の固定効果推定値を教科別に整理する。この図は再計算ではなく、テストスコア・ICT環境変数に基づく原論文の報告値(PDF原本の表5・表6)をそのまま転記・可視化したものである。
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 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | hard_report = { '教育用PC1台\n当たり児童数': { # 期待符号 − '国語A': (0.147, ''), '国語B': (-0.147, ''), '数学A': (-4.410, '*'), '数学B': (0.024, ''), 'expect': '-', }, '1学校当たり\n電子黒板整備台数': { # 期待符号 + '国語A': (-3.268, '***'), '国語B': (-2.780, '**'), '数学A': (0.017, ''), '数学B': (2.660, '*'), 'expect': '+', }, 'デジタル教科書\n整備率': { # 期待符号 + '国語A': (-0.435, '***'), '国語B': (0.028, ''), '数学A': (0.035, '*'), '数学B': (0.043, '*'), 'expect': '+', }, } def sign_ok(coef, sig, expect): """有意かつ期待符号と一致すれば True(望ましい)、有意かつ逆なら False(望ましくない)、非有意は None。""" if sig == '': return None matched = (coef > 0 and expect == '+') or (coef < 0 and expect == '-') return matched print("\n=== [2] 原論文 表5・表6 の固定効果推定値(ハードICT指標)【報告値の可視化】===") print("※係数はPDF原本の報告値。SSDSEにテストスコア・ICT環境が無いため再計算ではない。") print(f"{'指標':<24}{'期待':<6}" + "".join(f"{s:<10}" for s in subjects)) for var, dd in hard_report.items(): label = var.replace('\n', '') row = f"{label:<22}{'('+dd['expect']+')':<6}" for s in subjects: c, sg = dd[s] row += f"{c:>6.3f}{sg:<4}" print(row) print("判定: 数学=デジタル教科書が数学A・Bとも望ましい方向(+,有意)。教育用PC1台当たり児童数は") print(" 数学Aで望ましい方向(-4.410*)。国語=電子黒板(-3.268***)・デジタル教科書(-0.435***)が") print(" 期待と逆=ハード整備が国語で逆効果の可能性。ICT機器の効果は教科によって異なる。") # ============================================================================== # パート3:原論文 表5・表6 の交互作用項(報告値の可視化) # ハード面×ソフト面(教員のICT活用指導力・研修受講率)の相乗効果。 |
=== [2] 原論文 表5・表6 の固定効果推定値(ハードICT指標)【報告値の可視化】===
※係数はPDF原本の報告値。SSDSEにテストスコア・ICT環境が無いため再計算ではない。
指標 期待 国語A 国語B 数学A 数学B
教育用PC1台当たり児童数 (-) 0.147 -0.147 -4.410* 0.024
1学校当たり電子黒板整備台数 (+) -3.268*** -2.780** 0.017 2.660*
デジタル教科書整備率 (+) -0.435*** 0.028 0.035* 0.043*
判定: 数学=デジタル教科書が数学A・Bとも望ましい方向(+,有意)。教育用PC1台当たり児童数は
数学Aで望ましい方向(-4.410*)。国語=電子黒板(-3.268***)・デジタル教科書(-0.435***)が
期待と逆=ハード整備が国語で逆効果の可能性。ICT機器の効果は教科によって異なる。
本研究の核心であるハード面×ソフト面(教員のICT活用指導力・研修受講率)の交互作用項を、表5・表6から転記して可視化する。交互作用項も再計算できないため、原論文の報告値の転記である。
155 156 157 158 159 160 161 162 163 | interactions = [ ('国語A: 電子黒板 × 指導力', 0.039, '***'), ('国語A: デジタル教科書 × 指導力', 0.005, '***'), ('国語B: 電子黒板 × 指導力', 0.035, '**'), ('数学A: 教育用PC × 指導力', 0.066, '*'), ('数学A: 電子黒板 × 研修受講率', 1.023, '*'), ('数学A: 電子黒板 × 指導力', -0.039, '**'), ] print("\n=== [3] 原論文 表5・表6 の交互作用項【報告値の可視化】===") |
=== [3] 原論文 表5・表6 の交互作用項【報告値の可視化】=== ※正=ハードのみのネガティブ影響を緩和する方向、負=悪化させる方向。すべて報告値。 国語A: 電子黒板 × 指導力 +0.039*** → 緩和(+) 国語A: デジタル教科書 × 指導力 +0.005*** → 緩和(+) 国語B: 電子黒板 × 指導力 +0.035** → 緩和(+) 数学A: 教育用PC × 指導力 +0.066* → 緩和(+) 数学A: 電子黒板 × 研修受講率 +1.023* → 緩和(+) 数学A: 電子黒板 × 指導力 -0.039** → 悪化(-) 国語では指導力との交互作用が正=ソフト面整備がハードのネガティブ影響を緩和する可能性。 数学Aでは教育用PC×指導力は正だが、電子黒板×指導力は負=相乗効果も教科で異なる。
審査会が指摘した「説明変数間の連関」を確認するため、原論文の表4(9説明変数の相関行列)をヒートマップに再表現する。ICT環境変数がSSDSE-Bに無いため再計算はできず、表4の報告値の転記である。
179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | # 表4(下三角)の報告値を対称行列に展開 lower = { (1, 0): 0.482, (2, 0): -0.14, (2, 1): -0.222, (3, 0): 0.632, (3, 1): 0.408, (3, 2): -0.097, (4, 0): 0.411, (4, 1): 0.292, (4, 2): -0.22, (4, 3): 0.561, (5, 0): 0.2, (5, 1): 0.006, (5, 2): 0.76, (5, 3): 0.209, (5, 4): 0.038, (6, 0): 0.205, (6, 1): 0.084, (6, 2): 0.285, (6, 3): 0.163, (6, 4): 0.084, (6, 5): 0.363, (7, 0): 0.147, (7, 1): -0.049, (7, 2): 0.316, (7, 3): 0.192, (7, 4): 0.156, (7, 5): 0.409, (7, 6): 0.252, (8, 0): 0.124, (8, 1): -0.214, (8, 2): 0.467, (8, 3): 0.157, (8, 4): 0.067, (8, 5): 0.646, (8, 6): 0.212, (8, 7): 0.511, } n = 9 corr_mat = np.eye(n) for (i, j), v in lower.items(): corr_mat[i, j] = v corr_mat[j, i] = v print("\n=== [4] 原論文 表4 の説明変数間相関行列【報告値の可視化】===") print("※値はすべてPDF原本の報告値。強い相関は 電子黒板×研修受講率 0.632、教育用PC×児童生徒数 0.76 など。") |
=== [4] 原論文 表4 の説明変数間相関行列【報告値の可視化】=== ※値はすべてPDF原本の報告値。強い相関は 電子黒板×研修受講率 0.632、教育用PC×児童生徒数 0.76 など。 最大相関(絶対値): 教員当児童生徒数 × 教育用PC/児童数 = 0.760 審査会コメント: 説明変数間の連関を考慮した解釈が必要(多重共線性への注意)。
以下の係数・符号はすべて原論文(表5・表6)の報告値である。
| ハード指標 | 国語A | 国語B | 数学A | 数学B | 解釈 |
|---|---|---|---|---|---|
| 教育用PC1台当たり児童数 (期待:負) | 0.147 | -0.147 | -4.410* | 0.024 | 数学Aで望ましい方向(児童数が少ないほど高得点) |
| 1学校当たり電子黒板整備台数 (期待:正) | -3.268*** | -2.780** | 0.017 | 2.660* | 国語で逆効果、数学Bで望ましい方向。単元で逆転 |
| デジタル教科書整備率 (期待:正) | -0.435*** | 0.028 | 0.035* | 0.043* | 数学は望ましい、国語Aは逆効果 |
交互作用項(報告値):国語A 電子黒板×指導力 0.039***・デジタル教科書×指導力 0.005***、国語B 電子黒板×指導力 0.035**、数学A 教育用PC×指導力 0.066*・電子黒板×研修受講率 1.023*・電子黒板×指導力 −0.039**。R²は国語Aで0.768〜0.781、数学Bで0.75〜0.752 と、固定効果込みで高い説明力を示す。
原論文の中核(テストスコア×ICT環境変数の固定効果回帰)はSSDSEに無いデータを使うため再現できない。しかし原論文が対照変数としてSSDSE-B(学校基本調査・家計調査)から作った2変数だけは、SSDSE-B-2026で実際に計算できる。まず読み込んで作る。
skiprows=[1] で読み込み、年度列 SSDSE-B-2026 で2023年の47都道府県を残す。原論文が学校基本調査・家計調査(表1で*印)から作った対照変数、消費支出に占める教育費の割合(教育費÷消費支出×100)と小中1学校教員当たりの児童・生徒数((小児童+中生徒)÷(小教員+中教員))を実際に計算する。54 55 56 57 58 59 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 | df_b = pd.read_csv(DATA_B, encoding='cp932', skiprows=[1]) d = df_b[df_b['SSDSE-B-2026'] == 2023].copy().reset_index(drop=True) assert len(d) == 47, f"47都道府県を期待したが {len(d)} 行" d['都道府県'] = d['Prefecture'] d['教育費割合'] = d['L322108'] / d['L3221'] * 100 # 消費支出に占める教育費の割合(%) d['教員当児童生徒数'] = (d['E2501'] + d['E3501']) / (d['E2401'] + d['E3401']) region_map = { '北海道': '北海道・東北', '青森県': '北海道・東北', '岩手県': '北海道・東北', '宮城県': '北海道・東北', '秋田県': '北海道・東北', '山形県': '北海道・東北', '福島県': '北海道・東北', '茨城県': '関東', '栃木県': '関東', '群馬県': '関東', '埼玉県': '関東', '千葉県': '関東', '東京都': '関東', '神奈川県': '関東', '新潟県': '中部', '富山県': '中部', '石川県': '中部', '福井県': '中部', '山梨県': '中部', '長野県': '中部', '岐阜県': '中部', '静岡県': '中部', '愛知県': '中部', '三重県': '近畿', '滋賀県': '近畿', '京都府': '近畿', '大阪府': '近畿', '兵庫県': '近畿', '奈良県': '近畿', '和歌山県': '近畿', '鳥取県': '中国・四国', '島根県': '中国・四国', '岡山県': '中国・四国', '広島県': '中国・四国', '山口県': '中国・四国', '徳島県': '中国・四国', '香川県': '中国・四国', '愛媛県': '中国・四国', '高知県': '中国・四国', '福岡県': '九州・沖縄', '佐賀県': '九州・沖縄', '長崎県': '九州・沖縄', '熊本県': '九州・沖縄', '大分県': '九州・沖縄', '宮崎県': '九州・沖縄', '鹿児島県': '九州・沖縄', '沖縄県': '九州・沖縄' } region_colors = { '北海道・東北': '#4e9af1', '関東': '#e05c5c', '中部': '#f0a500', '近畿': '#5cb85c', '中国・四国': '#9b59b6', '九州・沖縄': '#f39c12' } d['地域'] = d['都道府県'].map(region_map) r_ctrl, p_ctrl = stats.pearsonr(d['教育費割合'], d['教員当児童生徒数']) |
=== [1] SSDSE-B 対照変数の実再現(2023年断面・47都道府県)=== 原論文が学校基本調査・家計調査(表1で*印)から作成した対照変数を SSDSE-B-2026 で再現。 被説明変数(学力テスト)とICT環境変数は SSDSE 未収録のため、ここでは再現できない。 消費支出に占める教育費の割合(%) : 平均 3.19 最小 1.59 最大 7.08 小中1学校教員当たりの児童・生徒数(人): 平均 12.77 最小 9.68 最大 16.49 参考)原論文 表3 の平均は 3.77 / 13.84(2013-2018パネル・小中区分別) 2変数の相関: 再計算 r = 0.580 (p = 0.0000, N=47) 教育費割合 上位: 東京都(7.08), 神奈川県(5.77), 京都府(5.53) 教育費割合 下位: 秋田県(1.59), 長崎県(1.68), 鳥取県(1.81)
原論文の2つの対照変数を都道府県別に散布図にして、実データで再現する。これはSSDSE収録の対照変数のみの実再現で、被説明変数(テストスコア)やICT環境変数の再現ではない点に注意する。
304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 | fig4, ax4 = plt.subplots(figsize=(10, 7.5)) for region, color in region_colors.items(): m = d['地域'] == region ax4.scatter(d.loc[m, '教育費割合'], d.loc[m, '教員当児童生徒数'], c=color, label=region, s=80, zorder=3, edgecolors='white', linewidths=0.6) for _, row in d.iterrows(): name = (row['都道府県'].replace('県', '').replace('府', '') .replace('都', '').replace('道', '')) ax4.annotate(name, (row['教育費割合'], row['教員当児童生徒数']), fontsize=7.5, ha='center', va='bottom', xytext=(0, 4), textcoords='offset points', color='#333') # 回帰直線(実データ) b1, b0 = np.polyfit(d['教育費割合'], d['教員当児童生徒数'], 1) xs = np.linspace(d['教育費割合'].min(), d['教育費割合'].max(), 50) ax4.plot(xs, b0 + b1 * xs, color='#444', ls='--', lw=1.5, zorder=2, label=f'回帰直線 (r={r_ctrl:.3f})') ax4.set_xlabel('消費支出に占める教育費の割合(%) ※SSDSE-B 実再現', fontsize=11) ax4.set_ylabel('小中1学校教員当たりの児童・生徒数(人) ※SSDSE-B 実再現', fontsize=11) |
ICT機器の効果は教科で異なるため、限られた機器は効果の高い教科・単元に重点配分すべき、と著者は提言する。例えば電子黒板が有限なら、望ましい効果が出た数学(さらに応用的な単元)に重点的に割り振る、といった有限リソースの効率的配分である。
ハード整備が進んだ自治体では、交互作用が示すように教員のICT活用指導力を高めることでハードの効果を引き出せる可能性がある。ただし「研修を受けさせる」だけでは不十分で、研修の結果として指導力が実際に身につくことが重要だと強調する。ジョン・ハッティ(2018)を引き、エビデンスに基づく質の高い研修の必要性を述べる。
本研究は、都道府県×小中×2013-2018年のパネルに固定効果モデルを適用し、教育のICT化(ハード面・ソフト面)が学力に与える影響と両者の相乗効果を検証した。ICT機器の効果は教科で正反対(数学は望ましく、国語は電子黒板・デジタル教科書が逆効果)で、ハード単独では逆効果になりうること、しかしソフト面(指導力)との交互作用がそれを緩和しうることを示した点に価値がある。
このページの対照変数の実再現(図4)は、以下から再現できます。
🐍 再現コード(.py) 📊 SSDSE-B-2026.csv
※ 回帰係数(図1)・交互作用(図2)・相関行列(図3)は、テストスコア(全国学力調査)とICT環境変数(教育の情報化実態調査)がSSDSE-Bに収録されていないため、原論文 表4・表5・表6の報告値を可視化したものです(再計算ではありません)。図4は原論文の対照変数のみの実再現で、2023年断面・都道府県粒度であり、原論文の2013-2018パネル分析とは年次・粒度が異なります。
この研究を読むとき・まねするときに陥りやすい誤解を整理する。
クリックすると各用語の詳しい解説ページに移動できます。
この研究で使われている手法を、手を動かす順に説明する。
原論文が自ら挙げた課題は、次の研究の出発点になる。
再現コードを少し変えるだけで試せる課題を、易しい順に用意した。
d = df_b[df_b['SSDSE-B-2026'] == 2023] を 2018 や 2013 に変えて、教育費割合や教員当たり児童生徒数が年でどう動くか確かめよう。d.sort_values('教育費割合') で47都道府県を並べ、上位・下位の横棒グラフを描こう。都市部と地方でどう違うか。linearmodels.PanelOLS で都道府県・年の固定効果回帰を組んでみよう。被説明変数はSSDSEにある指標(例:総人口や消費支出)で、固定効果の仕組みを体験できる。from linearmodels import PanelOLS; PanelOLS(y, X, entity_effects=True, time_effects=True)。テストスコアはSSDSEに無いので被説明変数は別の指標で代用する。「固定効果で交絡を抑え、交互作用で相乗効果を測る」発想は、政策・ビジネスの効果検証で広く使われている。
この研究を読んで浮かびやすい疑問に答える。
この論文を理解できたか、クリックで確認しましょう。間違えても解説が出ます。
このページの分析は、この画面の中でそのまま実行できます。
Python をインストールする必要も、CSV をダウンロードする必要もありません。
下のセルの 「▶ ブラウザで実行」 を上から順に押すか、
「▶ 最初から全部実行」 で一気に流してください。
表示されるのは、本文の図表とまったく同じ計算の結果です
(動かしているのは再現スクリプト code/2021_U5_4_shorei.py そのもの)。
コードは書き換えられます。「✏️ 書き換える」で数字や変数を変えて ▶ を押すと、 結果がどう変わるかをその場で確かめられます(元に戻すボタンつき)。 ページを開いた時点で裏で実行環境の準備が始まっているので、待ち時間はほとんどありません。 初回だけ実行環境の取得にインターネット接続が必要です。