目次 

背景 

富山県のホタルイカの身投げは、産卵行動や環境要因と密接に関連する現象であり、 その量の分析と予測は、生態学的理解の深化や気候変動の指標、さらに地域観光や漁 業資源管理における重要な意義を持っている。

研究の流れ 

1 過去のホタルイカ身投げデータと、その日の天気、気温、月齢、風などのデータを収集

2 身投げが起きやすい条件の分析、学習

3 ホタルイカの身投げ量の予測モデルの作成

4 身投げ量の予報を提供するWebサイトの作成

データの収集・統合 

過去の身投げ量データの取得 

image5.png

1. ホタルイカ掲示板というサイト(https://rara.jp/hotaruika-toyama/)の口コミからスクレイピングで口コミ内容を取得

2. その口コミ内容から、ホタルイカの身投げ量を5段階に分類し、0〜4の整数で数値化

3. その値の日毎の平均をその日の身投げ量とし、身投げ量、日付をjsonファイルに保存

2015年〜2025年まで10年分、それぞれ2〜5月の4ヶ月分の約1300日分のデータを収集した。過去の身投げ量以外の以下に記載したデータを収集するときは、この日付の日のデータを収集する。

過去の天気、風、気温などのデータの取得 

気象庁の公式サイト(https://www.data.jma.go.jp/risk/obsdl/#)に、過去の天気、風、気温、降水量などのデータがあり、指定した場所、期間を指定すると、過去の天気などを CSV 形式でダウンロードできる.それをjsonデータに変換する。

潮位データの取得 

API経由で潮位、潮の種類などが取得でき、その取得したデータをjsonファイルに保存する。(https://tide736.net/#google_vignette

月齢データの取得 

月齢は、西暦と日付から計算できる.日付ごとの月齢をjsonファイルにまとめる。

データの統合 

これらのjsonファイルを日付をキーにして一つのjsonファイルにまとめる。

分析・学習 

分析方法 

目的変数(予測したい値):身投げ量(avg_amount)

説明変数(目的変数に影響を与える値):下記特徴量

データ分割:1220 日分のデータのうち85%を学習用、残りの15%をテスト用として使用

特徴量(どのような要因で分析するか) 

時間特徴量 

年、月、日、曜日、年の第何週

月齢(月齢 sin, cos 変換含む) 

月齢は 0~29.53 日で周期的に変化するため、sin と cos で周期性を表現。

月齢 sin は「上弦の月」で最大(1)、「下弦の月」で最小(-1)。

月齢 cos は「新月」で最大(1)、満月で最小(-1)。

気温(平均 / 最大 / 最小 / 標準偏差) 

時間帯別(10-13 時、14-17 時、18-21 時、22-0 時、1-4 時)の平均気温も算出。

降水量(合計 / 有無) 

時間帯別の降水量合計も算出。降水の有無をバイナリ変数で表現。

風速・風向(平均 / 最大 / 最小 / 標準偏差) 

潮汐データ 

潮型(若潮、長潮、小潮、中潮、大潮)を数値変換。

夜間(21 時~5 時)の満潮・干潮高(平均 / 最大 / 最小)。

ラグ特徴量 

気象・潮汐変数の 1 日前、2 日前の値。

目的変数(avg_amount)の 1 日前、2 日前、3 日間平均。

分析結果 

・平均二乗誤差 (MSE): 0.0179

・平均絶対誤差 (MAE): 0.0990

・決定係数 (R²): 0.4191

上位特徴量 

Webサイトの作成 

Webサイトのリポジトリ:https://github.com/yuchi1128/hotaruika-bakuwaki-forecast

機能 

・ホタルイカの身投げ量を 1 週間後まで予測して表示

・その日の天気や月齢、潮の満ち引きなどの情報を表示

・ホタルイカ掬いでの注意点を掲載

・口コミ機能(good・bad、返信)

使用技術 

・フロントエンド:TypeScript(Next.js)

・バックエンド:Go

・データベース:PostgreSQL

・インフラ:Docker

・ホスティング:GCP(Cloud Run)

構成 

image1.png

プログラム 

実行手順 


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS