マガジン

  • Jリーグのレーティングを作る

    Jリーグの各チームのレーティング(強さの指標)を計算したいので、知識ゼロから学んでいく過程をつづったメモ。

記事一覧

すべてのレーティングモデルを比較する(イロレーティングの場合)

ここでは、イロレーティングの変動係数K、得点差の反映方法、ホームアドバンテージの値を変化させて、どれがもっとも正確なレーティングになるかを、損失関数である平均二…

fansaka
1年前
1

サッカーの得点差によるレーティングの調整

はじめに これまで学んできたイロレーティングやグリコレーティングは、どちらもチェスプレーヤーの強さの指標として作られたレーティングシステムです。 これをサッカー…

fansaka
1年前

損失関数を使ってレーティングの正確性を評価してみる

これまでで、どの種類がより正しいレーティングかなのかを検証するには、「損失関数」なるものを使えばよいことがわかりました。 今回は、レーティングの値と実際の結果を…

fansaka
1年前

より正確なレーティングを算出するために(2) ~損失関数とは?~

レーティングの算出方法と、その各種パラメータを決めるために、どのように比較したらいいだろうと考えてきました。 その比較方法のひとつが、「損失関数」と呼ばれている…

fansaka
1年前
1

より正確なレーティングを算出するために

レーティングを比べたものの… これまで、イロレーティング (Elo Rating System) と グリコレーティング (Glicko Rating System) の2種類のレーティングの計算方法を学び…

fansaka
1年前

1993年のJリーグのレーティング推移(2)

前回は、イロレーティングとグリコレーティングのオリジナルの計算法で、1993年のJリーグのレーティングを算出しましたが、今回は独自のアレンジを追加したもの、つまり、…

fansaka
1年前

1993年のJリーグのレーティング推移

これまでで、イロレーティングとグリコレーティングについて学び、計算することもできるようになりましたので、実際に1シーズンを通してレーティングの算出をして、その推…

fansaka
1年前
1

Jリーグのホームアドバンテージ

できるだけ正確なレーティングを求めるために、Jリーグのリーグ戦のホームアドバンテージ(ホームチームの優位性)がどの程度かを調べておきます。 ホームアドバンテージ…

fansaka
1年前
4

グリコレーティングの計算用PHPコード

