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

過疎化と地域おこし

⏱️ 推定読了時間: 約20分
2022年度(令和4年度)統計データ分析コンペティション | 阪口一ノ佑・髙島壮・田中初芽・寺田哲了・廣岡遥羽(兵庫県立姫路西高等学校) | SSDSE-A-2022・総務省財政指標・情報通信白書・宍粟市(+本ページ実再現はSSDSE-B) | 相関分析・無相関検定・潜在変数(交絡)の考察
🔬 無相関検定🔬 相関分析🏷 財政・行政🏷 観光
🔬 手法タグ / 🏷 応用タグ(クリックで同タグの論文をネットワーク検索)
🔬 再現カルテ — 原論文のデータが手に入らないため、代替データで再現

この教材は、原論文が使ったデータそのものを使えていません。そこで代わりのデータで同じ問いを追いかけ、結論の向き(増える/減る、強い/弱い)が原論文と一致するかを確かめます。「同じ数値が出る」ことは目標にしていません。

原論文が使ったデータ宍粟市の人口推移及び人口増減率 1920 年~2015 年(大正 9 年~平成 27 年)・年度別人口統計・異動状況・行政区別年齢(5 歳階級)別人口・地方公共団体の主要財政指標一覧・SSDSE-A-2022・総務省 情報通信白書 インターネットの利用状況
分析単位:市区町村
中核手法:相関分析
この教材が使うデータ
原論文(PDF)過疎化と地域おこし
審査員奨励賞/阪口 一ノ佑、髙島 壮、田中 初芽、寺田 哲了、廣岡 遥羽(兵庫県立姫路西高等学校)
✅ この教材でできること
  • 原論文の中核手法(相関分析)を実データで実行できる
  • 分析に使うデータは同梱済みで、ブラウザ上でそのまま読み込める
  • 数値・図を最後まで再計算できる(相関分析)
⚠️ この教材ではできないこと(原論文との違い)
  • 原論文と同じデータでの再現はできない:論文=SSDSE-A(市区町村) → 教材=SSDSE-B
  • 原論文は SSDSE-A を使っているが、この教材は SSDSE-B を使っている(原論文本文で確認)
  • 原論文は市区町村を単位に分析しているが、この教材は都道府県が単位
📄 原論文との違いを、もっと詳しく
📄 原論文:市区町村(SSDSE-A 系)データで過疎化の実態と地域おこしの方向性を分析。
📘 本教材:step 1〜4 は SSDSE-B(都道府県)での代理分析。step 5 で原論文と同じ市区町村粒度(SSDSE-A-2025)の過疎の分布を再現
⚠️ 注意:過疎指定の法的定義ではなく人口減少率×高齢化率の簡易基準を用いている。
🚀 原論文と同じ粒度で挑戦したい人へ

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

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

📝 3行で分かる要約

目次

  1. 研究のテーマと目的
  2. 使用データと再現可能性の整理
  3. 分析の流れ:産業 → 情報化 → 潜在変数(高齢化)
  4. 図1:高齢化率の推移(実再現)
  5. 図2:高齢化率と社会増減率(実再現)
  6. 図3:原論文が報告した相関係数(報告値)
  7. 図4:Twitter発信数の内訳(報告値)
  8. 結果の解釈と提言
  9. SSDSE-A 市区町村の過疎分析
  10. まとめと今後の課題
  11. データ・コードのDL
  12. ⚠️ よくある誤解
  13. 📖 用語集
  14. 📐 手法ガイド
  15. 🚀 発展の可能性
  16. 🎯 自分でやってみよう
  17. 🤔 Q&A
  18. 🐍 ブラウザで動かす

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

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

このページで実再現できるのは図1(高齢化率の推移)と図2(高齢化率×社会増減率)です。コードの編集は不要です。(原論文の中心である財政力指数・インターネット利用率・産業就業者数・宍粟市の値は SSDSE-B に無いため、図3・図4は原論文の報告値を可視化します。)

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

著者たちは兵庫県立姫路西高校の生徒である。自分たちの住む西播磨地域では小学校の統廃合が進むなど自治体の維持が難しくなる過疎化が進行している。そこで、同じ西播磨の兵庫県宍粟市(人口35,639人・令和4年4月時点、財政力指数0.3433333)を例に、市を活性化して財政力を上げる手段を探ることにした。

最初に立てた仮説は「財政力指数と産業には直接的な関わりがある」。財政力指数の計算に事業税など産業由来の地方税が含まれるからだ。さらに先行研究(ICT活用が地域の生産性を高める)から「情報化の遅れが財政力を下げている」という第2の仮説を立て、インターネット利用率と財政力の関係も調べる、という二段構えの発想である。

0.725
インターネット利用率×財政力指数の相関(原論文の報告値・図7)
−0.94
高齢化×インターネット利用率の相関(原論文の報告値・表6)
−0.71
高齢化×財政力指数の相関(原論文の報告値・表6)
0.343
宍粟市の財政力指数(原論文・表2)過疎地域(全部過疎)に該当
研究の問い 過疎地域である宍粟市の財政力を上げるには、産業と情報化のどちらに働きかければよいのか。そしてその背後に、両者を左右する「隠れた要因」はないのか。
分析のキモ:相関の「裏」にある潜在変数を疑う ネット利用率と財政力に正の相関(0.725)が出ても、著者は「直接の関わりではない」と考え、両方を左右する潜在変数(交絡因子)を探した。行き着いた答えが高齢化である。相関が出たら因果と決めつけず一歩踏みとどまる、この姿勢が本研究の見どころ。

