【日本ランキングに関するいろいろ】<第一部> 日本ランキングのしくみ

オリエンテーリング

 最近某SNSが荒れているらしいですね。私はそのうち完治すると思います。神戸大学2022年度入学の横江明弘です。

 たびたび某SNSで話題になる「日本ランキング」及び「インカレ地区学連枠」に関してこんな意見を耳にします。

  • ランキングってなに
  • 枠ってどうやって決まるの
  • そもそもよくわかんない

 大して関係ないであろう1、2回生ならまだしも3、4回生はわかってくれ〜と思いつつ、確かに色々と複雑で分かりにくいところがあるのも確かです。

 そこで今回は皆様の期待にお応え?して日本ランキングの仕組みとインカレ地区学連枠の決定の仕方について現時点の情報を必要な範囲で抜粋し数部に分けた構成で可能な限り分かりやすくまとめてみようと思います。

 特に厳密さを犠牲にしてもよりわかりやすい国語的表現に頼る場合が多々あります。数学的には違うのにな〜というご指摘はご遠慮いただけると数弱の私が安心します。

 まあ、詳しいことは掘り下げないでざっくりと大まかに捉える感じでいくので、そんなに身構えず流しで読んでいただければと思います。特に現役生、ちゃんと分かってないと後々困るかもしれませんよ?

第一部

 今回、第一部ではそもそも日本ランキングというものがどういうものなのか概要を把握することに努めます。

 現在、さまざまな箇所で日本ランキングが使用されるようになっています。全日本大会のエリート、WOCやWcupの代表、インカレ選手権などなど。これらはその選手のオリエン人生そのものを左右しかねない重要な大会と言っても過言ではありません。

 そんな大会、代表に関わる日本ランキングがどのような仕組みで運営されているのか知ることは選手として大切ですし、大会を運営するにあたってもそれがどのようなことを意味するのか考えるきっかけにもなると思います。

日本ランキングとは何か?

そもそも何?

 日本ランキングって何?というところから始めましょう。JOA(日本オリエンテーリング協会)のHPから「日本ランキング規則」を覗いてみましょう。

日本ランキングは、以下の目的で実施する

・オリエンテーリング大会の競技結果から各競技者の実力を評価することにより、競技者の意識高揚、動機づけ、ひいては技術向上に資すること

・前日本オリエンテーリング選手権大会ミドルディスタンス競技部門、ロングディスタンス競技部門およびスプリント競技部門の選手権クラス(Eクラス)の出場資格付与のための基礎資料とすること

公益社団法人 日本オリエンテーリング協会 日本ランキング規則 より抜粋

 と、ありますね。つまるところ

  • 競技者のインセンティブ向上
  • 全日本大会のE権取得

 という2つの目的があって整備されたとあります。

 特に、それまでの全日本E権の取得に関しては公認大会やその他主要大会等の結果をいろいろいい感じにどっこいしょしてやっていたという話ですから、(半)自動計算で順位づけまで行ってくれる日本ランキングの整備は近年のオリエンテーリング界の中でも革新的な変化の一つだったのではないでしょうか。

ランキング種別

後項に示すランキング対象大会終了ごとに、主催者が公開した記録をもとに日本オリエンテーリング協会全日本委員会が点数を算出し、

  • フォレスト競技・スプリント競技の2種目
  • エリート・年齢別の2カテゴリ

以上2項目2種類ずつの組み合わせにより、計4種類のランキングを作成する。

公益社団法人 日本オリエンテーリング協会 日本ランキング規則 より抜粋

 なんか一見すると分かりにくいようにも思えますが要するに

  • エリートフォレスト
  • エリートスプリント
  • 年齢別フォレスト
  • 年齢別スプリント

 この4つに分類されますよということです。

 JOYの日本ランキングを表示するページを参照してもそうなっていますね。RoadTo〜〜というのもいくつかありますがこれは集計期間がそれぞれの大会にあわせて編集されているもの。

  • RoadTo〜〜と付いているもの……集計期間が該当大会前の1年間
  • RoadTo〜〜と付いていないもの…集計期間が直近の1年間

 厳密には違いますが大まかな認識はこちらで問題ありません。どの大会が集計期間かなどはご自身の責任でHPから参照されることを推奨します。