シンプルバージョン シンプルなグリコレーティング (Glicko Rating System) 用のPHPコードです。 <?phpdefine('PERIOD', 15);define('YEAR', 2);define('C', sqrt((350 *…

fansaka
1年前

イロレーティングの計算用PHPコード

シンプルバージョン シンプルなイロレーティング (Elo Rating System) 用のPHPコードです。 <?phpdefine('K_FACTOR', 20);$rating_A = 1600;$rating_B = 1500;$goal_A = …

fansaka
1年前

実際に計算してみる(グリコレーティングの場合)

グリコレーティング (Glicko Rating System) の計算方法を前項までで学んできたので、実際の試合データを使って、イロレーティングの時と同じように計算してみようと思いま…

fansaka
1年前
2

グリコレーティングの計算式を読み解く

計算式を単純化する 上記はグリコレーティングでの新しいレーティングを求めるための計算式です。 複雑すぎるので、以下のような簡単な式に変換します。 複数の相手と連…

fansaka
1年前

グリコレーティングの基礎知識(2)

期待勝率の算出に相手のレーティング偏差を使う理由は? グリコレーティングの期待勝率(We)を求める時に、イロレーティングと唯一違うところが、g(RDi)というものをかけて…

fansaka
1年前
1

グリコレーティングの基礎知識

グリコレーティング (Glicko Rating System) について学んでいきます。 グリコレーティングとは? レーティング偏差とは? レーティング偏差はレーティングの信頼度と言…

fansaka
1年前
3

実際に計算してみる(イロレーティングの場合)

イロレーティング (Elo Rating System) の計算方法を前項までで学んできたので、実際の試合データを使って計算してみようと思います。 算出にあたって 今回使ったデータ…

fansaka
1年前

レーティングの実際の算出事例

サッカーチームのレーティングを算出するにあたって、海外のサイトで実際にどのように計算されているかを調べてみました。 World Football Elo Ratingsの場合 World Foot…

fansaka
1年前

すべてのレーティングモデルを比較する(イロレーティングの場合)

ここでは、イロレーティングの変動係数K、得点差の反映方法、ホームアドバンテージの値を変化させて、どれがもっとも正確なレーティングになるかを、損失関数である平均二乗誤差(MSE)を使って比較します。

変化させたもの

・変動係数 K: 10~50の2刻み(21通り)
・ホームアドバンテージ HA: 0~50の2刻み(26通り)
・得点差の計算方法 f(d): (7通り)
 default (得点差

もっとみる

サッカーの得点差によるレーティングの調整

はじめに

これまで学んできたイロレーティングやグリコレーティングは、どちらもチェスプレーヤーの強さの指標として作られたレーティングシステムです。
これをサッカーチームに応用しようと考えた時、試合の得点差によってある程度チームの強さがわかるのではと思いました。

経験上、実力差があればあるほど、得点差が開く傾向にあるのは、誰しも感じていることでしょう。
例外はもちろんありますが、アマチュアチームと

もっとみる

損失関数を使ってレーティングの正確性を評価してみる

これまでで、どの種類がより正しいレーティングかなのかを検証するには、「損失関数」なるものを使えばよいことがわかりました。
今回は、レーティングの値と実際の結果を基に、損失関数を使って計算して、比較していきます。

使った損失関数とデータ

平均絶対誤差 (MAE: Mean Absolute Error)

平均二乗誤差 (MSE: Mean Squared Error)

ロジスティック損失関数

もっとみる

より正確なレーティングを算出するために(2) ~損失関数とは?~

レーティングの算出方法と、その各種パラメータを決めるために、どのように比較したらいいだろうと考えてきました。
その比較方法のひとつが、「損失関数」と呼ばれているようです。

損失関数とは?

さまざまなレーティング算出方法のひとつひとつを「モデル」とすれば、上記のやり方で、比較できることがわかります。

一般的によく使われている損失関数は?

「回帰問題」「分類問題」の意味と違いは?

レーティン

もっとみる

より正確なレーティングを算出するために

レーティングを比べたものの…

これまで、イロレーティング (Elo Rating System) と グリコレーティング (Glicko Rating System) の2種類のレーティングの計算方法を学び、それぞれ、得点差とホームアドバンテージを考慮したバージョンを作って、計4種類を比較してきました。

いったい、これらの中のどれがより正確なレーティングなのでしょうか?

それぞれのパラメータ

もっとみる

1993年のJリーグのレーティング推移(2)

前回は、イロレーティングとグリコレーティングのオリジナルの計算法で、1993年のJリーグのレーティングを算出しましたが、今回は独自のアレンジを追加したもの、つまり、得点差とホームアドバンテージを考慮したレーティングの推移を見てみたいと思います。

前回のページはこちら

使用したデータは、前回と変わらずJリーグ初年度である1993年のリーグ戦の試合結果です。
今回の「得点差とホームアドバンテージを

もっとみる

1993年のJリーグのレーティング推移

これまでで、イロレーティングとグリコレーティングについて学び、計算することもできるようになりましたので、実際に1シーズンを通してレーティングの算出をして、その推移を見てみたいと思います。

使用したデータはJリーグ初年度の1993年のリーグ戦の試合結果です。

イロレーティングの推移

算出方法は、レーティングの初期値が1500、変動係数Kの値は20に設定してあります。
得点差やホームアドバンテー

もっとみる

Jリーグのホームアドバンテージ

できるだけ正確なレーティングを求めるために、Jリーグのリーグ戦のホームアドバンテージ(ホームチームの優位性)がどの程度かを調べておきます。

ホームアドバンテージとは?

30年分のデータ

1993年から2022年までのリーグ戦(J1+J2+J3)30年分のデータは以下の通りです。

試合数: 19,914
ホーム勝ち: 8,512 (42.74%)
引き分け: 4,471 (22.45%)

もっとみる

グリコレーティングの計算用PHPコード

シンプルバージョン

シンプルなグリコレーティング (Glicko Rating System) 用のPHPコードです。

<?phpdefine('PERIOD', 15);define('YEAR', 2);define('C', sqrt((350 ** 2 - 50 ** 2) / (365 * YEAR / PERIOD)));define('Q', log(10) / 400);$a0

もっとみる

イロレーティングの計算用PHPコード

シンプルバージョン

シンプルなイロレーティング (Elo Rating System) 用のPHPコードです。

<?phpdefine('K_FACTOR', 20);$rating_A = 1600;$rating_B = 1500;$goal_A = 2;$goal_B = 1;[$a, $b] = calc_elo($rating_A, $rating_B, $goal_A, $goal

もっとみる

実際に計算してみる(グリコレーティングの場合)

グリコレーティング (Glicko Rating System) の計算方法を前項までで学んできたので、実際の試合データを使って、イロレーティングの時と同じように計算してみようと思います。

算出にあたって

今回使ったデータは、イロレーティングの時と同じで、1993年5月15~16日に行われたJリーグの5試合です。
この試合は、Jリーグが開幕して最初の試合で、10チームにより行われました。

もっとみる

グリコレーティングの計算式を読み解く

計算式を単純化する

上記はグリコレーティングでの新しいレーティングを求めるための計算式です。
複雑すぎるので、以下のような簡単な式に変換します。

複数の相手と連続して対戦した場合を考慮して、元の計算式にはΣが入っていますが、ここでは無視しました。

新しいレーティング=
 元のレーティング + 係数 × 重み ×(実際の勝率-期待勝率)

という意味になります。
イロレーティングの場合と違うと

もっとみる

グリコレーティングの基礎知識(2)

期待勝率の算出に相手のレーティング偏差を使う理由は?

グリコレーティングの期待勝率(We)を求める時に、イロレーティングと唯一違うところが、g(RDi)というものをかけている部分です。RDiは対戦相手のレーティング偏差のことで、それを使って重み(g)をつけていることになります。

このgは0から1の範囲に収まるように計算され、相手のレーティング偏差が小さい場合は1に近づき、大きい場合は0に近づく

もっとみる

グリコレーティングの基礎知識

グリコレーティング (Glicko Rating System) について学んでいきます。

グリコレーティングとは?

レーティング偏差とは?

レーティング偏差はレーティングの信頼度と言えます。
実際にどの程度信頼できるかをグラフを使って視覚化してみました。

レーティングが1500と言われても本来の実力は違う場合があります。
レーティング偏差を使えば、おおよそこの辺りということがわかります。

もっとみる

実際に計算してみる(イロレーティングの場合)

イロレーティング (Elo Rating System) の計算方法を前項までで学んできたので、実際の試合データを使って計算してみようと思います。

算出にあたって

今回使ったデータは、1993年5月15~16日に行われたJリーグの5試合です。
この試合は、Jリーグが開幕して最初の試合で、10チームにより行われました。

最初なので、各チームのレーティングは初期値である1500とし、Kの値は20

もっとみる

レーティングの実際の算出事例

サッカーチームのレーティングを算出するにあたって、海外のサイトで実際にどのように計算されているかを調べてみました。

World Football Elo Ratingsの場合

World Football Elo Ratings ( https://www.eloratings.net/ ) というサイトでは、国際Aマッチのデータを使って、各国のナショナルチームのレーティングを算出しています。

もっとみる