計算方法

勝ち点期待値の算出方法

両チームの試合後xGを、勝敗確率と勝ち点期待値(xP)に換算する手順を示す。

xGを入力して計算する →
データとモデル

過去の試合から確率を推定する

Understatがカバーする18,346試合のxGと勝敗データを、understatAPIを使って取得した。ホームとアウェーのxG差を説明変数、ホーム勝利・引き分け・アウェー勝利を結果とする多クラスロジスティック回帰で係数を推定した。このサイトは、その係数から各結果の確率を計算する。

xG差ごとの実測勝率と、モデルによるホーム勝利・引き分け・アウェー勝利の確率曲線を重ねた図
xG差ごとの実測値とロジスティック回帰モデルの推定曲線。

これは試合後の内容を振り返るための値であり、試合前の勝敗予想ではない。xGの提供元による定義の違いや、退場・負傷などxG差に表れない要素は計算に入らない。

01 / 入力

ホームとアウェーのxG差を取る

このモデルに入れる値は、試合終了後の両チームのxGの差である。シュート数や最終スコアは確率計算に使わない。

d = ホームxG − アウェーxG

ホームが1.20、アウェーが1.80なら、d = −0.60 となる。

02 / モデル

3つの結果にスコアを付ける

ホーム勝利、引き分け、アウェー勝利のそれぞれに、定数とxG差の係数を当てはめる。式は3クラスのロジスティック回帰である。

結果ごとのスコア = 定数 + 係数 × d

このサイトで使うモデル係数
結果定数xG差の係数
ホーム勝利+0.04023512+0.81022425
引き分け−0.02314494+0.01647977
アウェー勝利−0.01709018−0.82670402

xG差がプラスになるほどホーム勝利のスコアが上がり、マイナスになるほどアウェー勝利のスコアが上がる。

03 / 確率

3つのスコアを確率に直す

各スコアを指数に変換し、その合計で割る。これがsoftmaxであり、3つの確率の合計は100%になる。

結果の確率 = exp(その結果のスコア) ÷ 3結果のexpの合計

d = −0.60 の例では、次の値になる。

ホーム勝利 19.9% 引き分け 30.0% アウェー勝利 50.1%
04 / 勝ち点

確率を勝ち点期待値に換算する

勝利は3点、引き分けは1点、敗戦は0点として、各結果の確率に掛けて足す。

xP = 3 × 勝利確率 + 1 × 引き分け確率

上の例なら、ホームのxPは 3 × 0.199 + 0.300 = 約0.90、アウェーのxPは 3 × 0.501 + 0.300 = 約1.80 となる。順位表のxPは、各試合のこの値を合計したものである。