対象大会・クラス

公益社団法人 日本オリエンテーリング協会 日本ランキング規則 より抜粋

 なんか難しそうで難しくない表がきましたね。ざっくり言うとこういうこと。

  • エリートランキング……大会の最上位クラス
  • 年齢別ランキング……年齢別A(難度以上の)クラス

 年齢別ランキングには「M21A」や「W21A」をはじめ、「M35A」や「M18A」など「M○○A」クラスが計算対象として該当します。BクラスやGクラス、Nクラス以外はだいたい計算されるという認識で大丈夫。年齢別ランキングは自己満足なだけ…なはずだった。

 一方、エリートランキングにはその大会における最上位のクラスが該当します。大会ごとに色々とありますが多くの大会では「M21A」や「W21A」クラスが該当する場合が多いです。稀に「M21E」や「ME」クラスが存在する大会がありますがその場合、それらが最上位クラスとして扱われるので「M21A」クラスはエリートランキングには計算されません。

 例外としては全日本大会では最上位の「M21E」クラス以外の「M21A」クラス(一般最上位)もエリートランキングの計算対象、インカレも「MUA」クラス(一般学生最上位)が同様です。

 どこクラスがどのランキングの計算対象かはJOAのページに表としてリストアップされているので要確認です!

日本ランキングの算出について

算出方法(概要)

各ランキングの集計期間内において、点数の良い方から3つの大会の獲得点[=Rp]の合計で順位付けを行う。

公益社団法人 日本オリエンテーリング協会 日本ランキング規則 より抜粋

 オリエンのランキングは良い方から取る制。3レースに出ようが10レースに出ようが、獲得できたポイントの上位3つのポイント合計で争われることとなります。

公益社団法人 日本オリエンテーリング協会 日本ランキング規則 より抜粋

 さらに詳しいポイントの算出方法についても画像で引っこ抜いてきました。数学が苦手な人にはちょっとだけ難しいと思うので、厳しかったら「算出方法、まとめ」のところまで飛ばしてください。

 数1Aで70点取れれば十分理解できると思うので、できたら読んでほしいな〜

各用語の定義

 計算に使用される各用語の説明が各箇所に散らばっていて非常に分かりにくいので一括して最初に整理します。

  • Bp(評価点)……ランキングポイント導出の結果、順位がついた全選手について付与される。
  • Rp(獲得点)……Bp(評価点)に対象大会のランクに応じた加算を行った点数。ランキング順位として最終的に計算対象となるのはこの点数
  • Tbp(仮評価点)……優勝者の点数を2000点とおき、後述する式にしたがって付与される。優勝者のタイムに近いほど点数は2000点に近くなる。回帰分析における「被説明変数」
  • Gtbp(重み付け仮評価点平均値)……Tbp(仮評価点)に後述する「重み」を掛けた値の平均値
  • Abp(実力評価値)……過去365日間で獲得したBp(評価点)の平均。Rp(獲得点)の平均ではないことに注意。回帰分析における「説明変数」
  • Gabp(重み付け実力評価点平均値)……Abp(実力評価値)に後述する「重み」を掛けた値の平均値
  • 「重み」….各選手に対して2の(Abp/200)乗の点数を掛ける。Abp(実力評価値)の高い選手の方が安定した成績を出せるという理論に基づく(シーズン・アベレージが高い選手はレース結果の信頼性が高く、低い選手は信頼性が低いと考えると良い。要するにまぐれが少ないか多いかを表す)。
  • S(回帰係数)……回帰直線の傾き。被説明変数をTbp(仮評価点)、説明変数をAbp(実力評価値)とし重み付き単回帰分析から導出される。回帰式における説明変数の係数として現れる。
  • Cc(相関係数)……被説明変数と説明変数の相関度合いを示す。絶対値が1に近いほど関係性が強く、0に近いほど無関係と考えられる。因果を説明する数値ではない点に注意。
  • As(補正傾き)……後述する条件・および式によって計算される補正を行ったS(回帰係数)。直感的に解釈するとAs<1の場合はタイム差が想定より小さく、As>1の場合はタイム差が想定より大きい状況を示す。
  • N(母集団)……Abp(実力評価値)を持つ選手の集団の要素数。何人の選手がAbpを持っているかを表す。レース結果の人数ではない点に注意。

 ややこしいというか、単純に出てくる数が多くて混乱しそうです。それぞれの用語自体は最低限の統計知識があれば十分に理解可能なので読んでください。

