論文一覧に戻る 🕸 論文ネットワーク 🗺 用語ネットワーク 統計データ分析コンペ 教育用再現集
特別賞(統計分析)(高校生の部)
2021年度(令和3年度)統計データ分析コンペティション

ごみの排出量と人口構成比に関する定量分析

⏱️ 推定読了時間: 約25分
杉本 歩優(お茶の水女子大学附属高等学校) | SSDSE-B・e-Stat(47都道府県) | 相関分析・偏相関分析
🔬 偏相関🔬 相関分析🏷 ごみ・リサイクル🏷 外国人・国際
🔬 手法タグ / 🏷 応用タグ(クリックで同タグの論文をネットワーク検索)
🔬 再現カルテ — 原論文と同じデータ・同じ手法で再現

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

原論文が使ったデータe-stat・SSDSE-B
分析単位:都道府県
中核手法:相関分析
この教材が使うデータ
原論文(PDF)ごみの排出量と人口構成比に関する定量分析
特別賞/杉本 歩優(お茶の水女子大学附属高等学校)
✅ この教材でできること
  • 原論文の中核手法(相関分析)を実データで実行できる
  • 分析に使うデータは同梱済みで、ブラウザ上でそのまま読み込める
  • 数値・図を最後まで再計算できる(偏相関分析)
突合監査の結果、主要データと中核手法はいずれも原論文と一致しています。

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

🏅 論文審査会コメント(審査員はここを評価した)
「男女年齢別にごみの排出量を考えるのは面白い視点である。自分なりの仮説あるいは先行研究のデータ検証を試みており、偏相関なども活用していて素朴な記述とレポートの流れが好ましい。」
出典:統計センター「統計データ分析コンペティション」受賞論文PDF掲載の審査講評。プロの審査員が何を評価し、何を注文したかは論文の読み方の最良の手本になる。
📝 3行で分かる要約

目次

  1. 研究のテーマと目的
  2. データと変数(表1・表2)
  3. 再現コード:人口構成比の加工
  4. 図1:人口構成比の分布(実再現)
  5. 図2:女性割合と高齢者割合の交絡(実再現)
  6. 主要な発見:相関分析(表3)
  7. 偏相関分析による考察
  8. 結果の解釈(考察1〜3)
  9. まとめ
  10. データ・コードのDL
  11. ⚠️ よくある誤解
  12. 📖 用語集
  13. 📐 手法ガイド
  14. 🚀 発展の可能性
  15. 🎯 自分でやってみよう
  16. 🤔 Q&A
  17. 🐍 ブラウザで動かす

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

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

このページの人口構成比の計算は、以下の手順で自分で再現できます。コードの編集は不要です。(なお、ごみ排出量そのものは e-Stat「一般廃棄物処理事業実態調査」由来で SSDSE には未収録のため、ごみとの相関係数は原論文の報告値を用います。)

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

ごみ処理場の不足や処理コストの増大など、ごみに関する問題は多い。著者は「都道府県別 1人1日当たりのごみ排出量 少なさランキング」を目にして、1位が長野県(811 g/人日)、47位が富山県(1045 g/人日)で、隣接する2県なのに大きな差があることに興味を抱いた。

上位県では、6年連続1位の長野県による「食べ残しを減らそう県民運動〜e-プロジェクト〜」「信州プラスチックスマート運動」など、ごみを減らす取り組みが県民の意識を高めているという。 しかしそうした取り組みとは別に、潜在的にごみ排出量と相関を持つものはないか──という問いから、「人口構成」という新しい観点でごみ問題をとらえ直すのが本研究の目的である。

811
最少:長野県(g/人日)※出典ランキング
1045
最多:富山県(g/人日)※出典ランキング
47
分析対象の都道府県数
0.444
総ごみ×高齢者割合の相関(報告値 r)
研究の問い 都道府県別の「1人1日当たりごみ排出量(合計・生活系・事業系)」は、①男女の割合、②外国人人口の割合、③年齢別(15歳未満・15〜64歳・65歳以上)の人口割合と、どのような相関関係を持つか。
著者の当初の仮説(後で覆る) 「女性の方が家で調理する人が多いので、女性割合が高いほど生活系ごみが多いはず」「外国人労働者は製造業に多いので、外国人割合が高いほど事業系ごみが多いはず」。──分析の結果、いずれも逆の傾向が示された。