高校生の部 SSDSE-A+総務省財政指標・情報通信白書・宍粟市 相関分析 無相関検定 潜在変数(交絡)の考察

使用データと再現可能性の整理

本研究は複数の出典を組み合わせている。財政力指数は総務省「地方公共団体の主要財政指標一覧」(2018〜2020)、産業就業者数は SSDSE-A-2022(市区町村)、インターネット利用率は総務省「情報通信白書」(2021)、宍粟市の総人口・65歳以上人口・若年者人口は宍粟市の統計から取っている。いずれも市区町村粒度、または宍粟市単独のデータである。

主なデータと出典(原論文 表3・表4)

役割データ出典(年度)本ページでの扱い
目的量市区町村別 財政力指数総務省 地方公共団体の主要財政指標一覧(2018〜2020)報告値の可視化
産業第一次・第二次・第三次産業就業者数SSDSE-A-2022(市区町村)報告値の可視化
情報化市区町村別 インターネット利用率総務省 情報通信白書(2021)報告値の可視化
人口宍粟市の総人口・65歳以上人口宍粟市「年度別人口統計・異動状況」ほか(2006〜2022)報告値の可視化
地域おこしTwitter発信数(内部/外部向け)各自治体公式アカウントを著者が独自収集(2022.1〜2022.7)報告値の可視化
高齢化高齢化率(65歳以上人口/総人口)SSDSE-B(都道府県・2012〜2023)実再現
過疎化社会増減率(転入−転出/総人口)SSDSE-B(都道府県・2023)実再現
再現可能性の整理(このページの図の作り方)
  • 実再現できる部分:原論文 図2「宍粟市の高齢化率の上昇」は、宍粟市そのものが市区町村粒度で SSDSE-B(都道府県)に無いため厳密には再現できない。そこで A1303 65歳以上人口 / A1101 総人口 から兵庫県・全国の高齢化率の推移を実再現する(図1)。さらに、原論文の主張「高齢化が地域の活力を下げる」を、A5101 転入A5102 転出 による社会増減率と高齢化率の相関として実データから検証する(図2)。
  • 報告値の可視化(再計算ではない):原論文の中心である財政力指数・産業就業者数・インターネット利用率は SSDSE-B に列が無く(SSDSE-B は都道府県の人口・産業構造などが中心)、市区町村粒度でもある。よって図3(表5・図7・表6の相関係数)と図4(表7のTwitter発信数)は原論文の報告値を転記して可視化する(符号・桁そのまま)。
  • 新しい数値の捏造はしない:報告値と再計算値はラベルで分離する。財政力指数・GDP・県内総生産など SSDSE-B に無い列は一切使わない。実再現(図1・図2)は「高齢化」という原論文の核心概念を実データで裏づける参考であり、原論文の財政力の相関そのものの代わりにはならない点を図注に明記する。

分析の流れ:産業 → 情報化 → 潜在変数(高齢化)

分析の流れ
仮説1
財政力×産業
就業者数
棄却
相関は弱い
(0.12〜0.39)
仮説2
財政力×ネット
利用率 0.725
潜在変数
高齢化を発見
(−0.94/−0.71)
提言
高齢者の
SNS活用

① 仮説1:財政力指数と産業就業者数の相関

財政力指数の計算に産業由来の地方税が含まれることから、「産業就業者数が多いほど財政力が高い」と予想。第一次・第二次・第三次産業それぞれと相関をとる(原論文 表5)。

② 仮説2:財政力指数とインターネット利用率の相関

ICT活用が地域を潤すという先行研究から、情報化の遅れが財政力を下げると予想。市区町村のネット利用率と財政力の相関をとる(原論文 図7)。

③ 潜在変数(交絡)を探す

ネット利用率と財政力に相関が出ても、それが直接の因果とは限らない。両方を左右する共通要因として高齢化を疑い、高齢化と両者の相関を確かめる(原論文 表6)。

④ 地域おこしのヒントを探す

地域おこしに成功した自治体のTwitter発信を「内部向け/外部向け」に分けて比較し、宍粟市への提言につなげる(原論文 表7・図8)。

⑤ 高齢化の実再現(SSDSE-B)

研究の背骨である「高齢化の進行」と「高齢化と人口流出(過疎化)の結びつき」を、SSDSE-Bの都道府県データから実再現する。財政力の相関そのものはSSDSE-Bでは再現できないため報告値を用いる。

相関は「関係の強さ」であって因果ではない 本研究は相関を中心に用いる。ネット利用率と財政力に相関があってもネットを普及させれば財政力が上がるとは限らない。両方を押し上げる潜在変数(高齢化)による見かけの相関を、著者自身が見抜いた点が重要である。
1
図1:高齢化率の推移(実再現)

研究の背骨は「高齢化の進行」である。原論文 図2 が示した宍粟市の高齢化率上昇を、SSDSE-Bで兵庫県・全国について実再現する。ここは都道府県データから計算できる実再現部分である。

やってみようSSDSE-B を読み込み、高齢化率・社会増減率の指標を作る【実再現の準備】
  • ① このコードの目的:SSDSE-B-2026 を cp932・ラベル行 skiprows=[1] で読み込み、A1101 総人口A1303 65歳以上人口A5101 転入A5102 転出 を数値化する。そこから 高齢化率(65歳以上/総人口)と 社会増減率((転入−転出)/総人口・‰)という、原論文の核心「高齢化」「過疎化」に対応する指標を作る。
  • ② 前後のつながり:この読み込みが実再現(図1・図2)の土台になる。財政力指数など原論文の中心指標はSSDSE-Bに無いが、高齢化と人口流出はここから再計算できる。
📝 コード
60
61
62
63
64
65
66
67
68
df = pd.read_csv(DATA_B, encoding='cp932', skiprows=[1])
for c in ['A1101', 'A1303', 'A5101', 'A5102']:
    df[c] = pd.to_numeric(df[c], errors='coerce')
df['年度'] = df['SSDSE-B-2026'].astype(int)

# 指標づくり(SSDSE-B に実在する列だけを使用)
df['高齢化率'] = df['A1303'] / df['A1101'] * 100          # 65歳以上人口 / 総人口
df['社会増減'] = df['A5101'] - df['A5102']                # 転入 - 転出
df['社会増減率'] = df['社会増減'] / df['A1101'] * 1000     # 人口千人あたり(‰)
  • ④ 実行結果の読み取り:エラーなく読み込めれば準備完了。SSDSE-Bは都道府県粒度なので、原論文の宍粟市(市区町村)そのものは再現できない。そこで兵庫県・全国を代理に、高齢化の動きを実データで確かめる。
やってみよう兵庫県・全国の高齢化率の推移を計算する【実再現・図1】
  • ① このコードの目的:兵庫県の高齢化率を年ごとに取り出し、全国は各年の「65歳以上人口の合計/総人口の合計」で求める。原論文 図2「宍粟市の高齢化率の上昇」に対応する動きを、都道府県粒度で実再現する。
  • ② 前後のつながり:著者は宍粟市の高齢化率が年々上がることを研究の出発点にした。まずその背景(高齢化の全国的進行)を実データで確かめる。
📝 コード
76
77
78
79
80
81
82
83
84
85
86
87
88
89
hyogo = df[df['Prefecture'] == '兵庫県'].sort_values('年度')
# 全国の高齢化率=各年の 65歳以上人口合計 / 総人口合計
nat = (df.groupby('年度')
         .apply(lambda g: g['A1303'].sum() / g['A1101'].sum() * 100)
         .rename('全国高齢化率')
         .reset_index())

years = hyogo['年度'].values
print(f"対象年度: {years.min()}{years.max()}{len(years)}か年)")
print(f"兵庫県の高齢化率: {hyogo['高齢化率'].iloc[0]:.2f}% ({years.min()}年)"
      f" → {hyogo['高齢化率'].iloc[-1]:.2f}% ({years.max()}年)")
print(f"全国の高齢化率  : {nat['全国高齢化率'].iloc[0]:.2f}% ({years.min()}年)"
      f" → {nat['全国高齢化率'].iloc[-1]:.2f}% ({years.max()}年)")
print(f"兵庫県の上昇幅  : +{hyogo['高齢化率'].iloc[-1] - hyogo['高齢化率'].iloc[0]:.2f} ポイント")
▼ 実行結果
=== [1] 高齢化率の推移(兵庫県・全国, 実再現) ===
対象年度: 2012〜2023(12か年)
兵庫県の高齢化率: 24.30% (2012年) → 29.96% (2023年)
全国の高齢化率  : 24.13% (2012年) → 29.13% (2023年)
兵庫県の上昇幅  : +5.66 ポイント
  • ④ 実行結果の読み取り:兵庫県の高齢化率は24.30%(2012年)→29.96%(2023年)と約6ポイント上昇し、全国(24.13%→29.13%)をわずかに上回るペースで進む。原論文が図2で示した「高齢化率は年々増加傾向」を実データで再現できた。宍粟市のようにさらに高齢化が進む過疎地域が、この全国的傾向の先端にあることが読み取れる。
兵庫県・全国の高齢化率の推移(SSDSE-B A1303/A1101・実再現)
図1:兵庫県・全国の高齢化率の推移(65歳以上人口/総人口)。実再現(原論文 図2 に対応)。SSDSE-B の A1303/A1101 から算出。兵庫県は 2012年24.30%→2023年29.96%。粒度注:SSDSE-Bは都道府県粒度のため宍粟市そのものは再現できないが、高齢化が年々進む傾向は実データで確認できる。
📊 この図の読み方
右肩上がり
兵庫県も全国も高齢化率が一貫して上昇。約10年で5〜6ポイント増。
宍粟市との関係
宍粟市は過疎地域で、県平均より高齢化がさらに進む。図1はその背景となる県・全国の趨勢を示す。
位置づけ
実再現。SSDSE-Bの都道府県データから計算しており、原論文 図2 と同じ「増加傾向」を示す。
2
図2:高齢化率と社会増減率(実再現)