計算例として示す仮想の諸数値

 計算式を正しく理解し読み進めていくのも大事だと思いますが、ここではあえて仮想のレースを構築し実際にランキングポイントを計算してみようと思います。分かりやすさ重視でいきましょう。

タイムBp重みTbpAbp
A選手302000
B選手36
C選手39
D選手45
E選手47
F選手58

 まず、前提として与えられる情報を上の表の様に定義します。タイムはレース結果を参照し、Abp(実力評価値)は「A、B、D、E、F」の5選手が表のように与えられるものとします(Cは1年間に参加したレースが0という想定)。

仮評価点(Tbp)の算出

 まず優勝者に基準となる2000点を付与し、レース結果のタイムを以下の式に応じて結果が参照される全員に付与します。

 今回のレースではトップのA選手がTbp=2000を獲得するので各選手のTbp(仮評価点)を以下の式に沿って計算しましょう。

 Tbp=2000+1000*ln(優勝者タイム/該当選手タイム)

 lnは毎度お馴染みの自然対数です。分からない人にはlogと言えば伝わりますでしょうか?

 これを各選手やってみると赤字のように数値が付与されます。

タイムBp重みTbpAbp
A選手302000
B選手361817.68
C選手391737.64
D選手451594.53
E選手471551.05
F選手581340.75

 ここまで宜しいでしょうか。赤字で追記された数値をハイライトしていますのでしっかり確認してくださいね。

実力評価値(Abp)の算出

 続いて各選手のAbp(実力評価値)を求めます。これは過去365日間で獲得した評価点の平均をとったものと定義されます。もちろん、今回の大会については導出過程に含みません。

 例ではAbpを実際に求められたとして表に記入しています。「仮想の諸数値」で言及した通りC選手は期間内の参加レース数が0であったためAbpは算出されません。

タイムBp重みTbpAbp
A選手3020001800
B選手361817.681850
C選手391737.64
D選手451594.531600
E選手471551.051700
F選手581340.751750

 どうやら今回のレースではA選手やD選手が好走を果たしたようですね。Abpを参照するにF選手は大きなミスをしたと思われます。

「重み」の付与

 それぞれの選手のAbp(実力評価値)から「重み」を導出します。以下の式を用います。

 「重み」=2^(Abp/200)

 2を(Abp/200)乗した数値を出せば良いです。

タイムBp重みTbpAbp
A選手30512.0020001800
B選手36608.871817.681850
C選手391737.64
D選手45256.001594.531600
E選手47362.041551.051700
F選手58430.541340.751750

 Abpの点数が高い人ほど「重み」として掛ける数値が上乗せされていることがわかりますね。

 ここでもC選手には追加で数値の表記はありません。

重み付け回帰分析(結果)

 重み付け回帰分析を行います。エクセルやR、手計算などいろいろなやり方があるかと思いますが私はGPTにぶん投げました。工数が多い作業は本当に投げると楽で良いですね。

 その結果として以下の数値が得られました。

N(母集団)
S(回帰係数)1.595831
Cc(相関係数)0.5356

 まず、N(母集団)は「重み」を計算することのできた「A、B、D、E、F」の5人を母集団として扱うためN=5です。

 S(回帰係数)はGPTが1.595831に近いと教えてくれました。手計算で検証はしてませんが恐らく正しいのでしょう。暇な人は計算してください。

 Cc(相関係数)は同様に0.5356とのこと。まあ最低限相関はあると言えなくもない水準と言えるでしょうか。こっちの方が手計算は簡単です。

 このS(回帰係数)をより簡単に表現するならば、回帰直線の傾きが1未満であるならばTBp(仮評価点)の差がAbp(実力評価値)の差よりも小さいと言い換えられます。

 逆に回帰直線の傾きが1より大きいならばTbp(仮評価点)の差がAbp(実力評価値)の差よりも大きいと言い換えられます。

