この教材は原論文と同じデータを読み込み、同じ手順で計算し直しています。画面に出る数値と図は、あなたのブラウザがその場で計算した結果です。
⚠ ただし一部は再現していません:R によるパネル推定は非公表の年代別投票率データが必要なため再現していません。 本ページは原論文が報告した推定結果(表3)の可視化と手法の解説です。
| 原論文が使ったデータ | 年齢別投票率調 分析単位:都道府県 中核手法:パネルデータ分析 |
|---|---|
| この教材が使うデータ |
|
| 原論文(PDF) | 若者の投票率はなぜ低下したのか ―都道府県別・年代別投票率パネルデータ(2000-2020)分析― 特別賞/市橋来夏・菊田葵・工藤桂菜・瀧井日奈子(津田塾大学総合政策学部総合政策学科) |
▶ ここに書いてある分析は、ページ下部の「🐍 ブラウザで動かす」でそのまま実行できます(インストール不要)。動かしているのは code/2020_U5_2_shorei.py(227 行)そのものです。
高齢化が進む日本では、有権者そのものが高齢化しています。参議院議員通常選挙(参院選)を例にとると、有権者のうち60歳以上の構成比は 2001年の 32.4% から 2019年には 41.3% へ上昇しました(原論文の報告値)。さらに深刻なのが「投票者の高齢化」で、投票した人のうち60歳以上が占める比率は 2001年 38.4% → 2019年 48.8% と約半数に達しています。一方、投票者に占める39歳以下の比率は 22.0%(2001年)→ 18.5%(2019年) に低下しました。
この背景には、若年層(39歳以下)の投票率が高齢層(60歳以上)より著しく低いことがあります。若年層の投票率が高齢層より低い傾向自体は他国でも見られますが、OECD(2011)加盟国の平均が両者で 12.1% の差であるのに対し、日本は 25.2% と英国に次いで高い水準です(原論文の報告値)。日本国内でも若年層と高齢層の投票率の差は、1970年代の10%程度から、1990年代には20〜30%、2010年代には30〜40%程度へと拡大しています。
従来の研究は投票率全体を対象にした性別・世代間比較や、就業状況・投票環境・財政構造・政党選択など多岐にわたりますが、実際の都道府県別・年代別の投票率を論じた研究は日本ではごく少数でした。そこで本研究は、各都道府県の特性を説明変数、各都道府県の年代別の国政選挙投票率を被説明変数として、最長で2000年以降の14回の選挙結果をもとにパネルデータ分析を行いました。
リサーチクエスチョン:若年層と高齢層の投票率の差が拡大している要因を、地域差(都道府県別)と世代差(5歳階級別)に着目して明らかにする。特に、地域の経済・財政状況や政治的有効性感覚が、年代ごとの投票率にどう影響するかを検証する。
被説明変数は5歳階級別(20-24歳〜65-69歳)の投票率です。有権者となった年齢や他の統計との定義整合性から、若者は20-24歳から、高齢者は65-69歳までを分析対象としています。原論文が立てた主な仮説と予想符号は次のとおりです。
| 着眼点 | 説明変数 | 仮説(原論文) |
|---|---|---|
| 地方財政 | 財政力指数・公債費・生活保護費 | 財政が危機的だと危機感から投票が増える/逆に失望で減る、両方の可能性 |
| 就業環境 | 1人あたり県民所得・有効求人数 | 低いほど危機感で投票する/失望で棄権する、両方の可能性 |
| 子育て環境 | 児童1人あたり教育費 | 子育てしやすい地域ほど若者向け政策が充実=投票率にプラス |
| 人口移動 | 転入者割合・転出者割合・高齢化率 | 転入が多い=帰属意識が薄く投票率にマイナス。高齢化率が高いほど若者は「シルバー民主主義」に失望 |
| 政治的有効性 | 知事の年齢・任期・交代ダミー | 知事の年齢が高い/任期が長いほど政治が固定化し、若者の投票率にマイナス |
分析対象は2000〜2019年度の47都道府県、衆院選(第42〜48回)と参院選(第19〜25回)の年代別投票率です。説明変数は各都道府県の特性を表す12指標を用います。データの出所は次のとおりです。
| 指標 | 単位 | 主な出所 |
|---|---|---|
| 人口1人あたり公債残高 | 千円 | 「見える化」DB(都道府県財政) |
| 財政力指数 | ― | 「見える化」DB |
| 1人あたり生活保護費 | 千円 | 「見える化」DB |
| 1人あたり県民所得 | 千円 | 「見える化」DB(平成17年基準) |
| 児童1人あたり公教育支出 | 円 | 「見える化」DB/15歳未満人口(SSDSE-B) |
| 有効求人数/若年層人口 | % | 労働市場年報/SSDSE-B |
| 転入・転出人口/総人口 | % | 住民基本台帳人口移動報告/SSDSE-B |
| 知事の年齢・任期・交代ダミー | 歳・期・― | 全国知事会 知事ファイル |
① 目的:可視化と再現に必要なライブラリを準備し、原論文の報告値(表2-(a)・図1・表3)を定数として定義する。② 橋渡し:被説明変数はSSDSE未収録なので、まずは報告値を「データ」として保持する。
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 65 66 67 68 | import os import numpy as np import pandas as pd import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt from matplotlib.patches import Patch 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) NOTE = '報告値の可視化(再計算ではない)' # 図1〜図3 共通の注記 # ── 原論文の報告値(PDFから転記) ─────────────────────────────────────────────── # 表2-(a) 被説明変数(年代別投票率)の代表値=overall平均(単位:%) AGE_LABELS = ['20-24', '25-29', '30-34', '35-39', '40-44', '45-49', '50-54', '55-59', '60-64', '65-69'] TURNOUT_MEAN = [34.64, 40.73, 47.30, 53.07, 57.93, 62.28, 66.29, 69.29, 73.20, 75.73] # 図1(原論文)参院選における有権者/投票者の年代別構成比(%、本文より) # 60歳以上の構成比と 39歳以下の構成比が 2001→2019 でどう動いたか COMPOSITION = { '有権者・60歳以上': (32.4, 41.3), '投票者・60歳以上': (38.4, 48.8), '投票者・39歳以下': (22.0, 18.5), } # 表3(原論文)20-24歳の投票率に有意だった説明変数の回帰係数と有意水準 # ※標準誤差は原論文 表3 を参照。ここでは点推定値と有意記号のみを可視化する。 YOUNG_COEF = [ ('有効求人数/若年層人口(%)', -0.119, '***'), ('人口1人あたり公債残高(千円)', 0.069, '*'), ('知事任期(期)', -0.512, '*'), ] |
④ 実行結果の読み取り:上のコードで定義した TURNOUT_MEAN は、原論文 表2-(a) の年代別投票率の平均値です。20-24歳の 34.64% から 65-69歳の 75.73% まで、年齢が上がるほど投票率が高くなります。この時点では図は生成しません(定義のみ)。
① 目的:表2-(a)の年代別投票率を棒グラフにして、老若差の大きさを一目で示す。② 橋渡し:定義した TURNOUT_MEAN をそのまま描画し、図中に「報告値の可視化」と明記する。
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 | # ══════════════════════════════════════════════════════════════════════════════ # 図1:年代別投票率(表2-(a)の代表値/報告値の可視化) # ══════════════════════════════════════════════════════════════════════════════ fig, ax = plt.subplots(figsize=(9, 5)) colors = plt.cm.RdYlGn(np.linspace(0.15, 0.85, len(AGE_LABELS))) bars = ax.bar(AGE_LABELS, TURNOUT_MEAN, color=colors, edgecolor='white') for b, v in zip(bars, TURNOUT_MEAN): ax.text(b.get_x() + b.get_width() / 2, v + 0.6, f'{v:.1f}', ha='center', va='bottom', fontsize=9) gap = TURNOUT_MEAN[-1] - TURNOUT_MEAN[0] ax.annotate(f'老若差 {gap:.1f} ポイント', xy=(0, TURNOUT_MEAN[0]), xytext=(1.5, 20), fontsize=11, color='#B71C1C', arrowprops=dict(arrowstyle='->', color='#B71C1C')) ax.set_ylabel('年代別投票率の代表値(%)', fontsize=12) ax.set_xlabel('年代(歳)', fontsize=12) ax.set_ylim(0, 85) ax.set_title('年代別投票率の代表値(35都道府県・過去14回の国政選挙)', fontsize=13, fontweight='bold') ax.text(0.99, 0.02, NOTE, transform=ax.transAxes, ha='right', va='bottom', fontsize=9, color='#888', bbox=dict(boxstyle='round,pad=0.3', facecolor='#FFF9C4', edgecolor='#F9A825')) ax.grid(axis='y', alpha=0.3) plt.tight_layout() fig.savefig(os.path.join(FIG_DIR, '2020_U5_2_fig1.png'), bbox_inches='tight') plt.close() print("図1 保存完了(年代別投票率・報告値)") |
図1 保存完了(年代別投票率・報告値)
④ 実行結果の読み取り:「図1 保存完了」と表示され、html/figures/2020_U5_2_fig1.png が出力されました。棒の高さが右肩上がりで、若者の投票率だけが突出して低いことが視覚的に確認できます。
次に、この「低い若者・高い高齢者」という差が、選挙のたびに誰の票で結果が決まるかを左右します。有権者・投票者の年代別構成比の変化を見てみましょう。
① 目的:「投票者の高齢化」を、60歳以上と39歳以下の構成比の変化で示す。② 橋渡し:本文中の報告値(有権者60歳以上・投票者60歳以上・投票者39歳以下)を2001年と2019年で並べて比較する。
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 | # ══════════════════════════════════════════════════════════════════════════════ # 図2:有権者/投票者構成比の変化 2001→2019(原論文 図1 の報告値) # ══════════════════════════════════════════════════════════════════════════════ fig, ax = plt.subplots(figsize=(9, 5)) labels = list(COMPOSITION.keys()) v2001 = [COMPOSITION[k][0] for k in labels] v2019 = [COMPOSITION[k][1] for k in labels] x = np.arange(len(labels)) w = 0.38 b1 = ax.bar(x - w / 2, v2001, w, label='2001年参院選', color='#90A4AE') b2 = ax.bar(x + w / 2, v2019, w, label='2019年参院選', color='#C62828') for bars in (b1, b2): for b in bars: ax.text(b.get_x() + b.get_width() / 2, b.get_height() + 0.4, f'{b.get_height():.1f}%', ha='center', va='bottom', fontsize=9) ax.set_xticks(x) ax.set_xticklabels(labels, fontsize=11) ax.set_ylabel('構成比(%)', fontsize=12) ax.set_ylim(0, 60) ax.set_title('参院選の年代別構成比の変化:進む「投票者の高齢化」', fontsize=13, fontweight='bold') ax.legend(fontsize=11) ax.text(0.99, 0.97, NOTE, transform=ax.transAxes, ha='right', va='top', fontsize=9, color='#888', bbox=dict(boxstyle='round,pad=0.3', facecolor='#FFF9C4', edgecolor='#F9A825')) ax.grid(axis='y', alpha=0.3) plt.tight_layout() fig.savefig(os.path.join(FIG_DIR, '2020_U5_2_fig2.png'), bbox_inches='tight') plt.close() print("図2 保存完了(構成比の変化・報告値)") |
図2 保存完了(構成比の変化・報告値)
④ 実行結果の読み取り:投票者に占める60歳以上の比率が 38.4%→48.8% と上昇する一方、39歳以下は 22.0%→18.5% に低下しています。若者の低投票率が続くと、政策決定に若者の意見が反映されにくくなる——これが本研究の問題意識です。
本研究は、47都道府県(個体 i)を複数の選挙年(時点 t)で観測したパネルデータを用います。毎年度すべての都道府県で年代別投票率が得られるわけではないため、観測数が個体ごとに異なるアンバランスド・パネルです。推定式は次の形です。
ここで Yit は都道府県 i・年 t の年代別投票率、Xj,it は説明変数、ui は都道府県ごとに異なる個体効果(individual effect)、εit は誤差項です。この ui をどう扱うかで、2つのモデルに分かれます。
| 固定効果モデル(FE) | ランダム効果モデル(RE) | |
|---|---|---|
| ui の扱い | 推定すべき定数(各県固有のダミー) | 平均0の確率変数 |
| 強み | ui が説明変数と相関しても一致推定 | 時間で変化しない変数も推定でき、効率的 |
| 前提 | ― | ui と説明変数が無相関 |
原論文は個体効果 ui を確率変数とみなすランダム効果モデルで推定し、その妥当性を2つの検定で確認しています。
統計解析には R を用い、有意水準は5%です。説明変数間の多重共線性はVIFで確認し、全変数で5未満でした(原論文報告)。
原論文 表3(年代別に10本の回帰)と第4節の記述に基づく主要な結果です。すべて原論文の報告値で、係数の符号と有意性が中心です。
| 着眼点 | 若者(20〜30代)に有意 | 高齢者(60代)に有意 |
|---|---|---|
| 就業 | 有効求人数/若年層人口(−, 20-24歳 −0.119***) | ― |
| 人口移動 | 転出人口/総人口(−, 25-29歳 −2.558*) | 純転入人口/総人口(−, 65-69歳 −1.289*) |
| 財政 | 公債残高(+, 20-24歳 +0.069*) | 公債残高(+, 65-69歳 +0.046*)/財政力指数(−) |
| 所得 | ― | 1人あたり所得(+, 65-69歳 +0.003*) |
| 政治的有効性 | 知事任期(−, 20-24歳 −0.512*) | ― |
*** p<0.01, ** p<0.05, * p<0.1。係数・標準誤差の全表は原論文 表3 を参照(報告値)。R²(within)は年代により約0.70〜0.73、overall 約0.61〜0.72、都道府県数33、観測数245〜248。
① 目的:若者(20-24歳)で有意だった3変数の係数を横棒で示し、符号と有意性を直感的に伝える。② 橋渡し:定義した YOUNG_COEF(表3からの転記)を描画し、図中に「報告値・標準誤差は原論文参照」と明記する。
132 133 134 135 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 | # ══════════════════════════════════════════════════════════════════════════════ # 図3:20-24歳の投票率に有意だった回帰係数(原論文 表3・報告値の可視化) # ══════════════════════════════════════════════════════════════════════════════ fig, ax = plt.subplots(figsize=(9, 4.2)) names = [c[0] for c in YOUNG_COEF] coefs = [c[1] for c in YOUNG_COEF] sigs = [c[2] for c in YOUNG_COEF] bcolors = ['#1565C0' if c >= 0 else '#C62828' for c in coefs] ypos = np.arange(len(names)) ax.barh(ypos, coefs, color=bcolors, edgecolor='white') ax.axvline(0, color='black', linewidth=1.1) for y, c, s in zip(ypos, coefs, sigs): ax.text(c + (0.02 if c >= 0 else -0.02), y, f'{c:+.3f} {s}', va='center', ha='left' if c >= 0 else 'right', fontsize=11, color='#1565C0' if c >= 0 else '#C62828') ax.set_yticks(ypos) ax.set_yticklabels(names, fontsize=11) ax.set_xlim(-0.75, 0.35) ax.set_xlabel('回帰係数(ランダム効果モデル・20-24歳列)', fontsize=12) ax.set_title('若者(20-24歳)の投票率に有意だった要因 *** p<0.01, * p<0.1', fontsize=12, fontweight='bold') ax.text(0.02, 0.05, NOTE + ' 標準誤差は原論文 表3 参照', transform=ax.transAxes, ha='left', va='bottom', fontsize=9, color='#888', bbox=dict(boxstyle='round,pad=0.3', facecolor='#FFF9C4', edgecolor='#F9A825')) ax.grid(axis='x', alpha=0.3) plt.tight_layout() fig.savefig(os.path.join(FIG_DIR, '2020_U5_2_fig3.png'), bbox_inches='tight') plt.close() print("図3 保存完了(若者の有意係数・報告値)") |
図3 保存完了(若者の有意係数・報告値)
④ 実行結果の読み取り:「図3 保存完了」と表示されました。有効求人数/若年層人口(−0.119***)と知事任期(−0.512*)が負、公債残高(+0.069*)が正です。
投票率の経年変化も表3のダミー変数から読み取れます。2005年・2009年の衆院選は投票率が高く、2013年の参院選・2014年の衆院選は低い傾向でした(政権交代や解散の政治的文脈と対応)。特に20代の投票率は、投票率が高かった2005年・2009年の選挙で他世代より増加幅が大きく、全体の投票率を上げるには20代の底上げが重要だと示されました。
ここだけは、原論文の説明変数のひとつ「高齢化率(65歳以上人口÷総人口)」を、SSDSE-B から実際に再計算します。年代別投票率は再現できませんが、その背景にある「有権者の高齢化」の地域差は、公開データで確かめられます。
① 目的:SSDSE-B から都道府県別の高齢化率を計算し、有権者高齢化の地域差を可視化する。② 橋渡し:ここで初めて実データ(CSV)を読み込む。cp932・先頭行が英字コードのため header=1 で日本語列名を使い、地域コードが R##### の行(=都道府県)に絞る。
165 166 167 168 169 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 | # ══════════════════════════════════════════════════════════════════════════════ # 図4:都道府県別 高齢化率(SSDSE-B から実再現)=「有権者の高齢化」の背景 # 高齢化率 = 65歳以上人口 / 総人口 × 100(原論文の説明変数「高齢化率」の定義) # ※原論文は SSDSE-2020B を使用。ここでは最新の SSDSE-B-2026 で再計算した参考値。 # ══════════════════════════════════════════════════════════════════════════════ df = pd.read_csv(DATA_B, encoding='cp932', header=1) df = df[df['地域コード'].astype(str).str.match(r'^R\d{5}', na=False)].copy() df['年度'] = df['年度'].astype(int) latest = df['年度'].max() d = df[df['年度'] == latest].copy() d['高齢化率'] = d['65歳以上人口'] / d['総人口'] * 100 d = d.sort_values('高齢化率').reset_index(drop=True) nat_mean = d['高齢化率'].mean() print("=" * 60) print(f"SSDSE-B 実再現:都道府県別 高齢化率({latest}年、n={len(d)})") print("=" * 60) print(f"全国平均 高齢化率 : {nat_mean:.2f}%") print(f"最低(最も若い) : {d.iloc[0]['都道府県']} {d.iloc[0]['高齢化率']:.2f}%") print(f"最高(最も高齢) : {d.iloc[-1]['都道府県']} {d.iloc[-1]['高齢化率']:.2f}%") fig, ax = plt.subplots(figsize=(9, 11)) bar_colors = ['#C62828' if v >= nat_mean else '#1565C0' for v in d['高齢化率']] ax.barh(d['都道府県'], d['高齢化率'], color=bar_colors, edgecolor='white', linewidth=0.4) ax.axvline(nat_mean, color='#333', linestyle='--', linewidth=1.4, label=f'全国平均 {nat_mean:.1f}%') ax.set_xlabel('高齢化率(65歳以上人口 ÷ 総人口, %)', fontsize=12) ax.set_title(f'都道府県別 高齢化率({latest}年・SSDSE-B から実再現)', fontsize=13, fontweight='bold') ax.legend(handles=[ Patch(facecolor='#C62828', label='全国平均以上'), Patch(facecolor='#1565C0', label='全国平均未満'), Patch(facecolor='none', edgecolor='#333', label=f'全国平均 {nat_mean:.1f}%'), ], loc='lower right', fontsize=10) ax.text(0.99, 0.02, 'SSDSE-B-2026 から実再現(再計算)', transform=ax.transAxes, ha='right', va='bottom', fontsize=9, color='#2E7D32', bbox=dict(boxstyle='round,pad=0.3', facecolor='#E8F5E9', edgecolor='#2E7D32')) ax.grid(axis='x', alpha=0.3) ax.margins(y=0.01) plt.tight_layout() fig.savefig(os.path.join(FIG_DIR, '2020_U5_2_fig4.png'), bbox_inches='tight') plt.close() print("図4 保存完了(高齢化率・SSDSE-B 実再現)") |
============================================================ SSDSE-B 実再現:都道府県別 高齢化率(2023年、n=47) ============================================================ 全国平均 高齢化率 : 31.59% 最低(最も若い) : 東京都 22.75% 最高(最も高齢) : 秋田県 39.06% 図4 保存完了(高齢化率・SSDSE-B 実再現)
④ 実行結果の読み取り:最新年(2023年)の全国平均 高齢化率は 31.59%。最も若いのは東京都(22.75%)、最も高齢なのは秋田県(39.06%)で、2倍近い地域差があります。「シルバー民主主義」への若者の失望という仮説の背景が、公開データからも確認できます。
若者の投票率は、単なる政治的関心の低さではなく、地域の経済・政治状況が安定しているときに政治的有効性感覚を失うことで低下すると考えられます。逆に、地域の財政が悪化したり経済的危機感が高まったりすると、若者も投票行動に移る傾向が見られました。具体的には、若者の投票率には有効求人数・転出人口・公債残高・知事任期が、高齢者には転入人口・公債残高・所得・財政力指数が有意に関連していました。
① 目的:スクリプトの最後で、このページで扱った報告値(表2-(a)・図1・表3)を一覧で標準出力に書き出す。② 橋渡し:読者が「どの数値が原論文の報告値か」を実行画面で一望できるようにする。
212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 | # ── 報告値サマリー(HTML用・すべて原論文の報告値/図4のみ実再現) ───────────── print() print("=" * 60) print("原論文の報告値サマリー(表2-(a)・表3)") print("=" * 60) print(f"年代別投票率(代表値): 20-24歳 {TURNOUT_MEAN[0]:.2f}% → 65-69歳 {TURNOUT_MEAN[-1]:.2f}%") print(f"老若差(65-69歳 − 20-24歳): {TURNOUT_MEAN[-1] - TURNOUT_MEAN[0]:.2f} ポイント") print(f"投票者60歳以上の構成比 : 2001年 {COMPOSITION['投票者・60歳以上'][0]}% → 2019年 {COMPOSITION['投票者・60歳以上'][1]}%") print(f"投票者39歳以下の構成比 : 2001年 {COMPOSITION['投票者・39歳以下'][0]}% → 2019年 {COMPOSITION['投票者・39歳以下'][1]}%") print("20-24歳に有意だった説明変数(表3):") for name, c, s in YOUNG_COEF: print(f" {name}: 係数 {c:+.3f} {s}") print("多重共線性(VIF): 全説明変数で 5 未満(原論文報告)") print() print("全図生成完了") |
============================================================ 原論文の報告値サマリー(表2-(a)・表3) ============================================================ 年代別投票率(代表値): 20-24歳 34.64% → 65-69歳 75.73% 老若差(65-69歳 − 20-24歳): 41.09 ポイント 投票者60歳以上の構成比 : 2001年 38.4% → 2019年 48.8% 投票者39歳以下の構成比 : 2001年 22.0% → 2019年 18.5% 20-24歳に有意だった説明変数(表3): 有効求人数/若年層人口(%): 係数 -0.119 *** 人口1人あたり公債残高(千円): 係数 +0.069 * 知事任期(期): 係数 -0.512 * 多重共線性(VIF): 全説明変数で 5 未満(原論文報告) 全図生成完了
④ 実行結果の読み取り:老若差41.09ポイント、投票者の高齢化(60歳以上 38.4%→48.8%)、若者に有意な3変数の係数が一覧で出力されます。数値はすべて原論文からの転記であり、図4を除き再計算していません。
このページの図4(高齢化率の実再現)を動かすには、以下の手順でデータを準備してください。コードの編集は不要です。図1〜図3は原論文の報告値(コード内の定数)を使うため、追加データは不要です。
data/raw/ フォルダに入れます。html/figures/ に自動保存されます。
統計分析の解釈で初心者がやりがちな勘違いをまとめます。特に「相関と因果の混同」「p値の過信」は研究現場でもよく起きる落とし穴です。本文を読む前にも、読んだ後にも、目を通してみてください。
統計の基本用語を初心者向けに解説します。本文中で見慣れない言葉が出てきたら、ここに戻って確認してください。
統計手法について「何のためか」「結果をどう読むか」を初心者向けに解説します。
plm::phtest などで実行。plm::plmtest で実行。この研究をさらに発展させるための3つの方向性を示します。「今回わかったこと(X)」から「次に検証すべき仮説(Y)」を立て、「具体的に何をするか(Z)」まで考えてみましょう。
学んだだけでは身につきません。実際に手を動かすのが最強の学習方法です。本論文のスクリプトをベースに、以下のチャレンジに挑戦してみてください。難易度別に5つ用意しました。
本論文で学んだ手法は、研究の世界だけでなく、行政・企業・NPO の現場でも様々に活用されています。具体的なシーンを紹介します。
この論文を読んで初心者が抱きやすい疑問に、教育的観点から答えます。
この論文を理解できたか、クリックで確認しましょう。間違えても解説が出ます。
このページの分析は、この画面の中でそのまま実行できます。
Python をインストールする必要も、CSV をダウンロードする必要もありません。
下のセルの 「▶ ブラウザで実行」 を上から順に押すか、
「▶ 最初から全部実行」 で一気に流してください。
表示されるのは、本文の図表とまったく同じ計算の結果です
(動かしているのは再現スクリプト code/2020_U5_2_shorei.py そのもの)。
コードは書き換えられます。「✏️ 書き換える」で数字や変数を変えて ▶ を押すと、 結果がどう変わるかをその場で確かめられます(元に戻すボタンつき)。 ページを開いた時点で裏で実行環境の準備が始まっているので、待ち時間はほとんどありません。 初回だけ実行環境の取得にインターネット接続が必要です。