この教材は原論文と同じデータを読み込み、同じ手順で計算し直しています。画面に出る数値と図は、あなたのブラウザがその場で計算した結果です。
| 原論文が使ったデータ | SSDSE・海面漁業生産統計調査・魚介類等の漁獲量・食品データ館・水産情報システム(香川県)・過去の気象データ(気象庁) 分析単位:都道府県 中核手法:時系列分析 |
|---|---|
| この教材が使うデータ |
|
| 原論文(PDF) | 瀬戸内海におけるマダコの現状とその分析 特別賞/長谷川 夏恋・天野 雄耀(成城学園中学校高等学校) |
▶ ここに書いてある分析は、ページ下部の「🐍 ブラウザで動かす」でそのまま実行できます(インストール不要)。動かしているのは code/2021_H5_6_shorei.py(212 行)そのものです。
このページのいか・たこの支出額(図1・図2)は、以下の手順で自分で再現できます。コードの編集は不要です。(マダコ・ミズダコ・甲殻類・貝類の漁獲量、海水温、降水量はSSDSEに収録されていないため、原論文の報告値を可視化します=図3。)
data/raw/ フォルダに入れます。html/figures/ に自動保存されます。
著者は、たこ焼きパーティーで手にしたタコのパッケージが「モーリタニア産」だったことに驚いたところから研究を始める。日本には昔からタコを食べる文化があるのに、なぜ遠いアフリカからの輸入に頼っているのか。調べていくと、たこ焼きなどに使われるマダコの国内漁獲量が年々減少していることが分かった。
なぜ、マダコが獲れなくなってきているのか。 本研究は、マダコの主産地である瀬戸内海に着目し、①海水温、②降水量、③エサとなる甲殻類・貝類の漁獲量という自然環境の変化と、マダコの漁獲量の関係を、時系列の比較と相関分析で探る。
高校生の部 SSDSE-C(家計消費:いか・たこ支出額) e-Stat 海面漁業生産統計・気象庁ほか 時系列分析 相関分析
| データ | 年度 | 出典(原論文) |
|---|---|---|
| いか・たこの年間消費額(円) | 2021 | SSDSE(家計消費) |
| 北海道・兵庫・香川・愛媛のタコの漁獲量(t) | 1956–2015 | 海面漁業生産統計調査(e-Stat) |
| 兵庫・香川・愛媛のガザミ/エビ/カイ(貝類)の漁獲量(t) | 2003–2015 | 海面漁業生産統計調査(e-Stat) |
| 兵庫・香川・愛媛のタコ/ガザミ/エビ/貝類の漁獲量(t) | 2016–2018 | 魚介類等の漁獲量(家勉キッズ) |
| 兵庫・香川・愛媛のタコの漁獲量(t) | 2019 | 食品データ館 |
| 屋島湾における海水温(℃) | 2004–2019 | 水産情報システム(香川県) |
| 神戸・高松・松山の6〜10月の月別総降水量(mm) | 2004–2019 | 過去の気象データ(気象庁) |
| 指標 | 計算方法 |
|---|---|
| マダコの漁獲量(t) | 兵庫県・香川県・愛媛県のタコの漁獲量を各年で合計 |
| ミズダコの漁獲量(t) | 北海道のタコの漁獲量を用いる |
| カニの漁獲量(t) | 兵庫県・香川県・愛媛県のガザミの漁獲量を各年で合計 |
| エビの漁獲量(t) | 兵庫県・香川県・愛媛県のエビの漁獲量を各年で合計 |
| カイの漁獲量(t) | 兵庫県・香川県・愛媛県の貝類の漁獲量を各年で合計 |
| 前年6〜10月の平均海水温(℃) | 神戸・高松・松山の各年6〜10月の月平均海水温の平均 |
| 前年6〜10月の平均降水量(mm) | 神戸・高松・松山の各年6〜10月の総降水量の平均 |
原論文は、まず漁獲量と環境(海水温・降水量)の時系列を並べて眺め、次にエサ生物との関係を散布図と相関係数で確かめる、という素朴だが筋の通った流れをとっている。
原論文はまず「イカとタコの消費額」を比べるところから出発する。この部分は SSDSE-C に収録されているので、実データで再現できる。読み込んで、都道府県ごとに いか と たこ の年間支出額を比べてみよう。
header=1 で読み込み、47都道府県庁所在市の行だけを残す。列「いか」「たこ」=1世帯あたり年間支出額(円)を数値化し、両者を比較する。原論文の図1に対応する部分を実データで再現する。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 | print("=== SSDSE-C(家計消費データ) 読み込み ─ 実再現 ===") df = pd.read_csv(DATA_C, encoding='cp932', header=1) df = df[df['地域コード'].astype(str).str.match(r'^R\d{5}$', na=False)].copy() # 全国行(R00000)と都道府県行を分離 nat = df[df['地域コード'] == 'R00000'].iloc[0] pref = df[df['地域コード'] != 'R00000'].copy().reset_index(drop=True) pref['いか'] = pd.to_numeric(pref['いか'], errors='coerce') pref['たこ'] = pd.to_numeric(pref['たこ'], errors='coerce') pref = pref.dropna(subset=['いか', 'たこ']).reset_index(drop=True) nat_ika = float(pd.to_numeric(nat['いか'])) nat_tako = float(pd.to_numeric(nat['たこ'])) print(f"対象: {len(pref)}都道府県(庁所在市の家計、二人以上の世帯・年間支出額)") print(f"全国平均: いか={nat_ika:.0f}円 / たこ={nat_tako:.0f}円 → いか-たこ={nat_ika-nat_tako:.0f}円") n_ika_gt = int((pref['いか'] > pref['たこ']).sum()) print(f"『いか支出額 > たこ支出額』の都道府県数: {n_ika_gt}/{len(pref)}") print(f"たこ支出額: 平均={pref['たこ'].mean():.0f}円, 標準偏差={pref['たこ'].std():.0f}円, " f"最小={pref['たこ'].min():.0f}円, 最大={pref['たこ'].max():.0f}円") tako_seto = pref[pref['都道府県'].isin(SETO)]['たこ'].mean() tako_other = pref[~pref['都道府県'].isin(SETO)]['たこ'].mean() print(f"たこ支出額 平均: 瀬戸内海沿岸府県={tako_seto:.0f}円, その他={tako_other:.0f}円") |
=== SSDSE-C(家計消費データ) 読み込み ─ 実再現 === 対象: 47都道府県(庁所在市の家計、二人以上の世帯・年間支出額) 全国平均: いか=1648円 / たこ=1132円 → いか-たこ=516円 『いか支出額 > たこ支出額』の都道府県数: 47/47 たこ支出額: 平均=1031円, 標準偏差=218円, 最小=458円, 最大=1532円 たこ支出額 平均: 瀬戸内海沿岸府県=1170円, その他=998円
原論文は都道府県ごとの消費を地図的に眺めていた。地図はそのまま再現しにくいので、ここではランキング(横棒グラフ)に再表現して、どの地域がタコをよく買うのかを金額で示す。
127 128 129 130 131 132 133 134 135 136 137 138 | print("\n=== たこ支出額 都道府県ランキング ─ 実再現 ===") rank = pref[['都道府県', 'たこ']].sort_values('たこ', ascending=True).reset_index(drop=True) top5 = rank.tail(5)[::-1] bot5 = rank.head(5) print("たこ支出額 上位5:") for _, r in top5.iterrows(): print(f" {r['都道府県']}: {r['たこ']:.0f}円") print("たこ支出額 下位5:") for _, r in bot5.iterrows(): print(f" {r['都道府県']}: {r['たこ']:.0f}円") fig, ax = plt.subplots(figsize=(9, 12)) |
=== たこ支出額 都道府県ランキング ─ 実再現 === たこ支出額 上位5: 兵庫県: 1532円 大阪府: 1453円 奈良県: 1416円 東京都: 1351円 埼玉県: 1286円 たこ支出額 下位5: 沖縄県: 458円 宮崎県: 703円 佐賀県: 710円 大分県: 735円 山梨県: 757円
ここからは、SSDSEに収録されていない水産データ(漁獲量・海水温・降水量)に基づく分析になる。以下の数値・傾向はすべて原論文の報告値であり、本ページで再計算したものではない。グラフの原本は原論文(PDF)を参照のこと。
日本で食べられるタコをマダコとミズダコに分けて推移を見ると、ミズダコの方が圧倒的に多く獲れ、直近7〜8年は増加傾向。一方マダコは10年以上、減少傾向が続いている。この「マダコだけが減っている」という事実が、以降の分析の出発点になる。
「2018年の不漁は産卵期の海水温が低かったせい」という新聞記事を、著者はデータで検証した。前年産卵期(6〜10月)の平均海水温とマダコ漁獲量を最近15年で重ねると、2018年は15年で最低の漁獲量だが、そのとき生まれた時期の海水温はむしろ高めだった。よって記事の説(低水温が原因)は確認できなかった。海水温は近似直線で15年に約+0.5℃と上昇傾向にあるが、漁獲量と対になる年ごとの変動には明らかな関係は見られない、と慎重に結論している。
| 項目 | 報告値 |
|---|---|
| 産卵期(6-10月)平均海水温の15年変化 | 約 +0.5 ℃(上昇傾向) |
| 2018年のマダコ漁獲量 | 最近15年で最低水準 |
| 海水温とマダコ漁獲量の関係 | 明らかな関係性は見られない |
「前年の降水量とタコの漁獲量が逆の関係を示す」とする1964年の先行研究(西川, 1964【5】)を、著者は現在の瀬戸内海で検証し直した。マダコは真水を好まず、雨が多いと閉鎖的な瀬戸内海の塩分濃度が下がる、という仮説である。前年産卵期の平均降水量は15年に約+50mmと増加傾向で、マダコ漁獲量の減少と大局的には逆向き。ただし海水温と同様、年ごとの変動を細かく見ると明らかな関係性があるとは言えないと述べている。
| 項目 | 報告値 |
|---|---|
| 産卵期(6-10月)平均降水量の15年変化 | 約 +50 mm(増加傾向) |
| 降水量とマダコ漁獲量の関係 | 明らかな関係性は見られない(可能性は否定できない) |
エサとなる生き物が減れば、それを食べるマダコも減るはず——この仮説を、カニ(ガザミ)・エビ・カイ(貝類)の漁獲量とマダコ漁獲量の相関で確かめた。結果、3種すべてでマダコと強い正の相関が得られた。特に貝類(カイ)が最も強い。これが本研究のいちばん明確な発見である(→図3で可視化)。
| エサ生物 | マダコ漁獲量との相関係数 r(報告値・表3) |
|---|---|
| カイ(貝類) | +0.89 |
| カニ(ガザミ) | +0.79 |
| エビ | +0.77 |
分析4の相関係数(表3)を1枚のバーにまとめる。マダコ・カニ・エビ・カイの漁獲量はいずれも e-Stat 海面漁業生産統計などSSDSE外のデータなので、ここは原論文の報告値を可視化する。新たな相関係数を計算しているわけではない。
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | print("\n=== 報告値:表3 マダコの漁獲量とエサ生物の漁獲量の相関係数 ===") print("出典データ:e-Stat 海面漁業生産統計調査ほか(兵庫・香川・愛媛の合計、2003-2018年)") print("※ SSDSE非収録データのため再計算不可。原論文の報告値をそのまま転記して可視化する。") # ---- 原論文 表3 の報告値(PDF p.7 より転記)---- REPORTED_R = { 'カイ(貝類)': 0.89, 'カニ(ガザミ)': 0.79, 'エビ': 0.77, } for name, r in REPORTED_R.items(): print(f" マダコ × {name}: r = {r:.2f}(原論文の報告値)") # ---- 原論文が報告した環境トレンド(p.7-8 結果の解釈より転記)---- print("\n=== 報告値:環境トレンド(近似直線による15年変化)===") print(" 産卵期(6-10月)平均海水温: 15年で約 +0.5 ℃(屋島湾ほか。SSDSE外→報告値)") print(" 産卵期(6-10月)平均降水量: 15年で約 +50 mm(神戸・高松・松山。SSDSE外→報告値)") print(" ※ いずれも漁獲量との『明らかな関係性は見られない』が上昇/増加傾向、と原論文は報告。") |
=== 報告値:表3 マダコの漁獲量とエサ生物の漁獲量の相関係数 === 出典データ:e-Stat 海面漁業生産統計調査ほか(兵庫・香川・愛媛の合計、2003-2018年) ※ SSDSE非収録データのため再計算不可。原論文の報告値をそのまま転記して可視化する。 マダコ × カイ(貝類): r = 0.89(原論文の報告値) マダコ × カニ(ガザミ): r = 0.79(原論文の報告値) マダコ × エビ: r = 0.77(原論文の報告値) === 報告値:環境トレンド(近似直線による15年変化)=== 産卵期(6-10月)平均海水温: 15年で約 +0.5 ℃(屋島湾ほか。SSDSE外→報告値) 産卵期(6-10月)平均降水量: 15年で約 +50 mm(神戸・高松・松山。SSDSE外→報告値) ※ いずれも漁獲量との『明らかな関係性は見られない』が上昇/増加傾向、と原論文は報告。
前年6〜10月の産卵期の海水温とマダコの漁獲量の間に、明らかな関係性があるとは言えない。ただし海水温は上昇傾向にあり、近似直線から15年で約0.5℃の上昇が見られた。
前年6〜10月の産卵期の降水量とマダコの漁獲量の間にも、明らかな関係性があるとは言えない。ただし降水量は増加傾向にあり、近似直線から15年で約50mmの増加が見られた。
マダコの漁獲量との間に強い正の相関が見られた(カイ0.89・カニ0.79・エビ0.77)。南から貝類・甲殻類を主食とする魚(クロダイ・ナルトビエイ)が瀬戸内海に侵入してエサを食い荒らしていること、さらに海水温の上昇や降水量の増加が複合的に関係している可能性がある。加えて、瀬戸内海が「綺麗すぎて」栄養塩不足に陥り、カキ養殖やアサリ漁に悪影響が出ていることも一因と考えられる。
瀬戸内海のマダコの漁獲量は最近15年間、減少し続けている。海水温・降水量とマダコ漁獲量の間に明確な関係は見えなかった一方、エサとなる甲殻類・貝類の漁獲量とは強い正の相関(カイ0.89・カニ0.79・エビ0.77)が認められた。マダコ減少の背景には、外来的な魚による貝類の食害、海水温の上昇・降水量の増加、栄養塩不足といった要因が複合的に関わっていると著者は結論づける。このまま減少が続けば、日本の伝統的なタコの食文化の衰退につながりかねない、と警鐘を鳴らしている。
このページの いか・たこ支出額の分析(図1・図2)は、以下から再現できます。
🐍 再現コード(.py) 📊 SSDSE-C-2026.csv
※ マダコ・ミズダコ・甲殻類・貝類の漁獲量、海水温、降水量はSSDSE非収録のため、図3(相関係数)は原論文の報告値を可視化したものです。収録 SSDSE-C は2023〜2025年平均のため、図1・図2の実再現値は原論文(2021年版)とは年次が異なります。
この研究を読むとき・まねするときに陥りやすい誤解を整理する。
クリックすると各用語の詳しい解説ページに移動できます。
この研究で使われている手法を、手を動かす順に説明する。
この研究の「エサとの相関は強いが因果は未確定」という結論は、次の研究の出発点になる。
再現コードを少し変えるだけで試せる課題を、易しい順に用意した。
'たこ' を 'いか' に差し替えて、いか支出額の都道府県ランキングを作ろう。たこと上位県が違うか比べてみよう(いかは青森・秋田など東北が高い傾向)。pref['比'] = pref['いか'] / pref['たこ'] を作り、この比が大きい県(イカ寄り)・小さい県(タコ寄り)を nlargest/nsmallest で書き出そう。瀬戸内海沿岸府県はどちらに寄るだろうか。pref[pref['都道府県'].isin(['兵庫県','香川県','愛媛県'])] で取り出し、たこ支出額の平均を全国平均と比べよう。numpy.corrcoef(x, y)[0,1] で相関係数が出せる。点をばらけさせると r がどう下がるかも試そう。「資源の増減を環境・エサ・他種との関係から時系列と相関で捉える」発想は、現場でも広く使われている。
この研究を読んで浮かびやすい疑問に答える。
この論文を理解できたか、クリックで確認しましょう。間違えても解説が出ます。
このページの分析は、この画面の中でそのまま実行できます。
Python をインストールする必要も、CSV をダウンロードする必要もありません。
下のセルの 「▶ ブラウザで実行」 を上から順に押すか、
「▶ 最初から全部実行」 で一気に流してください。
表示されるのは、本文の図表とまったく同じ計算の結果です
(動かしているのは再現スクリプト code/2021_H5_6_shorei.py そのもの)。
コードは書き換えられます。「✏️ 書き換える」で数字や変数を変えて ▶ を押すと、 結果がどう変わるかをその場で確かめられます(元に戻すボタンつき)。 ページを開いた時点で裏で実行環境の準備が始まっているので、待ち時間はほとんどありません。 初回だけ実行環境の取得にインターネット接続が必要です。