補正傾き(As)の導出

 これらの重み付け回帰分析によって導出されたN(母集団)、S(回帰係数)、Cc(相関係数)の数値を用いてAs(補正傾き)を求めます。

 こちらの画像の通りに計算されます。今回の場合だとN>1かつS>1(S>1.595831)のため(ⅱ)が適用されAs=S=1.595831となります。

導出の補足①:As(補正傾き)について

 Asに関して、より直感的に解釈するのであれば次のように表現できるでしょう。

  • Asが1に近い場合……レース結果と実力評価値が綺麗に対応している、つまり安定している状態。
  • As<1の場合……実力評価値に見られる差よりも当日の結果の方がばらつきが小さい、つまりあまり差がない状態。後の計算にて差を伸長させBp(評価点)に差がつきやすい(大きくなる)ように調整する
  • As>1の場合……実力評価値に見られる差の方が当日の結果のばらつきよりも大きい、つまり大きく差がついた状態。後の計算にて差を圧縮しBp(評価点)に差がつきにくい(小さくなる)ように調整する

 要するにAsが大きいと差が大きくて、小さいと差が小さいってこと。Asの大小がそのままばらつきの大小と解釈しておおよそ差し支えはありません

 Cc(相関係数)が=0.53の場合、Sの値を変化させるとAsの値については上のようなグラフによって対応が表されます。今回の事例は右上方にある赤いバツ印の位置です。

 グラフを見るとSの値が1より小さい時、CcとSが一致する点まではAsは1の値を取り、SがCcよりも小さくなると直線的にAsの値は小さくなります。

導出の補足②:補正傾き(As)の導出(ⅲ)について

 (ⅲ)の式についても軽く噛み砕いておきましょう。Sが1以下の時、【導出の補足①】にあるように差を伸長させる必要があります。しかし、その際にデータの相関性が低ければ回帰分析自体の信頼度が低いので与える補正を弱くする必要があります。

 数式内の「(Cc-S)/2」の式は相関の強さと傾きの小ささの差を見ています。Ccが大きく(相関が強く)Sが小さい(傾きが小さい)ほど、この値は大きくなり強い補正がかかります。信頼しやすいデータなら安心して補正をかけられるというイメージでしょうか。

 逆にマイナスの補正をかけることはありえない(圧縮することになる)のでmax関数を用いて最低値を0と定義しています。

 また「min(N,20)/20」という式について。これは回帰分析に使用されたデータが多いほど重み付けを行うものです。最低値は1でNが20より大きくなればなるほどデータの規模性から信頼できると判断し補正を強めていくことができます。

 結果としてご覧のような式が出来上がるわけです。ぱっと見では理解し難いですが、コツコツ噛み砕いていけば案外スラっと納得できるものなのです。

重み付け平均値(Gtbp/Gabp)の導出

 今のうちにGtbp(重み付け仮評価点平均値)とGabp(重み付け実力評価点平均値)を導出しておきましょう。

 具体的な計算はそれぞれ以下の画像の通りです。

 画像サイズが違いますがお許しください。このようにGtbpとGabpが導出されましたね。

Gtbp1695.23
Gabp1763.82

評価点(Bp)の導出

 最後にこれまで求めた諸数値を以下の式に当てはめることでBp(評価点)が計算されることとなります。

 Bp=(Tbp-Gtbp)/As+Gabp

 手計算はお願いします。それぞれの結果を表にするとご覧のとおりです。

タイムBp重みTbpAbp
A選手301954.80512.0020001800
B選手361840.55608.871817.681850
C選手391790.391737.64
D選手451700.72256.001594.531600
E選手471673.47362.041551.051700
F選手581541.69430.541340.751750

 なんだか「ぽい」結果が導き出されましたね。ミドル相当のレースタイムで6分差がつくと100点近い差が発生し、トップが1950程度の点数となるのは肌感にそう遠くはありません。

