AI — 公式の種別は、交付税の算定に使う施設延長で読めるのか
読める。係留・外郭施設延長だけで、 多数派ベースラインを macro-F1 で 0.233 上回った。
種別は法令上「利用範囲」で定義されており、施設の大きさでは決まらない。それでも施設延長だけで合格ラインを越えたので、種別と施設延長は強く結びついている。
施設延長は、施設の実際の長さではない。国土数値情報(漁港データ)のメタデータは、この二つの属性を次のように説明している —— 「なお、本データの属性「外郭施設延長」「係留施設延長」は普通交付税算定基準(普通交付税に関する省令第5条)に基づく数値であり、実際の施設延長数値とは異なる。」。 最初の版(2026-09-14)はこれを読まずに「施設の規模」と呼び、 さらに施設延長 0 を値として学習していた。0 は八戸(特定第3種)にも付いていて、 青森県・岩手県に固まる欠測の印である。2026-09-15 に 0 の港を外して学習し直すと、最初の版の答え「読めない」(多数派との差 0.128)は「読める」(差 0.233)に変わった。 合格ライン・予想の文面・手順は変えていない。
対象 2,533 港(施設延長のある港だけ。無い港と 0 の港は外した)/ 種別: 水産庁 漁港一覧(令和8年4月1日現在) / 施設延長: 国土数値情報 漁港データ C09-06(平成18年度)
比べたモデル
同じ層化 5 分割 × 5 反復の交差検証で比べた。 値はすべてその港を学習に使っていないモデルの答え(分割外予測)から出している。 種別の偏りは全モデルで同じ重みで補正し、ハイパーパラメータは調整していない。 特定第3種は 12 港しかないので、指標は正解率ではなく macro-F1 にした。
| モデル | macro-F1 | 第1種 再現率 | 第2種 再現率 | 第3種 再現率 | 特定第3種 再現率 | 第4種 再現率 |
|---|---|---|---|---|---|---|
| 多数派(常に第1種と答える) | 0.168 ± 0.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 |
| ロジスティック回帰 — 施設延長だけ | 0.400 ± 0.002 | 0.758 | 0.314 | 0.598 | 0.733 | 0.276 |
| ロジスティック回帰 — 施設延長+属性 出荷 | 0.468 ± 0.004 | 0.726 | 0.525 | 0.627 | 0.600 | 0.465 |
| 勾配ブースティング — 施設延長+属性 | 0.421 ± 0.012 | 0.863 | 0.518 | 0.369 | 0.150 | 0.183 |
| ニューラルネット MLP — 施設延長+属性 | 0.458 ± 0.004 | 0.736 | 0.557 | 0.606 | 0.467 | 0.409 |
| ロジスティック回帰 — 管理者区分だけ(陽性対照) 出荷しない | 0.217 ± 0.001 | 0.853 | 0.000 | 0.000 | 0.067 | 0.878 |
± は反復 5 回の macro-F1 の標準誤差。
ニューラルネットを出すかどうか
ニューラルネット(MLP)は、非ニューラルネットで最良のロジスティック回帰 — 施設延長+属性を1 標準誤差を超えて上回ったときだけ出す、と実測の前に決めた。 結果は 上回らなかったので、 地図の各港の AI 欄には ロジスティック回帰 — 施設延長+属性の答えを出している(公式の種別と一致したのは 67.2%)。
ただし交差検証の反復は「分割」のばらつきしか見ていない。そこで同じ分割のまま MLP の初期化の乱数だけを 5 通りに替えて測った。 線(0.473)を越えたのは 0 通り (乱数 1: 0.463 / 乱数 2: 0.446 / 乱数 3: 0.440 / 乱数 4: 0.465 / 乱数 20260914: 0.458)で、どの乱数でも線を越えなかったので、ニューラルネットを出さない判断は乱数によって変わらない。
実測の前に書いた予想と、その結果
予想の文面は測る前に仕様書へ書き、測った後に変えていない。外れたものも外れたと書く。
| ID | 予想 | 観測 | 結果 |
|---|---|---|---|
| E1 | 規模だけのロジスティック回帰は、多数派ベースラインの macro-F1 を上回る | 規模だけ LR 0.400 / 多数派 0.168 | 成立 |
| E2 | 第4種の再現率は、規模だけより属性を足したほうが高い | 第4種の再現率 規模だけ 0.276 → 属性あり 0.465 | 成立 |
| E3 | 特定第3種は第3種と取り違えられやすい | 特定第3種の誤りの最頻先 = 3(誤り 24 件中 第3種 22 件、logistic_full・5 反復の合算) | 成立 |
| E4 | MLP は勾配ブースティングを 1 標準誤差を超えて上回らない | MLP 0.458 / 勾配ブースティング 0.421 ± 0.012 | 不成立 |
| E5 | 管理者区分だけを特徴にすると、第3・第4種の再現率が規模だけより高い | 再現率 管理者区分だけ 第3種 0.000・第4種 0.878 / 規模だけ 第3種 0.598・第4種 0.276 | 不成立 |
測って分かったこと
- 第4種は施設延長だけでは見分けにくく、属性を足すと見分けやすくなる。施設延長だけの再現率 0.276、離島・国境離島などの属性を足すと 0.465。第4種は「離島その他辺地」で定義される種別である。
- 特定第3種の取り違えは、第3種へ向かうのがいちばん多い。特定第3種の誤りの最頻先 = 3(誤り 24 件中 第3種 22 件、logistic_full・5 反復の合算)。
- 管理者区分を特徴に入れなかった理由。管理者区分だけで学習すると、 第4種の再現率は 0.878(施設延長だけでは 0.276)、第3種は 0.000(同 0.598)。第4種はほぼ都道府県が管理するので、 当たるとしてもそれは種別の帰結を覚えただけで、手がかりではない。予想した「第3・第4種とも規模だけより高い」は成り立たなかった(予想の文面は登録したときのまま)。
この AI が言っていないこと
- 公式と違う答えが出た港について、指定が誤っているとは言っていない
- 水揚げ量・魚種・経営は入っていない(港別のデータが公開されていないため)
- 施設延長は平成18年度、種別は令和8年の値である。その間に施設が変わった港では、 答えが古い施設延長に引きずられる
- 座標・都道府県は入れていない(地域を覚えて当ててしまうため)
出荷したモデルの取り違え
行が公式の種別、列が ロジスティック回帰 — 施設延長+属性 の答え。5 反復の合算なので、各港が 5 回数えられている。
| 公式 \ 推定 | 第1種 | 第2種 | 第3種 | 特定第3種 | 第4種 |
|---|---|---|---|---|---|
| 第1種 | 6,631 | 1,531 | 116 | 11 | 841 |
| 第2種 | 431 | 1,331 | 429 | 36 | 308 |
| 第3種 | 0 | 113 | 301 | 38 | 28 |
| 特定第3種 | 0 | 2 | 22 | 36 | 0 |
| 第4種 | 46 | 130 | 70 | 0 | 214 |
似た港とクラスタ
施設延長と属性を標準化した距離で、各港に近い 10 港を出している(対象 2,533 港)。似ているかどうかに外部の正解は無いので、 特徴に入れていない公式の種別が近傍でどれだけ一致するかで確かめた。
| 近傍の選び方 | 第1種 | 第2種 | 第3種 | 特定第3種 | 第4種 | 平均(macro) |
|---|---|---|---|---|---|---|
| 出荷した近傍(施設延長+属性 12 特徴) | 0.827 | 0.397 | 0.265 | 0.150 | 0.139 | 0.356 |
| 施設延長 2 特徴だけの近傍 | 0.840 | 0.391 | 0.250 | 0.108 | 0.076 | 0.333 |
| 無作為に選んだ港(閉じた式) | 0.721 | 0.200 | 0.038 | 0.004 | 0.036 | 0.200 |
出荷した近傍の一致は無作為を 0.156 上回り、実測の前に決めた線(0.10)を越えた。 ただし施設延長だけで選んだ近傍と、上位 10 港のうち平均 7.6% しか重ならない。何を似ているとみなすかで答えが大きく変わるので、港の AI タブでも使った特徴と一緒に出している。
クラスタ
k-means の群を「港の型」と呼ぶには、実測の前に 4 つの条件を決めた —— 並べ替えた帰無より silhouette が 0.05 以上高い・初期化の乱数を替えても同じ群になる(ARI 0.80 以上)・ 8 割の部分標本でも同じ群になる(同)・一つの印で切った 2 群と同じではない(ARI 0.80 未満)。
| k | silhouette | 帰無 | 乱数替え ARI 最小 | 部分標本 ARI 最小 | いちばん重なる印(ARI) | 判定 |
|---|---|---|---|---|---|---|
| 3 | 0.209 | 0.148 | 0.998 | 0.995 | 海岸保全区域(◎)(0.667) | 満たす |
| 4 | 0.228 | 0.149 | 0.831 | 0.510 | 海岸保全区域(◎)(0.635) | 満たさない |
| 5 | 0.195 | 0.162 | 0.492 | 0.493 | 海岸保全区域(◎)(0.313) | 満たさない |
| 6 | 0.232 | 0.171 | 0.511 | 0.504 | 半島(0.325) | 満たさない |
| 7 | 0.251 | 0.187 | 0.557 | 0.418 | 半島(0.260) | 満たさない |
| 8 | 0.242 | 0.180 | 0.431 | 0.385 | 海岸保全区域(○)(0.221) | 満たさない |
条件を満たしたのは k=3 だけだった。ただしこの群は 海岸保全区域(◎)の有無と ARI 0.667 で重なる。線(0.80)の内側ではあるが、群の多くはこの一つの印で説明がつく。下に中身を並べる。
中身を読むと、群を分けているのは施設延長ではなく印だった。係留施設延長の中央値は群どうしでほとんど変わらない。有人国境離島と海岸保全区域(◎)の二つの印の組み合わせで切った分割と比べると ARI は 0.980 になる。 この値は群を読んだ後に測ったもので、判定には使っていない —— 実測の前に書いた条件は「一つの印で切った 2 群」しか見ておらず、 二つの印で切れる場合を覆っていなかった。
| 群 | 港 | 係留施設延長の中央値 | 種別の内訳 | 印の割合(50% 以上) |
|---|---|---|---|---|
| 群 1 | 565 | 487 m | 第1種 367 / 第2種 142 / 第3種 37 / 特定第3種 4 / 第4種 15 | 海岸保全区域(◎) 100% |
| 群 2 | 1,593 | 362 m | 第1種 1171 / 第2種 328 / 第3種 53 / 特定第3種 8 / 第4種 33 | 海岸保全区域(○) 76% |
| 群 3 | 375 | 352 m | 第1種 288 / 第2種 37 / 第3種 6 / 第4種 44 | 離島 78% / 有人国境離島 99% / 海岸保全区域(○) 58% |