高校生の部 SSDSE-B e-Stat 一般廃棄物処理事業実態調査 相関分析 偏相関分析

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

表1 利用したデータ(いずれも2018年度)

分類項目出典年度
ごみの排出量1人1日当たりの ①合計 ②生活系 ③事業系 ごみ排出量e-Stat「一般廃棄物処理事業実態調査」2018
人口総人口/総人口(男)/総人口(女)/日本人人口/15歳未満人口/15〜64歳人口/65歳以上人口SSDSE-B-20212018

表2 加工したデータ(人口構成比)

求めた指標計算方法
総人口に占める男性の割合総人口(男)÷ 総人口
外国人人口総人口 − 日本人人口
総人口に占める外国人人口の割合外国人人口 ÷ 総人口
総人口に占める15歳未満人口の割合15歳未満人口 ÷ 総人口
総人口に占める15〜64歳人口の割合15〜64歳人口 ÷ 総人口
総人口に占める65歳以上人口の割合65歳以上人口 ÷ 総人口
再現可能性の整理(このページの図の作り方)
  • 実再現できる部分:表2の人口構成比は SSDSE-B に収録された人口列から計算できる(本ページの図1・図2)。女性割合と高齢者割合の相関 r=0.643 も人口比どうしなので再計算でき、報告値をほぼ再現できた
  • 報告値の可視化(再計算ではない):ごみ排出量は e-Stat 由来で SSDSE には per-capita・生活系/事業系の内訳が無い。よってごみとの相関係数・偏相関係数は原論文の報告値を転記して可視化している(本ページの図3・図4)。新たな数値の再計算ではない。
使う統計手法
人口構成比
(表2を計算)
散布図で
目視
相関係数
|r|≧0.3で相関あり
偏相関
交絡を除去
1
再現コード:人口構成比の加工(表2)

まず、原論文の「表2 加工したデータ」を SSDSE-B から実際に計算してみる。ここは実データによる再現である。

やってみようSSDSE-B を読み込み、2018年断面を抜き出す
  • ① このコードの目的:CSV を読み込み、原論文が使った2018年度の47都道府県だけを取り出す。SSDSE-B は cp932 で、2行目に日本語見出しがあるため header=1 で読み込む。
  • ② 前後のつながり:ここで用意した2018年のデータ d に、続けて表2の人口構成比を追加していく。
📝 コード
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import os
import numpy as np
import pandas as pd
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
from scipy import stats

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'
YEAR    = 2018            # 原論文が用いた年度(SSDSE-B-2021 収録の 2018 年度データ)
os.makedirs(FIG_DIR, exist_ok=True)

# ── データ読み込み(cp932・2行目に日本語列名 → skiprows=1 で日本語見出しを採用)──
df_b = pd.read_csv(DATA_B, encoding='cp932', header=1)
df_b = df_b[df_b['地域コード'].str.match(r'^R\d{5}', na=False)].copy()
df_b['年度'] = df_b['年度'].astype(int)

# ── 2018年断面(47都道府県)を抽出 ──────────────────────────────
d = df_b[df_b['年度'] == YEAR].copy()
  • ④ 実行結果の読み取り:エラーなく読み込めれば準備完了。地域コードR+5桁の行だけを残すことで、全国計や地方ブロック計を除いた47都道府県に絞れている。
やってみよう表2の人口構成比を計算する(実再現)
  • ① このコードの目的:表2の計算式そのままに、男性割合・外国人割合・年齢3区分の割合を計算する。これが原論文の「加工したデータ」を SSDSE-B から実際に再現する部分。
  • ② 前後のつながり:算出した5つの割合が、このあとの図1(分布)と図2(交絡)の材料になる。
📝 コード
55
56
57
58
59
60
61
62
d['男性割合']     = d['総人口(男)']                 / d['総人口']
d['女性割合']     = d['総人口(女)']                 / d['総人口']
d['外国人割合']   = (d['総人口'] - d['日本人人口'])    / d['総人口']
d['15歳未満割合'] = d['15歳未満人口']                 / d['総人口']
d['1564歳割合']   = d['15~64歳人口']                 / d['総人口']
d['65歳以上割合'] = d['65歳以上人口']                 / d['総人口']

RATIOS = ['男性割合', '外国人割合', '15歳未満割合', '1564歳割合', '65歳以上割合']
  • ④ 実行結果の読み取り:計算結果の要約は次のとおり(実出力)。男性割合は約0.47〜0.50、外国人割合は0.3〜3.7%、高齢者割合は21.5〜36.2%と、都道府県差が確認できる。
    --- 表2 人口構成比の要約(実再現・SSDSE-B)--- 男性割合 : 平均 0.4828 / 最小 0.4698(長崎県) / 最大 0.4997(愛知県) 外国人割合 : 平均 0.0135 / 最小 0.0030(秋田県) / 最大 0.0374(東京都) 15歳未満割合 : 平均 0.1227 / 最小 0.0995(秋田県) / 最大 0.1699(沖縄県) 1564歳割合 : 平均 0.5752 / 最小 0.5340(秋田県) / 最大 0.6541(東京都) 65歳以上割合 : 平均 0.3001 / 最小 0.2153(沖縄県) / 最大 0.3624(秋田県)
2
図1:人口構成比の分布(実再現)
やってみよう図1:人口構成比の分布を描く
  • ① このコードの目的:表2で求めた5つの割合が、47都道府県でどう散らばっているかをヒストグラムで確認する。
  • ② 前後のつながり:分布の形をつかんでおくと、次の散布図(図2以降)で外れ値や偏りを読み取りやすい。
📝 コード
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
fig1, axes = plt.subplots(2, 3, figsize=(12, 7))
titles = {'男性割合': '総人口に占める男性の割合',
          '外国人割合': '総人口に占める外国人人口の割合',
          '15歳未満割合': '15歳未満人口の割合',
          '1564歳割合': '15〜64歳人口の割合',
          '65歳以上割合': '65歳以上人口の割合'}
for ax, col in zip(axes.ravel(), RATIOS):
    ax.hist(d[col], bins=12, color='#4e79c5', edgecolor='white', alpha=0.9)
    ax.axvline(d[col].mean(), color='#c0392b', linestyle='--', linewidth=1.4,
               label=f'平均 {d[col].mean():.3f}')
    ax.set_title(titles[col], fontsize=11)
    ax.set_xlabel('割合', fontsize=9)
    ax.set_ylabel('都道府県数', fontsize=9)
    ax.legend(fontsize=9)
    ax.grid(axis='y', alpha=0.3)
axes.ravel()[-1].axis('off')
axes.ravel()[-1].text(0.05, 0.5,
    '【実再現】\nSSDSE-B-2026.csv の人口列から\n表2の計算式で算出\n(2018年度・47都道府県)',
    fontsize=12, va='center', color='#333')
fig1.suptitle('図1:人口構成比の分布(実再現・SSDSE-B 2018年)', fontsize=14, fontweight='bold')
fig1.tight_layout()
fig1.savefig(os.path.join(FIG_DIR, '2021_H5_2_fig1.png'))
plt.close(fig1)
fig1 saved
  • ④ 実行結果の読み取り:各割合とも都道府県ごとにばらつきがあり、平均線(赤破線)を中心に分布している。これらは SSDSE-B の実データから計算した値である。
人口構成比の分布(実再現)
図1:表2の人口構成比の分布(SSDSE-B 2018年、47都道府県)。実再現:SSDSE-B の人口列から表2の式で計算した実データ。
📊 この図の読み方
横軸
各人口構成比(割合)。縦軸は都道府県数。
赤い破線
47都道府県の平均。外国人割合は東京都が飛び抜けて高く、右に裾を引いている。
位置づけ
実再現。ごみ排出量は使わず、人口比だけで描けるためこの図は再計算で作成できる。
3
図2:女性割合と高齢者割合の交絡(実再現)

原論文の核心は「女性割合」と「高齢者割合」がどちらもごみと相関して見えること。ところがこの2つの人口比自体が強く連動しているため、片方の見かけの相関がもう片方の影響かもしれない。まずその連動を実データで確かめる。

