★地獄★
Jリーグの残留争いは毎年混戦の傾向になることで有名であるが、こと今シーズンのJ2の残留争いが輪をかけてを熾烈な争いを見せていると話題になっている。(当社Twitter比)
10月9日午前時点で32試合を消化しており、ラスト10試合となった現状での順位表を見てみる。

訓練されたサッカーファン(Jサポ)が見たら血圧が30くらいは上がりそうなわかりやすい地獄絵図となっている。試合数=勝ち点がだいたい残留ラインになるのは肌感覚だと高すぎず低すぎずという感じだが、勝点32-29の4ポイント間(1勝と1引き分けぶん)の間に6チームが詰まっているというのがいい感じで地獄感を醸し出している。
ということで今回は、過去のシーズン(J1、J2)と比較してこの残留争いの地獄度および過去のシーズンでこれを超える地獄の残留争いがあったのか?を調べていこうと思う。
評価方法
評価対象データ
降格制度がある、J1とJ2の以下の25シーズンを対象とする。
(J1は18チームになった2005から、J2は降格制度が開始した2012からとし
特例で降格チーム無しとなった2020は今回の評価対象データから除外した。)
リーグ | 対象シーズン | 対象データ | 集計タイミング |
J1リーグ | 2021、2019-2005の16シーズン | 下位6チーム (13-18位) ※2021は15-20位 | 第24節終了時 |
J2リーグ | 2021、2019-2012の9シーズン | 下位6チーム (17-22位) | 第32節終了時 |
評価軸
①下位6チームの勝点の平均
平均勝ち点が高ければそのまま地獄度が高いという評価にする。
※なおJ1とJ2では残り10試合時点での消化試合数が異なるので、J1の勝点には24を割って1試合当たりの勝点を出してから32を掛けてJ2の水準と同じくする調整を行う。
②下位6チームの勝点の分散
勝ち点の分散が小さければ(密集具合が高ければ)順位がひっくり返る可能性が高いことから、地獄度が高いという評価にする。
例えば2013年J1と2018年J1を比較してみると、


シーズン | ①平均勝点 | ②分散(※不偏分散) |
2013 | 21.67 | 63.47 |
2018 | 24.67 | 9.067 |
2013シーズンよりも2018シーズンのほうが平均勝点が大きく、分散も小さい。ので、2018シーズンのほうが地獄度が高いという評価ができる。
総合評価
この2つの評価を踏まえて、最終的な「地獄度」の評価をスポーツクライミング形式で行う。
それぞれの順位を掛け合わせたポイントについて、ポイントが小さい順で順位を決定するというものである。例にすると以下の通り。
凡例 | A.平均勝点 | B.勝点順位 | C.勝点分散 | D.分散順位 | E.総合ポイント (B×D) | F.総合順位 (Eの昇順順位) |
シーズン① | 35 | 2 | 1.0 | 1 | 2 | 1 |
シーズン② | 31 | 4 | 20.0 | 5 | 20 | 5 |
シーズン③ | 22 | 5 | 10.0 | 3 | 15 | 4 |
シーズン④ | 37 | 1 | 15.0 | 4 | 4 | 2 |
シーズン⑤ | 33 | 3 | 5.0 | 2 | 6 | 3 |
評価してみた
実装
Jリーグデータサイトから作成した評価用データと、上記の評価処理を実装したRのコードは以下より。
library(magrittr)
library(readr)
library(dplyr)
library(ggplot2)
points_botoms <- read_csv(file = "points_botoms.csv")
#勝点の分散データをつくる
var_botoms <- points_botoms %>%
group_by(season, category) %>%
summarise(points_var = var(points)) %>%
mutate(seasoncategory = paste(!!!rlang::syms(c("season", "category")), sep="-"))
#勝点の平均データをつくる
mean_botoms <- points_botoms %>%
group_by(season, category) %>%
summarise(points_mean = mean(points)) %>%
mutate(seasoncategory = paste(!!!rlang::syms(c("season", "category")), sep="-"))
#J1とJ2はラスト10試合時点での試合数が異なるので、
#J1の場合J2の試合数水準に勝ち点を調整する
for(i in 1:nrow(mean_botoms))
if( mean_botoms$category[i] == "J1" )
mean_botoms$points_mean[i] = (mean_botoms$points_mean[i] / 24) * 32
#分散データと平均データを結合する
varmean_botoms <- inner_join(var_botoms, mean_botoms)
write.csv(varmean_botoms, file = "varmean_botoms.csv")
#散布図のプロット
ggplot() +
geom_point(data = varmean_botoms, mapping = aes(x = points_var, y = points_mean)) +
scale_x_reverse()
#分散を昇順で評価する
rank_var <- rank(varmean_botoms$points_var, ties.method = "min")
cbind(varmean_botoms, rank_var)
#勝点を降順で評価する
#降順でrankをつけるための処理
eva_points_mean <- varmean_botoms$points_mean
for (i in 1:length(eva_points_mean)) {
eva_points_mean[i] = eva_points_mean[i] * -1
}
rank_mean <- rank(eva_points_mean, ties.method = "min")
#ランクdataframe
rank_varmean_botoms <- data.frame(
seasoncategory = varmean_botoms$seasoncategory,
rank_var = rank_var,
rank_mean = rank_mean
)
#総合ポイントの算出
comb <- c(1:nrow(rank_varmean_botoms))
for(i in 1:nrow(rank_varmean_botoms))
comb[i] = rank_var[i] * rank_mean[i]
#総合ランクの算出
rank_comb <- rank(comb, ties.method = "min")
rank_varmean_botoms <- transform(rank_varmean_botoms, comb = comb, rank_comb = rank_comb)
write.csv(rank_varmean_botoms, file = "rank_varmean_botoms.csv")
結果
評価に行ったデータについての散布図は以下。(横軸が不偏分散、縦軸が平均)

地獄度の総合評価上位3シーズンは以下の通り。
第3位 2008年J1(平均勝点1位、分散16位→総合16pt)
「ジェフの奇跡的な残留」伝説が生まれた2008年J1が第3位にランクイン。圧倒的最下位のチームが勝ち点を配給した影響もあってか平均勝点水準が最も高いシーズンであった。
残り10試合時点で自動降格圏に沈んでいた千葉が大逆転で自動残留、ヴェルディは13位から17位まで転落してしまった。というかマリノスってこんなに低い順位にいたっけ…??
第2位 2021年J2(平均勝点10位、分散1位→総合10pt)
「ここ数年で最高」「10年に1度の当たり年」「豊かな果実味と程よい酸味が調和した残留争い」と評価の高い今年度J2の残留争いが2位にランクイン。
あれだけ落ちる落ちると言われていた大宮が、気づいたら集計対象からすら外れていた。ラインコントロール甘くない?
個人的(札幌サポ)にはヤンツーが監督を務める金沢、稲本兵藤が頑張っている相模原にはなんとか残留を勝ち取ってほしいと願うばかりである。あと愛媛も旅行で行ったときに鯛めしが美味くて感動したので残ってほしい。
第1位 2015年J2(平均勝点3位、分散3位→総合9pt)
下馬評が高かった2021年J2を抑えて、2015年J2が栄えある(?)地獄度1位に輝いた。
残り10試合時点での降格圏にいた栃木と大分がそのまま残念ながら降格となってしまった。
当時の下位6チーム(讃岐、水戸、京都、岐阜、栃木、大分)のうち半分がJ2にいないというのも興味深い点である。
全ランキング
総合順位 | 総合ポイント | シーズン | 平均勝点 | 平均勝点順位 | 勝点分散 | 勝点分散順位 |
1 | 9 | 2015-J2 | 33.17 | 3 | 8.97 | 3 |
2 | 10 | 2021-J2 | 30.33 | 10 | 1.47 | 1 |
3 | 16 | 2008-J1 | 34.00 | 1 | 31.10 | 16 |
4 | 20 | 2018-J1 | 32.89 | 5 | 9.07 | 4 |
4 | 20 | 2019-J1 | 33.33 | 2 | 17.60 | 10 |
6 | 24 | 2005-J1 | 33.11 | 4 | 11.37 | 6 |
7 | 36 | 2013-J2 | 29.00 | 18 | 6.40 | 2 |
8 | 55 | 2021-J1 | 30.00 | 11 | 10.30 | 5 |
9 | 63 | 2016-J2 | 30.50 | 9 | 11.50 | 7 |
10 | 120 | 2015-J1 | 29.33 | 15 | 12.00 | 8 |
11 | 143 | 2019-J2 | 29.83 | 13 | 19.37 | 11 |
12 | 147 | 2012-J1 | 31.78 | 7 | 56.97 | 21 |
13 | 150 | 2011-J1 | 32.00 | 6 | 86.00 | 25 |
14 | 156 | 2018-J2 | 29.83 | 13 | 19.77 | 12 |
15 | 176 | 2009-J1 | 31.56 | 8 | 59.47 | 22 |
16 | 207 | 2016-J1 | 27.78 | 23 | 15.77 | 9 |
17 | 208 | 2014-J1 | 29.11 | 16 | 24.57 | 13 |
18 | 209 | 2007-J1 | 30.00 | 11 | 43.10 | 19 |
19 | 272 | 2006-J1 | 29.11 | 16 | 24.57 | 13 |
20 | 330 | 2010-J1 | 28.44 | 22 | 29.47 | 15 |
21 | 350 | 2017-J1 | 26.00 | 25 | 25.10 | 14 |
22 | 420 | 2017-J2 | 28.50 | 21 | 44.30 | 20 |
23 | 432 | 2012-J2 | 27.67 | 24 | 39.47 | 18 |
23 | 432 | 2014-J2 | 29.00 | 18 | 75.60 | 24 |
25 | 460 | 2013-J1 | 28.89 | 20 | 63.47 | 23 |
結論
今年のJ2はちゃんと(?)地獄だった。