原論文の核心「高齢化が地域を弱らせる」を、SSDSE-Bで実データ検証する。財政力指数は収録されていないので、過疎化=人口流出(社会増減率)と高齢化の関係で確かめる。

やってみよう高齢化率と社会増減率(転入−転出)の相関を計算する【実再現・図2】
  • ① このコードの目的:2023年の47都道府県で、高齢化率と社会増減率(人口千人あたりの転入超過)の相関scipy.stats.pearsonr で求め、無相関検定のp値も出す。原論文の主張「高齢化が地域の活力を下げる」を実データで検証する。
  • ② 前後のつながり:原論文は高齢化を潜在変数として重視し、高齢化×財政力に −0.71(報告値)を示した。財政力はSSDSEに無いので、代わりに過疎化そのものである人口流出(社会増減率)と高齢化の関係を実データで確かめる。
📝 コード
115
116
117
118
119
120
121
122
123
124
125
d23 = df[df['SSDSE-B-2026'] == 2023].copy()
x = d23['高齢化率'].values
y = d23['社会増減率'].values
r, p = stats.pearsonr(x, y)
print(f"標本数 N = {len(d23)} 都道府県(2023年)")
print(f"高齢化率 × 社会増減率(‰)の相関係数 r = {r:.4f}")
print(f"無相関検定 p 値 = {p:.6f}(有意水準5%で有意)")
top_aged = d23.sort_values('高齢化率', ascending=False)['Prefecture'].head(3).tolist()
inflow = d23.sort_values('社会増減率', ascending=False)['Prefecture'].head(3).tolist()
print(f"高齢化率が高い上位: {'、'.join(top_aged)}(いずれも社会減)")
print(f"社会増(転入超過)上位: {'、'.join(inflow)}(いずれも高齢化率が低い)")
▼ 実行結果
=== [2] 高齢化率 × 社会増減率(2023年・47都道府県, 実再現) ===
標本数 N = 47 都道府県(2023年)
高齢化率 × 社会増減率(‰)の相関係数 r = -0.7953
無相関検定 p 値 = 0.000000(有意水準5%で有意)
高齢化率が高い上位: 秋田県、高知県、徳島県(いずれも社会減)
社会増(転入超過)上位: 東京都、千葉県、埼玉県(いずれも高齢化率が低い)
  • ④ 実行結果の読み取り:相関係数は r = −0.7953(p < 0.000001, N=47)で強い負の相関。高齢化率が高い県ほど人口が流出(社会減)するという過疎化の構図が実データで明確に出た。実際、高齢化上位は秋田・高知・徳島(いずれも社会減)、転入超過の上位は東京・千葉・埼玉(いずれも高齢化率が低い)。原論文が高齢化を過疎化・財政力低下の根に置いたことが、粒度は違えど実データで裏づけられる。
高齢化率と社会増減率の散布図(2023年・47都道府県・実再現)
図2:高齢化率と社会増減率の関係(2023年・47都道府県)。実再現。SSDSE-B の A1303/A1101(高齢化率)と (A5101−A5102)/A1101(社会増減率・‰)から算出。r=−0.795(p<0.001, N=47)。高齢化が進む地域ほど人口が流出する。原論文の「高齢化×財政力 −0.71(報告値)」とは変数・粒度が異なるため、別ラベルの実再現として示す。
📊 この図の読み方
右下がりの帯
横軸(高齢化率)が高いほど縦軸(社会増減率)が下がる=人口流出。過疎化のメカニズムそのもの。
両端
左上に東京・沖縄・愛知(若く転入超過)、右下に秋田・高知(高齢で流出)。兵庫県は中央付近。
報告値との違い
原論文の −0.71 は「高齢化×財政力指数(市区町村)」の報告値。図2は「高齢化×社会増減率(都道府県)」の実再現で、別物として切り分けている。
3
図3:原論文が報告した相関係数(報告値)

ここからが原論文の中心である。財政力指数・産業就業者数・インターネット利用率・高齢化の相関係数を見る。これらはSSDSE-Bに無い変数・市区町村粒度のため、原論文の報告値を転記して可視化する(再計算ではない)。

やってみよう原論文 表5・図7・表6 の相関係数を転記する
  • ① このブロックの目的:仮説1(財政力×産業)、仮説2(財政力×ネット利用率)、潜在変数(高齢化×ネット利用率・高齢化×財政力)の相関係数を、符号・桁そのままに書き出す。再計算ではなく報告値の転記。
  • ② 前後のつながり:産業では弱い相関しか出ず、情報化で正の相関、そして高齢化で強い負の相関という「発見の流れ」を数値で追う中心部分。
▼ 実行結果(原論文の報告値)
=== [3] 原論文の報告値:相関係数(表5・図7・表6) ===
項目                                  相関係数  出所      相関関係
財政力指数 × 第一次産業就業者数                  0.120  表5・図3   ほとんど無し
財政力指数 × 第二次産業就業者数                  0.390  表5・図4   弱い正の相関
財政力指数 × 第三次産業就業者数                  0.310  表5・図5   弱い正の相関
財政力指数 × 全産業就業者数(合計)                0.220  表5・図6   弱い正の相関
財政力指数 × インターネット利用率                 0.725  図7      正の相関
高齢化 × インターネット利用率                  -0.940  表6      強い負の相関
高齢化 × 財政力指数                       -0.710  表6      強い負の相関
※いずれも原論文の報告値(SSDSE-B に無い変数のため再計算不可)
  • ④ 実行結果の読み取り:仮説1(表5):財政力指数と産業就業者数の相関は第一次0.12(ほとんど無し)・第二次0.39・第三次0.31・合計0.22といずれも弱く、仮説は棄却。② 仮説2(図7):財政力指数とインターネット利用率は0.725の正の相関。③ 潜在変数(表6):ただし著者はこれを直接の因果と見ず、共通要因の高齢化を疑う。高齢化×ネット利用率 −0.94、高齢化×財政力 −0.71といずれも強い負の相関。高齢化が進む→ネット利用率が下がり、若者が減って財政力も落ちる、という構図。すべて原論文の報告値である。
原論文が報告した相関係数の一覧(報告値の可視化)
図3:原論文が報告した相関係数の一覧。報告値の可視化(再計算ではない)(原論文 表5・図7・表6)。青=正、赤=負。産業とは弱い相関、インターネット利用率とは0.725、潜在変数の高齢化は −0.94/−0.71 と強い負の相関。数値はすべて原論文の報告値。
📊 この図の読み方
0の縦線
右(正)なら「増えるほど財政力/利用率も高い」、左(負)なら逆。
産業3本は短い
第一次〜第三次は0.1〜0.4で相関が弱く、産業では財政力を説明できない。
高齢化は長い負の棒
−0.94/−0.71と大きく左に伸びる。潜在変数として最も強く効いている。
4
図4:Twitter発信数の内訳(報告値)

高齢化が根本原因だと分かった著者は、地域おこしの具体策を探る。地域おこしに成功した自治体のTwitter発信を「内部向け(住民向け)」「外部向け(観光情報など)」に分けて比較した。これは著者が独自に収集したデータで、再計算できないため報告値を可視化する。

やってみよう原論文 表7・図8 のTwitter発信数の内訳を転記する
  • ① このブロックの目的:財政力指数の上位(豊田市・浦安市)、下位だが地域おこしに成功(丹波山村・軽井沢町)、そして宍粟市の、2022年1〜7月のTwitter発信数を内部向け/外部向けに分けて書き出す。再計算ではなく報告値の転記。
  • ② 前後のつながり:「なぜ地域おこしに成功したのか」を発信の中身から探る部分。宍粟市への提言(外部向け発信の強化)につながる。
▼ 実行結果(原論文の報告値)
=== [4] 原論文の報告値:Twitter発信数の内訳(表7・図8, 2022.1〜2022.7) ===
市区町村        内部向け    外部向け
豊田市          169      56
浦安市          508      55
宍粟市          345      50
丹波山村         278     702
軽井沢町           9     352
※原論文の報告値(独自収集データのため再計算不可)
  • ④ 実行結果の読み取り:地域おこしに成功した丹波山村(外部702件)・軽井沢町(外部352件)は外部向け発信が圧倒的に多い。一方、豊田市・浦安市は内部向けが多いが、自動車工場やテーマパークという強力な観光資源を持つ。宍粟市は内部345/外部50件と外部向けが少ない。丹波山村は宍粟市と同じ過疎地域なのに地域おこしに成功しており、著者は「宍粟市も外部への発信(観光PR)を強めるべき」と結論づける。数値はすべて原論文の報告値。
Twitter発信数の内訳(内部向け・外部向け・報告値の可視化)
図4:Twitter発信数の内訳(2022.1〜2022.7)。報告値の可視化(再計算ではない)(原論文 表7・図8)。橙=内部向け、青=外部向け。地域おこしに成功した丹波山村・軽井沢町は外部向けが際立って多い。数値はすべて原論文の報告値。
📊 この図の読み方
青が高い=外部発信型
丹波山村・軽井沢町は観光情報など外部向けが多く、地域おこしに成功。
橙が高い=内部発信型
浦安市・宍粟市は住民向けが中心。宍粟市は外部向けがわずか50件。
宍粟市への含意
同じ過疎地域の丹波山村が外部発信で成功している。宍粟市も観光PRを強めれば地域おこしの余地がある。

結果の解釈と提言

産業では財政力を説明できず、情報化の相関の裏には高齢化という潜在変数があった。著者はここから、高齢化を逆手にとった地域再生策を提案する。

要因:高齢化が過疎化・財政力低下の根にある(原論文 4.2・表6)

高齢化が進むとインターネット利用率が下がり(−0.94)、若者が減って財政力も落ちる(−0.71)。つまり高齢化が「情報化の遅れ」と「財政力の低さ」を同時に引き起こす共通要因だと著者は結論づけた。ネット利用率と財政力の0.725の相関は、この高齢化を介した見かけの相関と解釈できる。