やってみよう図2:女性割合と高齢者割合の関係(交絡の可視化)
  • ① このコードの目的:「女性の割合」と「65歳以上の割合」の関係を散布図に描き、相関係数を計算する。原論文が偏相関を使う根拠となる交絡(2つの人口比が連動する)を確かめる。
  • ② 前後のつながり:ここで両者が強く相関することを確認できれば、ごみとの関係を見るときに「どちらの影響か」を切り分ける偏相関(図4)が必要になる。
📝 コード
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
x = d['女性割合'].values
y = d['65歳以上割合'].values
slope, intercept, r_val, p_val, _ = stats.linregress(x, y)

fig2, ax2 = plt.subplots(figsize=(9, 7))
ax2.scatter(x, y, s=60, color='#4e79c5', alpha=0.85, zorder=3)
for _, row in d.iterrows():
    pref = row['都道府県'].replace('県', '').replace('府', '').replace('都', '').replace('道', '')
    ax2.annotate(pref, (row['女性割合'], row['65歳以上割合']),
                 fontsize=7.5, xytext=(2, 2), textcoords='offset points', color='#555')
xr = np.linspace(x.min(), x.max(), 100)
ax2.plot(xr, intercept + slope * xr, color='#c0392b', linewidth=1.8,
         label=f'回帰線(r={r_val:.3f}, p<0.001)')
ax2.set_xlabel('総人口に占める女性の割合', fontsize=12)
ax2.set_ylabel('総人口に占める65歳以上人口の割合', fontsize=12)
ax2.set_title('図2:女性の割合と高齢者割合の関係(実再現・2018年、N=47)\n'
              '原論文の報告値 r=0.643 を再現 → 偏相関分析が必要な理由',
              fontsize=12, fontweight='bold')
ax2.legend(fontsize=11, loc='upper left')
ax2.grid(alpha=0.25)
fig2.tight_layout()
fig2.savefig(os.path.join(FIG_DIR, '2021_H5_2_fig2.png'))
fig2 saved
  • ④ 実行結果の読み取り:相関係数は r=0.645 となり、原論文の報告値 0.643 をほぼ再現できた(実出力:相関係数 r = 0.645(原論文の報告値 0.643 とほぼ一致) p = 1.00e-06)。女性割合が高い県ほど高齢者割合も高い。女性の平均寿命が長いことが背景にある。
女性割合と高齢者割合の散布図(実再現)
図2:女性割合と65歳以上人口割合の関係(2018年、N=47)。実再現:報告値 r=0.643 を r=0.645 として再現。
📊 この図の読み方
右肩上がり
女性割合が高い県ほど高齢者割合も高い(正の相関)。
なぜ連動?
女性の平均寿命が長いため、高齢化が進んだ県では女性割合も高くなる。
だから偏相関
この交絡があるので、ごみとの関係は「女性の影響」と「高齢者の影響」を分けて(=偏相関で)見る必要がある(図4)。
4
主要な発見:相関分析(表3)

原論文は、人口5観点 × ごみ3観点=15通りの相関係数を求め、絶対値が0.3以上を「弱い相関あり(○)」、0.3未満を「相関ほぼなし(×)」と判定した。

やってみよう図3:相関係数マトリクスを描く【報告値の可視化】
  • ① このコードの目的:原論文が e-Stat のごみデータで計算した「表3の相関係数15個」を配列として持ち、色付きマトリクスで一覧する。ここは再計算ではなく報告値の転記・可視化
  • ② 前後のつながり:この15個のうち |r|≧0.3 のものを「相関あり」と判定し、考察1〜3につなげる。
📝 コード
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
POP_VIEWS  = ['男性の割合', '外国人人口割合', '15歳未満人口割合', '15〜64歳人口割合', '65歳以上人口割合']
WASTE_KIND = ['ごみ合計', '生活系ごみ', '事業系ごみ']
REPORTED_R = np.array([
    [-0.218082407,  0.138296204, -0.397686082],   # 男性の割合
    [-0.356373954, -0.028430004, -0.383354428],   # 外国人人口割合
    [-0.311385645, -0.393769041,  0.051500657],   # 15歳未満人口割合
    [-0.384795539, -0.131424138, -0.308414087],   # 15〜64歳人口割合
    [ 0.443669497,  0.250275895,  0.252165197],   # 65歳以上人口割合
])

