Prediction 1 : ポアソン分布を用いたサッカーの得点予想モデル
前回得られた、ホームでの平均得点(Hs:Home scored)、ホームでの平均失点(Hg:Home gave)、アウェーでの平均得点(As:Away scored)、アウェーでの平均失点(Ag:Away gave)の4つのデータを元に得点モデルを構築し、ポアソン分布に基づいて試合結果の予測を行ってみた。
まず一般にサッカーの試合の得点数はポアソン分布に従うと言われている。
ポアソン分布は次の式で定義される確率分布である。
P(X=k)は、単位時間に平均でλ回発生する事象がちょうどk回発生する確率、を意味しており、サッカーでいうと90分間で平均λ得点するチームがちょうどk得点する確率、を与えてくれることになる。したがってあらかじめ平均何得点するのか予想できていれば、その試合でk得点する確率が予想できる、ということだ。
そこで、Hs,Hg,As,Agの4つのデータを元にその試合におけるλを計算することが得点予想モデルのテーマとなる。
今回使用するデータは前回と同じく14/15シーズンのプレミアリーグ。学習用データとして第34節までの結果を利用し、残りの4節分(40試合)をテスト用データとした。
Pandasにより集計した第34節までの結果は以下。
Hs | Hg | As | Ag | |
---|---|---|---|---|
Arsenal | 2.3125 | 0.75 | 1.52941 | 1.17647 |
Aston Villa | 1 | 1.41176 | 0.666667 | 1.44444 |
Burnley | 0.777778 | 1.16667 | 0.75 | 1.9375 |
Chelsea | 1.9375 | 0.4375 | 2.05556 | 1.11111 |
Crystal Palace | 1.11765 | 1.47059 | 1.35294 | 1.29412 |
Everton | 1.58824 | 1.05882 | 1.05556 | 1.55556 |
Hull | 1.125 | 1.25 | 0.777778 | 1.38889 |
Leicester | 1.125 | 1.3125 | 1 | 1.83333 |
Liverpool | 1.58824 | 0.941176 | 1.17647 | 1.23529 |
Man City | 2.11765 | 0.823529 | 2 | 1.29412 |
Man United | 2.35294 | 0.764706 | 1.11765 | 1.23529 |
Newcastle | 1.35294 | 1.52941 | 0.764706 | 1.82353 |
QPR | 1.16667 | 1.27778 | 1.0625 | 2.25 |
Southampton | 1.72222 | 0.666667 | 1 | 0.875 |
Stoke | 1.35294 | 1.23529 | 0.941176 | 1.23529 |
Sunderland | 0.823529 | 1.52941 | 0.75 | 1.4375 |
Swansea | 1.35294 | 1.05882 | 1.05882 | 1.52941 |
Tottenham | 1.70588 | 1.35294 | 1.52941 | 1.52941 |
West Brom | 1.16667 | 1.44444 | 0.6875 | 1.25 |
West Ham | 1.35294 | 0.941176 | 1.11765 | 1.52941 |
全チーム通算で計算したHs、Hg、As、Agの平均は次のようになっていた。
aveHs | aveHg | aveAs | aveAg |
---|---|---|---|
1.447059 | 1.123529 | 1.123529 | 1.447059 |
となる。なおその定義からaveHs=aveAg、aveHg=aveAsになっていることに注意。
このデータに対し、各チームのホームでの攻撃力(HA)、ホームでの守備力(HD)、アウェーでの攻撃力(AA)、アウェーでの守備力(AD)を次のように定義する。
ここで注意したいのが、攻撃力は高いほど得点をとりやすいことを示しているのに対し、守備力は低いほど失点しにくいことを示している、ということ。
例えばHA=1.5の場合、ホームで平均の1.5倍得点を取りやすく、HD=1.5ならば、ホームで平均の1.5倍得点を与えやすいことになる。
この数値をもとにλを算出しよう。今回λを以下のように定義した。
ホームで平均のHA倍点を取りやすいチームとアウェーで平均のAD倍失点しやすいチームが対戦した場合、ホームチームは平均の倍の得点をするだろう、という仮定のもとλを算出する、というのが上のλの定義が意味することだ。
例としてテスト用データの1試合目、Leicester(home) vs Newcastle(away)の試合を考えてみよう。
第34節までの結果に基づき、2チームの攻撃力、守備力は次のようになっている。
HA | HD | AA | AD | |
---|---|---|---|---|
Leicester | 0.777439 | 1.16819 | 0.890052 | 1.26694 |
Newcastle | 0.934959 | 1.36126 | 0.680628 | 1.26016 |
したがって
このλをパラメタにして両チームの得点をポアソン分布で予測したものが次のグラフだ。
したがって最も可能性の高いスコアはLEI 1 - 0 NEWということになる。
このように定義されるλをもとに得点を予測してみた結果が以下。
HomeTeam | AwayTeam | Prediction | Result | Errata | |
---|---|---|---|---|---|
0 | Leicester | Newcastle | 1 - 0 (14.06%) | 3 - 0 (4.71%) | 1 |
1 | Liverpool | QPR | 2 - 0 (10.60%) | 2 - 1 (9.43%) | 1 |
2 | Man United | West Brom | 2 - 0 (16.95%) | 0 - 1 (3.84%) | 0 |
3 | Sunderland | Southampton | 0 - 1 (21.21%) | 2 - 1 (2.63%) | 0 |
4 | Swansea | Stoke | 1 - 0 (14.99%) | 2 - 0 (8.66%) | 1 |
5 | West Ham | Burnley | 1 - 0 (15.79%) | 1 - 0 (15.79%) | 2 |
6 | Chelsea | Crystal Palace | 1 - 0 (18.09%) | 1 - 0 (18.09%) | 2 |
7 | Tottenham | Man City | 1 - 2 (8.66%) | 0 - 1 (4.71%) | 1 |
8 | Hull | Arsenal | 0 - 1 (12.44%) | 1 - 3 (5.49%) | 1 |
9 | Aston Villa | West Ham | 1 - 1 (12.66%) | 1 - 0 (9.02%) | 0 |
10 | Crystal Palace | Man United | 0 - 1 (13.05%) | 1 - 2 (9.11%) | 1 |
11 | Everton | Sunderland | 1 - 0 (16.06%) | 0 - 2 (2.54%) | 0 |
12 | Hull | Burnley | 1 - 0 (14.50%) | 0 - 1 (8.03%) | 0 |
13 | Leicester | Southampton | 0 - 1 (18.40%) | 2 - 0 (3.64%) | 0 |
14 | Newcastle | West Brom | 1 - 0 (14.25%) | 1 - 1 (13.33%) | 0 |
15 | Stoke | Tottenham | 1 - 1 (10.71%) | 3 - 0 (2.17%) | 0 |
16 | Chelsea | Liverpool | 1 - 0 (20.01%) | 1 - 1 (9.17%) | 0 |
17 | Man City | QPR | 3 - 0 (10.15%) | 6 - 0 (3.02%) | 1 |
18 | Arsenal | Swansea | 2 - 0 (12.79%) | 0 - 1 (3.03%) | 0 |
19 | Burnley | Stoke | 0 - 0 (19.37%) | 0 - 0 (19.37%) | 2 |
20 | Liverpool | Crystal Palace | 1 - 1 (12.52%) | 1 - 3 (2.68%) | 0 |
21 | QPR | Newcastle | 1 - 0 (14.16%) | 2 - 1 (9.05%) | 1 |
22 | Southampton | Aston Villa | 1 - 0 (20.74%) | 6 - 1 (0.17%) | 1 |
23 | Sunderland | Leicester | 1 - 1 (12.83%) | 0 - 0 (9.03%) | 1 |
24 | Tottenham | Hull | 1 - 0 (12.48%) | 2 - 0 (10.22%) | 1 |
25 | West Ham | Everton | 1 - 0 (14.03%) | 1 - 2 (5.48%) | 0 |
26 | Man United | Arsenal | 1 - 1 (10.38%) | 1 - 1 (10.38%) | 2 |
27 | Swansea | Man City | 1 - 1 (10.33%) | 2 - 4 (1.74%) | 0 |
28 | West Brom | Chelsea | 0 - 2 (10.15%) | 3 - 0 (0.35%) | 0 |
29 | Arsenal | Sunderland | 2 - 0 (16.08%) | 0 - 0 (6.09%) | 0 |
30 | Arsenal | West Brom | 1 - 0 (17.13%) | 4 - 1 (2.61%) | 1 |
31 | Aston Villa | Burnley | 1 - 0 (13.68%) | 0 - 1 (9.63%) | 0 |
32 | Chelsea | Sunderland | 1 - 0 (20.97%) | 3 - 1 (3.78%) | 1 |
33 | Crystal Palace | Swansea | 1 - 1 (12.57%) | 1 - 0 (9.07%) | 0 |
34 | Everton | Tottenham | 1 - 1 (10.68%) | 0 - 1 (6.36%) | 0 |
35 | Hull | Man United | 0 - 1 (13.73%) | 0 - 0 (11.04%) | 0 |
36 | Leicester | QPR | 1 - 1 (10.91%) | 5 - 1 (0.85%) | 0 |
37 | Man City | Southampton | 1 - 0 (17.10%) | 2 - 0 (10.95%) | 1 |
38 | Newcastle | West Ham | 1 - 1 (11.37%) | 2 - 0 (5.34%) | 0 |
39 | Stoke | Liverpool | 1 - 1 (12.91%) | 6 - 1 (0.04%) | 0 |
計40試合のうち、スコアを含め完全に的中させたのが4試合、勝敗をあてたのが14試合という結果になった。
ここからは今回のモデルの問題点と今後の課題について考察しよう。
テストデータのうち、片方のチームが3得点以上した試合を抜き出してみると次のようになった。
HomeTeam | AwayTeam | Prediction | Result | Errata | |
---|---|---|---|---|---|
0 | Leicester | Newcastle | 1 - 0 (14.06%) | 3 - 0 (4.71%) | 1 |
8 | Hull | Arsenal | 0 - 1 (12.44%) | 1 - 3 (5.49%) | 1 |
15 | Stoke | Tottenham | 1 - 1 (10.71%) | 3 - 0 (2.17%) | 0 |
17 | Man City | QPR | 3 - 0 (10.15%) | 6 - 0 (3.02%) | 1 |
20 | Liverpool | Crystal Palace | 1 - 1 (12.52%) | 1 - 3 (2.68%) | 0 |
22 | Southampton | Aston Villa | 1 - 0 (20.74%) | 6 - 1 (0.17%) | 1 |
27 | Swansea | Man City | 1 - 1 (10.33%) | 2 - 4 (1.74%) | 0 |
28 | West Brom | Chelsea | 0 - 2 (10.15%) | 3 - 0 (0.35%) | 0 |
30 | Arsenal | West Brom | 1 - 0 (17.13%) | 4 - 1 (2.61%) | 1 |
32 | Chelsea | Sunderland | 1 - 0 (20.97%) | 3 - 1 (3.78%) | 1 |
36 | Leicester | QPR | 1 - 1 (10.91%) | 5 - 1 (0.85%) | 0 |
39 | Stoke | Liverpool | 1 - 1 (12.91%) | 6 - 1 (0.04%) | 0 |
これを見て分かるのが、今の得点予測モデルでは結果として大差がつくような試合でも1-0や1-1などの予測をしがちだということ。ポアソン分布に基づいて得点を予測する限り、片方のチームが3得点以上するだろうという予測にはなかなかならない。
しかしながら現実のサッカーでは、昨日のイラン戦もそうだったように、一度均衡が崩れると得点が連続して一気に勝負がつくということが往々にしてある。
本田圭介も言いました。「ゴールはケチャップや」、と。
今後はこのようなケチャップ効果を考慮したモデル作りができればと思う。以上です。
今回の記事は以下の記事を参考にさせていただきました。ありがとうございます。
yeoman.hatenablog.com