提言:高齢者による SNS 活用で地域再生のサイクルを回す(原論文 5章・図9)

そこで著者が提案するのは高齢者による SNS の活用である。理由は3つ——(1)高齢者がSNSを使うのは新規性があり話題を呼ぶ、(2)地域を支える若者の負担を増やさない、(3)長く住む高齢者ほど地域の歴史や伝統を詳しく知り説得力あるPRができる。地域の若者が高齢者向けにSNS講座を開き、高齢者が宍粟市の観光資源(森林セラピー・スキー場など)を外部に発信する。これにより観光客増加 → 財政力向上 → 移住者増加のサイクルと、内部コミュニティの活性化を同時に狙う(図9)。

地域再生の有効なサイクル(原論文 図9)
高齢者のSNS活用
観光客増加
財政力向上
移住者増加
コミュニティ強化

宍粟市での具体策(原論文 5.2)

宍粟市の各戸に設置された無線通信「しーたん通信」で講座を宣伝し、各町のコミュニティセンターでSNS講座を開催。地域の高校生が授業の一環で指導者として参加し、高齢者の移動にはコミュニティバスを使う。発信する情報は森林セラピーやスキー場など宍粟市特有の観光資源とする、という現実的な設計まで踏み込んでいる。

この考察の限界 相関は因果を示さない。「高齢化が財政力を下げる」も、高齢化と同時進行する別の要因(産業構造・立地など)が両方を動かしている可能性がある。提案したサイクルが実際に観光客増につながるかは未検証で、著者自身も「今後調査したい」と述べている。
5
SSDSE-A(市区町村)で過疎の実像を再現する

原論文は市区町村データで過疎化と地域おこしを論じました。都道府県平均では見えない市区町村の人口減少・高齢化の分布を、同じ粒度で確認します。

やってみよう市区町村の人口増減率 × 高齢化率
📝 コード
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
a = pd.read_csv('data/raw/SSDSE-A-2025.csv', encoding='cp932', header=2)
a = a[a['地域コード'].str.match(r'^R\d+', na=False)].copy()
a = a[pd.to_numeric(a['総人口'], errors='coerce') > 0]
num = lambda c: pd.to_numeric(a[c], errors='coerce')

d2 = pd.DataFrame({'市区町村': (a['都道府県'] + a['市区町村']).values})
d2['人口増減率'] = (((num('出生数') - num('死亡数')) + (num('転入者数(日本人移動者)') - num('転出者数(日本人移動者)'))) / num('総人口') * 100).values
d2['高齢化率'] = (num('65歳以上人口') / num('総人口') * 100).values
d2 = d2.dropna()
gen = (d2['人口増減率'] < -1.5) & (d2['高齢化率'] > 40)
print(f'市区町村数: {len(d2)} / うち「人口減 1.5%/年超 × 高齢化率 40%超」の消滅リスク自治体: {gen.sum()}')
r, p = stats.pearsonr(d2['高齢化率'], d2['人口増減率'])
print(f'高齢化率 × 人口増減率: r = {r:+.3f} (p<0.001)')
print('人口減少率 上位5:', '、'.join(d2.nsmallest(5, '人口増減率')['市区町村']))
▼ 実行結果
市区町村数: 1740 / うち「人口減 1.5%/年超 × 高齢化率 40%超」の消滅リスク自治体: 412 高齢化率 × 人口増減率: r = -0.660 (p<0.001) 人口減少率 上位5: 福島県浪江町、福島県富岡町、福島県飯舘村、福島県葛尾村、熊本県球磨村
💡 解説
  • 「年 1.5% 超の人口減 × 高齢化率 40% 超」の自治体が 412(全体の約 1/4)。過疎は例外ではなく大量の自治体が直面する構造問題です。
  • 高齢化率と人口増減率の相関は r=−0.66。高齢化が進んだ自治体ほど自然減も社会減も大きい——過疎の自己強化ループが市区町村データにはっきり現れます。
💡 Python TIPS 複数条件のフィルタは (条件A) & (条件B)。カッコを忘れると優先順位で誤動作します。

まとめと今後の課題

本研究は、過疎地域・宍粟市の財政力をどう上げるかという問いに、市区町村データの相関分析で挑んだ。産業就業者数とはほぼ無相関(0.12〜0.39・報告値)、インターネット利用率とは正の相関(0.725・報告値)が出たが、著者はこれを直接の因果とせず、共通要因の高齢化を突き止めた(高齢化×ネット利用率 −0.94、高齢化×財政力 −0.71・報告値)。そこから高齢者によるSNS活用で観光PRを外部に広げ、観光客増→財政力向上→移住者増のサイクルを回す策を提言した。本ページでは、高齢化の進行(図1)と高齢化と人口流出の結びつき(図2)をSSDSE-Bで実再現し、財政力の相関そのものは報告値として切り分けた。高校生が「相関の裏にある潜在変数」まで踏み込んだ探究の姿勢が見どころである。