# 5-2 偏相関係数:単純相関 → 交絡変数を除いた偏相関(女性の割合ベースで報告)
PARTIAL = [
    # (ラベル, 単純相関, 除いた変数, 偏相関)
    ('生活系ごみ × 女性の割合',  -0.148, '65歳以上人口割合', -0.416),
    ('生活系ごみ × 65歳以上割合', 0.250, '女性の人口割合',    0.456),
    ('事業系ごみ × 女性の割合',   0.413, '65歳以上人口割合',  0.339),
    ('事業系ごみ × 65歳以上割合', 0.252, '女性の人口割合',   -0.019),
]
  • ④ 実行結果の読み取り:マトリクスから、絶対値0.3以上(○)は「男性割合×事業系(−0.398)」「外国人割合×合計/事業系」「15歳未満・15〜64歳の各割合」「65歳以上×合計(+0.444)」などと読み取れる。数値はすべて原論文の報告値。
相関係数マトリクス(報告値の可視化)
図3:人口5観点×ごみ3観点の相関係数。報告値の可視化(再計算ではない):数値は原論文の報告値をそのまま配置。

表3 相関係数の一覧(原論文の報告値)

人口の観点\ごみ合計生活系事業系
男性の割合−0.218 ×0.138 ×−0.398 ○
外国人人口割合−0.356 ○−0.028 ×−0.383 ○
15歳未満人口割合−0.311 ○−0.394 ○0.052 ×
15〜64歳人口割合−0.385 ○−0.131 ×−0.308 ○
65歳以上人口割合0.444 ○0.250 ×0.252 ×

○=|r|≧0.3(弱い相関あり)/×=|r|<0.3(相関ほぼなし)。数値は原論文の報告値。実行結果(実出力)は下記のとおり。

--- 表3 相関係数【原論文の報告値/再計算ではない】---
  人口の観点                 ごみ合計       生活系       事業系
  男性の割合               -0.218     0.138    -0.398
  外国人人口割合             -0.356    -0.028    -0.383
  15歳未満人口割合           -0.311    -0.394     0.052
  15〜64歳人口割合          -0.385    -0.131    -0.308
  65歳以上人口割合            0.444     0.250     0.252
整理:相関があると判定されたもの(|r|≧0.3)
正の相関負の相関
総ごみの排出量65歳以上人口割合外国人人口割合、15歳未満人口割合、15〜64歳人口割合
事業系ごみの排出量(該当なし)男性の割合、外国人人口割合、15〜64歳人口割合
考察1〜3の要点(原論文)
  • 考察1:事業系ごみと男性割合は負(−0.398)→ 裏返すと女性割合が高いほど事業系ごみが多い。当初の仮説と逆。
  • 考察2:事業系ごみと外国人割合は負(−0.383)→ 外国人割合が高いほど事業系ごみが少ない。製造業で外国人が多いという予想と逆。
  • 考察3:総ごみと65歳以上割合は正(+0.444)→ 高齢者割合が高いほど総ごみが多い
5
偏相関分析による考察(5-2)

図2で見たとおり、女性割合と高齢者割合は r=0.643 で連動している。そこで互いの影響を取り除いた偏相関係数を使い、「本当はどちらがごみと関係しているか」を切り分ける。

やってみよう図4:単純相関と偏相関を比べる【報告値の可視化】
  • ① このコードの目的:「女性割合」と「高齢者割合」の交絡(図2で確認)を踏まえ、原論文が計算した単純相関→偏相関の4つの比較を棒グラフにする。報告値の転記・可視化
  • ② 前後のつながり:交絡変数を取り除くと相関の見え方がどう変わるか、を一目で示す。