導出の補足③:Tbp(仮評価点)の圧縮・伸長

 この評価点(Bp)を導出する計算を言い換えましょう。

 「Tbp-Gtbp」という式は、自身のレースの結果が重みを付けたレース結果からどれだけ乖離しているかを計算しています。例えばA選手の場合は「2000-1695.23=304.77」です。

 わかりやすく今回の点数をプロットしてみました。もちろんGPTにやらせました。はやい。俺がやると30分はかかっちゃいますね。みんな使おう。

 先ほど導出した「304.77」という数値はA(T)からY軸と並行な線βがα(青色の点線)に至るまでの距離を示しています。図形的には線分「A(T)-Z」と言ったところでしょうか?

 これをAsで割るということはつまり、点数として使用するには予測の状態(S=1)よりばらつきが多い(現在はS=1.60)ことからそれを圧縮するということに他なりません。

 もっとざっくり言うと「予想よりばらつきが大きくて高い点数(T)になっちゃうから、いい感じ(B)に圧縮するね!」ってこと。

 この「圧縮」という処置はS>1だから行われること。仮にS<1の場合は逆に「伸長」させ点差を大きくするという処置が行われます【導出の補足②を参照】。

 それはともかく、今回のようにS>1だと(Gabp,Gtbp)の座標の点を基準に点数が圧縮されています。スライドの幅については本導出における式「(Tbp-Gtbp)/As」によって導かれます。選手ごとのスライド幅は以下の通りです。

A選手B選手C選手D選手E選手F選手
Bp-Tbp-45.222.8752.76106.19122.42200.94

 もしかしたら「なんでY軸と並行に移動するの?重心Zに向かって移動しないの?」と疑問を抱く方がいらっしゃるかもしれません。それはAbp(実力評価値)は過去の記録から不変であるため、X座標は変えようがないからです。

 今回の計算結果と移動量を図示するとこんな感じのグラフになりましたとさ。

異常点の補正

 このように算出された点数に関して異常な点数が見受けられた場合、該当する点数を出した人物を除外した結果で再度計算が行われることとなります。

 異常値と判断される具体的な点数基準は以下に示す条件によって定義されます。

  • Bp-Abp<400……スプリントの場合
  • Bp-Abp<500……フォレストの場合
  • Abpの算出に際して集計された期間中、2大会以上で評価点を獲得している。

 今回の例だと如何でしょうか?

A選手B選手C選手D選手E選手F選手
Bp-Abp+154,80-9.45+100.72-26.53-208.31

 今回のレースでは該当する人がいなかったため特に修正は行われません。

特殊な大会の扱い

タイムBp重みTbpAbp
A選手301954.80512.0020001800
B選手361840.55608.871817.681850
C選手391790.391737.64
D選手451700.72256.001594.531600
E選手471673.47362.041551.051700
F選手581541.69430.541340.751750

 こうして得た点数に幾つかの大会ではボーナス点としてポイントが付与される場合があります。

  • +40:ランクA
  • +30:ランクB

 いや、ランクってなんやね〜ん。という感じかと思いますので具体例を挙げるとランクAに分類されるのは全日本大会ランクBに分類されるのはインカレと公認大会です。

 これらの大会に出場すれば問答無用でポイントが上記の通り付与される(完走すればだが)ので出るだけ得ということになります。

概略

 こんな感じで導出方法についていろいろと書いてきたわけですが、ぶっちゃけわからね〜って人もいるかとは思います(理解して欲しいけど…)

 そんな方はとりあえずざっくりと以下のポイントを押さえておいてください。

  • レース結果と実力評価値を用いて相対的にポイントを付与する
  • 実力者には「重み」が付与され結果がより信頼されやすい
  • 極端に異常な点数は除外される
  • 全日本・公認・インカレはボーナスポイントがある

まとめ

 ここまで日本オリエンテーリング協会が規定しているランキング規則に基づいて解説を行いました。

 ぱっと見で難しくても案外そこまで難しい処理はしていないので、全部しっかり読んでいただければざっくりとはお察しいただけるのではないかなと思います。

次回

 今回はタイトルの通り「日本ランキングのしくみ」についてご説明しました。

 次回以降のお話では「日本ランキングが抱える構造的な欠陥」や「インカレの枠配分」について説明していきます。

 鋭意製作中ですので首を長くしてお待ちいただけると嬉しいです。

コメント

タイトルとURLをコピーしました