この研究の限界 ①中心の相関は財政力指数・ネット利用率など市区町村粒度で、本ページのSSDSE-Bでは実再現できず報告値の可視化にとどまる(高齢化の趨勢と人口流出のみ実再現)。②相関中心のため因果の向きは不明。③提言したSNSサイクルが観光客増につながるかは未検証。④高齢者がSNS活用をどう受け止めるかの調査は今後の課題と著者自身が述べている。
この研究から学べること 直感的な仮説(産業)を相関で棄却し、次の仮説(情報化)に進み、さらに相関の裏にある潜在変数(高齢化)を疑うという探究の進め方、そして実再現できる部分と報告値を切り分ける誠実さ。審査会も高校生による身近な地域課題の設定と、潜在変数まで踏み込む丁寧さを評価し、審査員奨励賞に選んだ。

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

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

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

※ 図1(高齢化率の推移)・図2(高齢化率×社会増減率)はSSDSE-Bの A1101/A1303/A5101/A5102 から算出した実再現です。図3(相関係数の一覧)と図4(Twitter発信数の内訳)は、財政力指数・インターネット利用率・独自収集データが出典でSSDSE-B外・市区町村粒度のため、原論文の報告値を可視化したものです(新たな数値の捏造はしていません)。

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

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

誤解1:「ネット利用率と財政力に相関(0.725)があるなら、ネットを普及させれば財政力が上がる」
相関因果ではない。著者自身が指摘するように、両方を左右する潜在変数の高齢化による見かけの相関の可能性が高い。ネット普及だけでは財政力は上がらないかもしれない。
誤解2:「産業就業者数と財政力に相関がないなら、産業は地域に関係ない」
相関が弱い(0.12〜0.39)のは「就業者“数”という単純な量では財政力を説明しにくい」というだけ。産業の種類・生産性・人口比などで見れば別の関係が出る可能性がある。相関が弱い=無関係、と決めつけない。
誤解3:「高齢化率は SSDSE-B の列を1つ読めば手に入る」
SSDSE-B に「高齢化率」という完成した列は無い。A1303 65歳以上人口A1101 総人口 で割って自分で作る。既製の指標に頼らず、実在する列から指標を組み立てるのがデータ加工の基本。
誤解4:「このページの図はすべて原論文と同じ数値を計算し直したもの」
図1(高齢化率の推移)と図2(高齢化率×社会増減率)だけがSSDSE-Bからの実再現。図3・図4は財政力指数・ネット利用率・独自収集データでSSDSE-B外のため報告値の可視化(再計算ではない)。図注に区別を明記している。

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

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

相関(相関係数)
2つの量が一緒に動く強さを−1〜+1で表す。本研究は財政力指数×産業(0.12〜0.39)、財政力指数×ネット利用率(0.725)、高齢化×財政力(−0.71)などの相関を軸に分析した。
潜在変数(交絡因子)
着目する2つの量の両方に影響し、見かけの相関を生む隠れた要因。本研究では「高齢化」が、ネット利用率と財政力の両方を下げる交絡因子として特定された。
見かけの相関
共通要因(ここでは高齢化)を通じて生じる、実質的でない相関。ネット利用率×財政力の0.725はその典型例と解釈できる。
因果関係
一方が原因で他方が結果という関係。相関があっても因果は言えない。高齢化と財政力の因果の向きも本研究では厳密には特定されていない。
無相関検定
「本当は相関が0」という帰無仮説のもとで、観測された相関が偶然かを調べる検定。本ページの実再現(図2)ではp<0.000001で有意だった。
高齢化率
総人口に占める65歳以上人口の割合。本研究の核心概念で、SSDSE-Bでは A1303/A1101 で計算する。
SSDSE
教育用標準データセット。本ページの実再現はSSDSE-B(都道府県別)の総人口・65歳以上人口・転入転出を用いる。原論文の財政力指数・産業就業者数は市区町村粒度でSSDSE-Bに無い。

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

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

全体像
まず相関係数で財政力と各要因の結びつきを測り → 相関が出た組(ネット利用率)について潜在変数(高齢化)を疑い → 無相関検定で偶然でないか確かめる。相関を鵜呑みにせず「裏の共通要因」を探すのが見どころ。
🔗 相関分析
何をする
2つの量が一緒に動く強さを相関係数(−1〜+1)で測る。財政力指数×産業就業者数、財政力指数×ネット利用率などを計算する。
読み方
絶対値が0.7以上で「強い相関」、0.4前後で「弱い相関」、0.2未満で「ほとんど無し」。符号は関係の向き(+なら同方向、−なら逆方向)。
注意
相関は因果ではない。共通要因による見かけの相関に注意。就業者“数”のように量だけを見ると関係を捉えそこねることもある。
🕵️ 潜在変数(交絡)を疑う
何をする
2変数に相関が出たとき、両方を動かす第3の変数を探す。本研究はネット利用率×財政力の裏に「高齢化」を見つけ、高齢化と両者の相関(−0.94/−0.71)を確かめた。
なぜ有効
交絡を見抜けば、誤った施策(例:ネットを配れば財政力が上がる)を避けられる。本当に効く根の要因(高齢化)に手を打てる。
注意
交絡候補は無数にあり、1つ見つけて終わりではない。高齢化以外の共通要因(産業構造・立地)も残りうる。相関だけでは因果の向きは決まらない。
🧪 無相関検定
何をする
「母集団では相関が0」という帰無仮説のもとで、手元の相関係数がどれくらい珍しいかをp値で計算する。珍しければ「無相関とは言えない=有意」。
なぜ有効
相関係数はサンプルが少ないと偶然大きく出ることがある。検定で「偶然ではなさそう」な相関だけを残せる。図2の実再現ではp<0.000001だった。
注意
有意=関係が強い、ではない。有意水準やサンプル数に結果が左右される。有意でも因果は別問題。

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