📝 コード
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
fig4, ax4 = plt.subplots(figsize=(10, 6))
ypos = np.arange(len(labels))
h = 0.36
ax4.barh(ypos + h/2, simple_r,  height=h, color='#b0bec5', label='単純相関係数')
ax4.barh(ypos - h/2, partial_r, height=h, color='#e05c5c', label='偏相関係数')
for i, (s, p) in enumerate(zip(simple_r, partial_r)):
    ax4.text(s + (0.01 if s >= 0 else -0.01), i + h/2, f'{s:.3f}',
             va='center', ha='left' if s >= 0 else 'right', fontsize=10, color='#455a64')
    ax4.text(p + (0.01 if p >= 0 else -0.01), i - h/2, f'{p:.3f}',
             va='center', ha='left' if p >= 0 else 'right', fontsize=10, color='#c0392b')
ax4.axvline(0, color='black', linewidth=0.8)
for thr in (0.3, -0.3):
    ax4.axvline(thr, color='#888', linestyle=':', linewidth=1)
ax4.set_yticks(ypos)
ax4.set_yticklabels(labels, fontsize=11)
ax4.set_xlabel('相関係数(原論文の報告値)', fontsize=12)
ax4.set_title('図4:単純相関 → 偏相関で見え方が変わる【原論文の報告値】\n'
              '点線は |r|=0.3(相関の有無の目安)', fontsize=12, fontweight='bold')
ax4.legend(fontsize=11, loc='lower right')
ax4.grid(axis='x', alpha=0.25)
fig4.tight_layout()
fig4.savefig(os.path.join(FIG_DIR, '2021_H5_2_fig4.png'))
  • ④ 実行結果の読み取り:偏相関にすると符号や強さが変わるものがある。とくに生活系ごみ×女性割合は単純 −0.148(相関なし)→ 偏 −0.416(負の相関が出現)、生活系ごみ×高齢者は 0.250→0.456(正の相関が明確化)。数値は原論文の報告値。
単純相関と偏相関の比較(報告値の可視化)
図4:単純相関→偏相関の比較。報告値の可視化(再計算ではない):数値は原論文の報告値。
--- 5-2 偏相関係数【原論文の報告値】---
  生活系ごみ × 女性の割合     : 単純 -0.148 → 「65歳以上人口割合」を除いた偏相関 -0.416
  生活系ごみ × 65歳以上割合   : 単純 +0.250 → 「女性の人口割合」を除いた偏相関 +0.456
  事業系ごみ × 女性の割合     : 単純 +0.413 → 「65歳以上人口割合」を除いた偏相関 +0.339
  事業系ごみ × 65歳以上割合   : 単純 +0.252 → 「女性の人口割合」を除いた偏相関 -0.019
偏相関でわかったこと(原論文の結論)
  • 生活系ごみ:高齢者割合の影響を除くと、女性割合との相関は −0.416(負)。女性割合の影響を除くと、高齢者割合との相関は +0.456(正)
  • 事業系ごみ:高齢者割合の影響を除いても、女性割合との相関は +0.339(正のまま)。一方、女性割合の影響を除くと、高齢者割合との相関は −0.019(ほぼ消える)
  • → 事業系ごみに効いているのは女性割合、生活系ごみに効いているのは高齢者割合、という切り分けができた。

結果の解釈(考察1〜3の背景)

原論文は、相関の「向き」がなぜ生じたのかを、外部資料(円グラフ・棒グラフ)を引用して考察している。これらの図はごみ組成や就業構造の資料であり、本ページでは数値の再計算はできない。要点のみ紹介する(グラフは原論文参照)。

① 男女割合とごみ(考察1)

原論文の図6(生活系ごみの内訳:紙28%・生ごみ27%・プラスチック12%…/環境リサイクル学習HPより)と図7(事業系ごみの内訳:製造業29%・電気ガス等26%…/環境省 環境統計集より)を引用。男性割合が高いほど生活系ごみが多い背景として、惣菜等の過剰包装、男性の残業時間の長さ、ペットボトル・ビン・缶(飲酒習慣は男性33%・女性8.6%)を挙げている。女性割合が高いほど事業系ごみが多い要因は特定できなかった

② 外国人割合とごみ(考察2)

原論文の図8(外国人就業者と日本人就業者の産業別比較/nippon.com・総務省統計局より)を引用。「外国人は製造業に多いので事業系ごみも多いはず」という予想と逆に、外国人割合が高いほど事業系ごみは少なかった。要因ははっきりしなかった

