【論文紹介】関数データ解析によってラグビー試合の勝敗を試合中に予測する


# はじめに
こんにちは，株式会社Nospareの小林です．この記事では関数データ解析を用いたラグビーの試合の勝利確率をオンラインで予測することを試みる論文Guan etal. (2022) [IN-GAME WIN PROBABILITIES FOR THE NATIONAL RUGBY LEAGUE](https://www.sfu.ca/~tswartz/papers/nrl.pdf)を紹介します．この論文はAnnals of Applied Statisticsに掲載されたものです．
近年は日本でもラグビーの人気が高まってきていますが，本場オーストラリアのNRL（National Rugby League）では試合のテレビ放送をより面白いものにするために，試合中に刻一刻と変化するであろうホームチームの勝利確率を画面上に表示する，ということを検討しているようです．これにより，試合放送がファンやギャンブラーにとってよりエキサイティングになるだろう，ということです．

勝利確率を連続的に更新し続けるためには，予測の精確さと少ない計算量の両立が必要となります．この論文ではホームチームが勝利する事後確率を，キックオフ時点における勝利確率と，得点差および試合中のイベントの同時密度の２つの要素からモデル化しています．80分間の試合中状況は常に変化し続けるので，試合のデータは関数データとして扱い，試合中の勝利確率は試合時間の関数としてモデル化しています．

# モデル１（splitモデル）
では具体的なモデリングのアプローチを紹介していきます．ホームチームが勝利（敗北）するというイベントを$W$（$\bar{W}$）で表記するとします．関心のある数量は次の$W$の事後確率となります：

```math
\text{Prob}(W|X(t)=x(t),D(t)=d(t),p_0)=\frac{f(x(t),d(t)|W,p_0)p_0}{f(x(t),d(t)|W,p_0)p_0 + f(x(t),d(t)|\bar{W},p_0)(1-p_0)}
```

ここで，
* $X(t)$：時点$t$におけるイベントデータに基づいて計算される特徴量
* $D(t)$：時点$t$における得点差，$D(t)>0$のときホームチームが勝っている
* $p_0$：キックオフ時点でのホームチームの勝利確率で，ブックメーカーでのオッズをもとに計算
* $f(x(t),d(t)|W,p_0)$：$W$と$p_0$を所与としたときの条件付き同時密度

テレビ放送で連続的に勝利確率を更新し続けるためには，上式の$f(x(t),d(t)|W,p_0)$や$f(x(t),d(t)|\bar{W},p_0)$を素早く計算できる必要があります．

$f(x(t),d(t)|W,p_0)$のモデリングは，以下のような関数データ解析の枠組みで行います（$f(x(t),d(t)|\bar{W},p_0)$についても同様）．まず，$W$と$p_0$を所与とし，

```math
\begin{split}
X(t)&=\mu_X(t,W,p_0)+\epsilon_X(t,W),\\
D(t)&=\mu_D(t,W,p_0)+\epsilon_D(t,W)
\end{split}
```

とします．ここで，$\mu_X(t,W,p_0)$と$\mu_D(t,W,p_0)$は，それぞれ$W$と$p_0$を所与としたときの関数$X(t)$と$D(t)$の平均です．$\epsilon_X(t,W)$と$\epsilon_D(t,W)$（以後$\epsilon_X(t)$，$\epsilon_D(t)$と表記します）はブラウン運動に従う誤差の過程で，平均が$0$，分散がそれぞれ$t\sigma^2_X$と$t\sigma^2_D$を持つものとします．$X(t)$と$D(t)$の相関は時間に関して一定であるとします．よって誤差分布は

```math
(\epsilon_X(t),\epsilon_D(t))^T\sim N(0,t\mathbf{K})
```

とします．
次に平均関数$\mu_X(t,W,p_0)$と$\mu_D(t,W,p_0)$は，基底関数の線形結合によって近似します：

```math
\begin{split}
\mu_X(t,W,p_0)&=\sum_{k=1}^Ka_k(W,p_0)b_k(t)=\mathbf{B}\mathbf{a},\\
\mu_D(t,W,p_0)&=\sum_{k=1}^Kc_k(W,p_0)b_k(t)=\mathbf{B}\mathbf{c}
\end{split}
```

ホームチームが勝利した試合$i=1,\dots,N$において，$X_i(t_{ij}),D_i(t_{ij}),\ (j=1,\dots,n_i)$が観測されたとすると，基底係数$\mathbf{a}$と$\mathbf{c}$は次の目的関数を最小化することで推定されます：

```math
\begin{split}
H_a(\mathbf{a})&=\sum_{i=1}^N\exp\left\{-\frac{(p_0-p_{i0})^2}{\gamma}\right\}(\mathbf{X}_i-\mathbf{B}_i\mathbf{a})^T\mathbf{\Sigma}_{i0}^{-1}(\mathbf{X}_i-\mathbf{B}_i\mathbf{a})\\
H_c(\mathbf{c})&=\sum_{i=1}^N\exp\left\{-\frac{(p_0-p_{i0})^2}{\gamma}\right\}(\mathbf{D}_i-\mathbf{B}_i\mathbf{c})^T\mathbf{\Sigma}_{i0}^{-1}(\mathbf{X}_i-\mathbf{B}_i\mathbf{c})
\end{split}
```

$p_{i0}$は試合$i$のキックオフ時点での勝利確率，$p_0$は分析者が指定するジェネリックな値で，$p_0$と$p_{i0}$の値が近いとその試合の情報により大きなウェイトを与えるようになっています．$\gamma$はこのウェイトのチューニングパラメータです．
そして，$t_{i1}<t_{i2}<t_{i n_i}$に対し，
```math
\mathbf{\Sigma}_{i0}=\left[
\begin{array}{ccccc}
t_{i1}&t_{i1}&t_{i1}&\dots&t_{i1}\\
t_{i1}&t_{i2}&t_{i2}&\dots&t_{i2}\\
t_{i1}&t_{i2}&t_{i3}&\dots&t_{i3}\\
\vdots&\vdots&\vdots&\dots&\vdots\\
t_{i1}&t_{i2}&t_{i3}&\dots&t_{in_i}\\
\end{array}
\right]
```

です．基底係数の推定値は解析的に得ることができ，得られた推定値を上述の正規分布の尤度関数に代入し，共分散行列の推定を行います．


# モデル２（jointモデル）
上述のsplitモデルは，ホームチームが勝利した場合と敗北した場合の二通りに分けてモデルを組み立てました．しかしこのモデルでは，ホームチームが勝利した場合でも試合終了時点で勝利確率の推定値がちょうど$1$にならない可能性があります．また，得点差$D(t)$の分布は試合終盤においては正規分布ではなく，分布が歪んでいることがわかっています（下図は$t=75$での得点差のヒストグラム，論文のFig1から抜粋）．

![fig1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1023506/27a56557-3cff-517d-a487-ea937782c6e5.png)

こういった問題を克服するために，この論文ではjointモデルというもう一つのモデルも提案しています．jointモデルでは，キックオフ時点での勝利確率と得点差の情報のみを使用します．得点差は独立な増分を持つブラウン運動に従うとすると，$D(80)-D(t)$は$D(t)$と独立です．よってホームチームが勝利する確率は

```math
\text{Prob}(W|D(t)=d(t),p_0)=\text{Prob}(D(80)>0|D(t)=d(t),p_0)=\text{Prob}(D(80)-D(t)>-d(t)|p_0)
```

と書け，$p_0$を所与として

```math
D(t)=\mu_D(t,p_0)+\epsilon_{D_{joint}}(t)
```

とモデル化します．誤差$\epsilon_{D_{joint}}(t)$をブラウン運動に従うとし，$\mu_D(t,p_0)$を基底展開すると

```math
D(80)-D(t)\sim N\left(\mu_{\Delta D}(t,p_{l0}), (80-t)\sigma^2_{D_{joint}}\right)
```

と書けます．ここで

```math
\mu_{\Delta D}(t,p_{l0})=\sum_{k=1}^K\tilde{c}_k(p_0)(b_k(80)-b_k(t))
```
です．よって新しい試合$l$について，キックオフ時点での勝利確率を$p_{l0}$，観測された得点差を$d_l(t)$とすると，勝利確率は

```math
\widehat{\text{Prob}}(W|D_l(t)=d_l(t),p_{l0})=\Phi\left(\frac{d_l(t)+\hat{\mu}_{\Delta D}(t,p_{l0})}{\sqrt{80-t}\hat{\sigma}_{D_{joint}}}\right)
```

によって推定されます．$\hat{\mu}_{\Delta D}$は推定値です．

この論文では，試合後半の勝利確率$p(t)$として

```math
p(t)=w(t)p_{split}(t)+(1-w(t))p_{joint}(t),\quad w(t)=\frac{80-t}{40},\quad 40<t \leq 80
```

のように，splitモデルとjointモデルを加重平均したものを使っています．

# 分析結果
NRLは16チームからなり，レギュラーシーズン中に各チームは24試合戦うことになります．この論文の研究グループはNRLから2016-2019の間の769試合分のデータを提供されており，2016-2018のデータでモデルを推定し，2019年のデータで予測の検証を行っています．splitモデルで使用されるイベントデータ（$X(t)$）として，タックルミス数の差（各チームの選手がタックルされそうになったけどもタックルが失敗に終わった数の差で，タックルミス数の差が正だとホームチームの選手に対するタックルが失敗した数が多いことを意味する）を使っています．

下図は時間経過にともなう得点差およびタックルミスの差をプロットしたもので，時間経過に対して線形に変化していることがわかります（論文のFig3,4から抜粋 ）．

![fig3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1023506/8ebed73b-7b0d-a32f-f74d-9ec9dcf7610a.png)


![fig4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1023506/8a8c5d46-48b1-54ee-1041-782f6a287c99.png)

下図は2019年のデータを使ったモデル予測の検証結果で（論文のFig6から抜粋），試合時間が経過するとともに予測結果と実際の試合の勝敗がマッチしやすくなることがわかります．またsplitモデルは試合の前半ではjointモデルよりも予測精度が高いのですが，試合の終盤ではjointモデルのほうが予測精度が高くなっています．

![fig6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1023506/ca1df4bc-ad32-d352-a261-ff59804905fe.png)


下図（論文のFig7から抜粋）は，2019年の試合のうちランダムに選んだホームチームが勝利した4試合に対する試合中の勝利確率の予測結果になります（前半はsplitモデルを使用，後半は加重平均を使用）．図中の緑の先は得点が発生した時点を表します．この図から，jointモデルは得点が発生したイベントに対し，勝利確率の予測値が敏感に変化することがわかります．（またjointモデルでは試合終了時点での勝利確率の予測値が1になっています）．

![fig7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1023506/aad2aa89-8bfd-1d88-8bce-a1d71f126d61.png)



最後に，$X(t)$が予測結果に対してどれほどインパクトを与えるかを見るために，2019/04/06のMelbourne Storm（ホーム）対Canterbury-Bankstown Bulldogsの試合に対し，２つの分析シナリオを考えています．この試合では前半終了時は6-12，試合終了時に18-16とStormが勝利しています．2つの分析シナリオは

1. splitモデルはイベントデータ$X$と得点差$D$を両方使用する
1. splitモデルは得点差$D$のみ使用する

とし，jointモデルはこれまでと同様得点差$D$のみ使用します．下図は得点差（青点），タックルミスの差（赤），シナリオ1（黒）および2（緑）のもとでの勝利確率の予測結果を示しています．この試合のキックオフ時点でのホームチームであるStormの勝利確率は$p_0=0.85$と，Stormに対する支持がかなり大きかったようです．前半6分でBulldogsが得点するも，この時点で予測勝利確率は$0.8$を少し下回る程度（シナリオ2）でした．タックルミスの差が正であることを見ると，モデルはまだStormが逆転することを予測しています．シナリオ1と2を比較すると，前半24分と32分の間を除いて，シナリオ1のほうが勝利確率を高く予測しており，イベント情報$X(t)$（タックルミスの差）を含めることの意義を示しています．

![fig9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1023506/6c08b2db-f4bb-4e0b-6b8c-7479d0d9082b.png)


# おわりに
この論文では関数データ解析の手法を使って，試合中にホームチームの勝利確率の予測値を連続的更新する手法を提案しました．Storm vs Bulldogsの例でもあるように，この手法ではキックオフ時点での勝利確率$p_0$がかなり大きな役割を担っているように見えます．これは$p_0$はブックメーカーでのオッズをもとに決定され，競馬など他のギャンブルと同様にオッズは試合に関するあらゆる情報（怪我，ホームチームのアドバンテージ，移動など）を反映しているからです．ブックメーカーのない日本のスポーツにおいて同様の手法を適用する場合，SNSなどにおけるpollによって$p_0$の値を設定することは可能かもしれません．スポーツにおける統計学的な手法に関する研究は，統計学のジャーナルにおいてもしばしば論文が掲載されていることから，また面白そうな論文があれば紹介したいと思います．



__一緒にお仕事しませんか！__
[株式会社Nospare](https://bit.ly/38WtGZH)では統計学の様々な分野を専門とする研究者が所属しており，新たな知見を日々追求しています．統計アドバイザリーやビジネスデータの分析につきましては弊社までお問い合わせください．

<a href="https://bit.ly/38WtGZH">
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1023506/d5c625c0-d6f4-680b-d702-3c40f11d6c39.jpeg" alt="株式会社Nospare" width=400>
</a>