この研究の「高齢化が過疎化・財政力低下の根にある」という結論は、次の研究の出発点になる。

発展1:SNS活用サイクルの効果を検証する(著者の今後の展望)
結果X
地域おこしに成功した自治体は外部向け発信が多い(報告値)。高齢者SNS活用のサイクルを提言。
新仮説Y
外部向け発信を増やした自治体では、その後に観光客・移住者が増えるのではないか。
課題Z
SNS施策の前後で観光入込客数・転入者数の変化を追跡し、因果に踏み込む。宍粟市での実証が鍵。
発展2:高齢化を軸に全国の過疎を分析する
結果X
高齢化率と社会増減率に強い負の相関(r=−0.795・実再現)。高齢化が人口流出と結びつく。
新仮説Y
高齢化率から将来の人口流出(過疎化の進行)をある程度予測できるのではないか。
課題Z
SSDSE-Bの時系列(2012〜2023)で、ある年の高齢化率が翌年以降の社会増減率をどれだけ説明するかを回帰などで検討する。

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

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

★☆☆☆☆ 難易度1
別の県で高齢化率の推移を出す
図1のコードは df['Prefecture'] == '兵庫県' で兵庫県を選んでいる。ここを「秋田県」や「東京都」に変えて、高齢化の進み方の違いを見てみよう。
★★☆☆☆ 難易度2
高齢化率の都道府県ランキングを作る
2023年(df[df['SSDSE-B-2026']==2023])の高齢化率を降順に並べ、上位・下位5県を表示してみよう。過疎が進む県が上位に来るはず。
★★★☆☆ 難易度3
転入率・転出率を別々に見る
社会増減(転入−転出)ではなく、転入率(A5101/A1101)と転出率(A5102/A1101)を別々に高齢化率と相関させてみよう。どちらがより効いているかが分かる。
★★★★☆ 難易度4
年を変えて相関の安定性を見る
図2は2023年だけ。2015年・2019年でも高齢化率×社会増減率の相関を計算し、r がどれくらい安定しているかを比べてみよう。
★★★★★ 難易度5
なぜ財政力の相関は再現できないのか説明する
原論文の中心(財政力×ネット利用率0.725)が、なぜSSDSE-Bで実再現できないのかを、変数の有無粒度(都道府県 vs 市区町村)の2点から自分の言葉で説明してみよう。

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

「相関を出したら潜在変数を疑い、根の要因に手を打つ」発想は、行政や企業で広く使われている。

🏞️
自治体の地方創生・過疎対策
人口流出の指標と高齢化・産業・交通などの相関を見て、どの根の要因に予算を投じるかを判断する。本研究と同じ発想。
📊
マーケティングの交絡調整
「広告を見た人ほど買う」の裏に「もともと関心が高い層」という潜在変数がないかを疑い、効果を正しく測る。
🏥
医療・疫学の交絡因子分析
「Aを飲む人は健康」の裏に年齢や生活習慣という共通要因がないかを調整して、真の効果を推定する。

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

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

Q. なぜネット利用率と財政力に相関があるのに「関係ない」と考えたの?
A. 相関(0.725)はあくまで「一緒に動く」というだけで、直接の因果とは限らないからです。著者は両方を同時に下げる共通要因(潜在変数)として高齢化を疑い、実際に高齢化×ネット利用率 −0.94、高齢化×財政力 −0.71 という強い負の相関を見つけました。
Q. このページの図は原論文と同じ数値ですか?
A. 図1(高齢化率の推移)と図2(高齢化率×社会増減率)はSSDSE-Bからの実再現です。図3(相関係数の一覧)と図4(Twitter発信数)は財政力指数・ネット利用率・独自収集データが出典でSSDSE-Bに無いため、原論文の報告値を符号・桁そのままに転記して可視化しています。新たな数値の捏造はしていません。
Q. 図2の −0.795 は原論文の高齢化×財政力 −0.71 と同じもの?
A. 違います。原論文の −0.71 は「高齢化×財政力指数(市区町村)」の報告値。図2の −0.795 は「高齢化×社会増減率(都道府県)」を私たちがSSDSE-Bで実再現した別の値です。変数も粒度も違うため、あくまで「高齢化が地域の活力を下げる」という主張を実データで裏づける参考として、ラベルを分けて示しています。
Q. 高齢者にSNSは難しいのでは?なぜ高齢者に発信させるの?
A. 著者は3つの理由を挙げています。(1)高齢者のSNS利用は新規性があり話題になる、(2)地域を支える若者の負担を増やさない、(3)長く住む高齢者ほど地域の歴史や伝統を詳しく知り、説得力あるPRができる。若者がSNS講座を開いて高齢者を支える設計です。

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

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

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

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

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