③ 年代別割合とごみ(考察3)

原論文の図9(おもな産業別 高齢者就業者数・割合/総務省統計局「労働力調査」より)を引用。農林業は就業者の約半分が高齢者であり、農林業は事業系ごみ排出量の上位に入るため、高齢者割合が高いほどごみが多い一因と考察している。

図6〜9について これらは外部統計の引用図であり、SSDSE では再計算できない。数値・グラフは原論文(PDF)を参照のこと。本ページでは要点の文章化にとどめる。

まとめ

ごみ排出量の多寡と人口構成の間には相関関係があることが示された。著者は「男性の方がごみを排出している」「外国人労働者が多いと事業系ごみも多い」という先入観を持っていたが、いずれも誤りだったとわかった。

偏相関分析により、事業系ごみには女性割合、生活系ごみには高齢者割合がそれぞれ関係している、という切り分けができた。ただし本研究は相関の発見にとどまり、「なぜ女性は事業系ごみ、高齢者は生活系ごみの排出量が多くなるのか」という要因の解明は今後の課題としている。

この研究から学べること 身近な疑問(隣接県のごみ量の差)を、公開統計と相関・偏相関という基本手法で定量化する姿勢。そして「相関があっても要因は別」という、相関と因果を混同しない慎重さ。

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

このページの人口構成比の計算・作図は、以下から再現できます。

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

※ ごみ排出量そのものは e-Stat「一般廃棄物処理事業実態調査」から取得します(SSDSE 未収録)。ごみとの相関係数・偏相関係数は原論文の報告値です。

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

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

誤解1:「相関がある=原因である」
高齢者割合とごみ排出量に正の相関があっても、高齢者がごみを増やしているとは限らない。地域の産業構造など、背後の別要因が両方を動かしている可能性がある。本研究自身、要因は特定できなかったと述べている。
誤解2:「相関係数が小さい=関係がない」
生活系ごみ×女性割合の単純相関は −0.148 でほぼ無相関に見えるが、交絡(高齢者割合)を取り除くと −0.416 の負の相関が現れる。単純相関だけで「関係なし」と結論しないこと。偏相関の出番である。
誤解3:「男性割合と女性割合は別々に調べる必要がある」
男性割合=1−女性割合なので、両者は完全に裏返しの関係。相関係数は符号が反転するだけ(例:事業系×男性 −0.398 は 事業系×女性 では正)。どちらか一方を見れば十分である。
誤解4:「|r|≧0.3 なら強い相関」
本研究の判定は「0.3以上=弱い相関あり」。0.3〜0.5はあくまで弱い関連であり、外れ値やサンプル数(N=47)に注意が必要。強い相関とは言えない。

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

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

相関係数
2つの数量が「一緒に増減する強さと向き」を −1〜+1で表す指標(Pearson)。本研究では |r|≧0.3で相関ありと判定。
偏相関係数
第3の変数(交絡)の影響を取り除いたうえでの2変数の相関。女性割合と高齢者割合の連動を除いて、ごみとの本当の関係を見るために使う。
散布図
2変数を点で描き、関係の形(右肩上がり/下がり)を目で確かめる図。
SSDSE
独立行政法人統計センターが公開する教育用標準データセット。SSDSE-B は都道府県別データ。
交絡
2つの変数の見かけの関係を生む、背後の第3変数。ここでは「女性割合と高齢者割合の連動」。

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

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

全体像
比率を計算 → 散布図で目視 → 相関係数で数値化 → 交絡が疑われたら偏相関で確認。基本手法だけで「思い込みを覆す」ところが本研究の見どころ。
🔗 相関分析(Pearson)
何をする
2変数が一緒に増減するかを −1〜+1 で数値化する。
読み方
正なら同方向、負なら逆方向。本研究は |r|≧0.3を「弱い相関あり」とした。
注意
相関は因果ではない。外れ値やサンプル数(N=47)に左右される。
🧩 偏相関分析
何をする
交絡変数の影響を統計的に取り除いてから相関を測る。
なぜ必要
女性割合と高齢者割合が r=0.643で連動しているため、片方の見かけの相関が他方由来かもしれないから。
効果
生活系ごみ×女性割合は単純 −0.148 → 偏 −0.416 と、隠れていた関係が現れた。
📈 散布図
何をする
2変数を点で描き、関係の形と外れ値を目で確認する。
本研究では
ごみ排出量(横軸)×人口構成比(縦軸)を県ごとにプロットして相関の向きを読み取った。

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

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

発展1:産業構造を交絡として組み込む
結果X
高齢者割合と事業系ごみの相関は、女性割合を除くとほぼ消えた(−0.019)。
新仮説Y
効いているのは年齢や性別そのものより「県の産業構造(製造業・農林業の比率)」ではないか。
課題Z
SSDSE の産業別就業者数を加え、重回帰や偏相関で産業要因を統制する。
発展2:年次の変化を追う(パネル化)
結果X
2018年の1時点(断面)の相関にとどまる。
新仮説Y
高齢化の進行につれてごみ構成も変化しているのではないか。
課題Z
複数年のごみデータを集め、時系列・パネルで関係の安定性を検証する。

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

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

★☆☆☆☆ 難易度1
別の年の人口構成比を計算する
YEAR = 201820132022 に変えて、高齢者割合の分布がどう動くか比べてみよう。
★★☆☆☆ 難易度2
男性割合と高齢者割合の相関を計算する
図2を参考に、男性割合65歳以上割合 の相関係数を求めよう。女性割合のとき(+0.645)と符号がどうなるか予想してから確かめる。
★★★☆☆ 難易度3
高齢者割合の都道府県ランキング
d.nlargest(10, '65歳以上割合') で上位10県を出し、ごみ排出量の多い県と重なるか調べよう。
★★★★☆ 難易度4
偏相関係数を自分で計算する
e-Stat のごみデータを入手できたら、pingouin.partial_corr などで生活系ごみ×女性割合(高齢者割合を統制)を計算し、報告値 −0.416 と比べよう。
★★★★★ 難易度5
産業構造を加えて重回帰
SSDSE の産業別就業者比率を説明変数に加え、事業系ごみを重回帰で説明してみよう。女性割合の効果は残るだろうか。
ヒント:まずは製造業・農林業・情報通信業の3業種比率から。多重共線性(変数どうしの相関)に注意。

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

相関・偏相関で「見かけの関係」と「本当の関係」を切り分ける発想は、現場でも広く使われている。

♻️
自治体のごみ減量計画
人口構成や世帯数とごみ量の関係を分析し、高齢化地域・単身世帯地域に合わせた減量施策を設計する。
🏥
公衆衛生・疫学
年齢や所得などの交絡を偏相関・多変量解析で調整し、真のリスク要因を見極める。
🛒
マーケティング分析
売上と気温・曜日など複数要因の関係を分離し、施策の効果を過大評価しないようにする。

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

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

Q. なぜ「男性割合」を調べたのに結論は「女性割合」の話なのですか?
A. 男性割合=1−女性割合なので、片方を調べればもう片方は符号が反転するだけで分かります。事業系ごみ×男性割合 −0.398 は、女性割合で見れば正の相関になります。
Q. 相関係数が0.3〜0.5と小さいのに結論して大丈夫?
A. 原論文も「弱い相関」と明記しています。断定ではなく「傾向がある」という慎重な言い方にとどめ、要因は今後の課題としている点が誠実です。
Q. このページの図は原論文の図と同じですか?
A. 一部だけ実再現です。人口構成比(図1・図2)は SSDSE-B から実際に計算した実データ。ごみとの相関(図3・図4)は SSDSE にごみの内訳が無いため、原論文の報告値を可視化したものです。図中と図注に二重に明記しています。原論文の散布図・円グラフ(図6〜9)はPDFを参照してください。
Q. 偏相関は何がうれしいのですか?
A. 女性割合と高齢者割合が連動(r=0.643)しているため、単純相関では「どちらの影響か」が混ざります。偏相関で片方を固定すると、事業系ごみは女性割合、生活系ごみは高齢者割合、と切り分けられました。

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

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

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

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

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