clew

気になるモノ 気になる人 気になる言葉

*

Jリーグ 2ndステージ 1節 鹿島―ガンバ大阪 の予想方法についての検証

      2016/07/06

予測がはずれた原因について

前節の実際のスタッツを利用して、次節対戦の結果を予測する、これが現在 私が行っている予想方法です。詳しくは前回の記事にて説明しています。この記事は、その予測手法で導かれた結果がハズレとなる原因について詳しく実例を挙げて考えてみます。例題は 2ndステージ 第1節 鹿島ーガンバ大阪です。

予測において重要指標となるスタッツは何か?

まずは スタッツのどの要素が分類判定の一番大きな要因となっているのか? を明らかにしなければなりません。前回の予想において使用したアルゴリズムは以下です。

Algorithm: Gradient Boosting Method

このメソッドにおいては 構築された予測モデルにおいての変数の重要度を自動でグラフとして示してくれます。以下が実際に構築した予測モデルにおいての変数重要度です。

Variable Importances

一目瞭然ですが、ホーム側のシュート成功率に一番ウェイトが置かれていて、つぎがアウェイ側のシュート成功率です。注意しなければならないのは、打った数ではなくて成功率です。ウェイトの付け方が極端に感じるかもしれませんが、これは初期設定でモデル構築を行っていることに注意してください。パラメーターをいじると おそらく変わると思います。

では、特徴を頭に入れて、つぎは流用したスタッツと実際のスタッツを、目視で確認してみます。

流用した前節スタッツと実際の試合後のスタッツのずれを確認してみる

まずは対照表を見てみます。向かって左側の色違いのペアが実際のスタッツ、右が流用されたスタッツです。

2nd-1 鹿島―ガンバ スタッツ比較

表の一番上に、シュートの総数と成功率が表示されています。これを見比べると、明らかに逆になっているのがわかります。つまり、実際の試合ではガンバの成功率が高く、予想データにおいては、鹿島が優勢になっています。注意深く見ると、シュート総数や30Mライン進入回数など、他の要素では結構ガンバも鹿島を上まっているのですが、それらの要素はほとんど評価されずにシュート成功率だけで判断されているように目視でも確認できますね。

同じような予測ミスとして、もひとつ 湘南―横浜マリノス も載せておきます。

湘南ーマリノス j1-2nd-1

シュート成功率と被成功率について

私が利用している フットボールラボ には、次節の対戦について、これまでの成績、スタッツを独自に集計した数値で対比させているページがあります。残念ながら更新されると後で参照することはできなくなってしまうのですが、今回は シュート被成功率 というものに注目してみました。

シュート成功率に、勝敗の大きな要因があるのならば、被シュート成功率も勝敗に大きく関係する。

シュート成功率 というのは、枠内、枠外 を問わず、打ったシュート数とゴールの比率を示しています。シュート被成功率 というのは、打たれたシュートの成功率を示していて、言い換えると 防御率 になります。つまり 低いほどディフェンスが良い という指標になります。

それでこれらの数値を用いて単純に各チームの強さを算出、比較させてみました。計算式は単純で、成功率から被成功率を差し引くだけです。数値の大きい方が相対的に上とみなします。

以下の表は第857回 トトくじの組み合わせと、強さ指数による比較です。数値が正の方向へ大きくなるほど強いと判断します。なんか微妙ですけどね。

857累積シュートデータによる予測

と、ここまで書いて重要な点を見逃していました。

流用したスタッツのシュート成功率というのは、今季の平均ではなくて、単独の試合についてのものであり、シュート被成功率に関しては、単独の試合についてのデータというのはなくて、今季の平均値である。

上の予測表の数値は、すべて今季の累積の平均値です。いつもの流用した前節スタッツを用いた計算ではありませんので注意してください。

以上のことを間違えると、ちょっと変なことになってくるので注意していただきたいです。利用の仕方としては、あらたに累積平均値として属性に追加するか、もしくは単独の試合に関して独自に被成功率を計算して属性を追加する という方法が考えられます。あるいはシュート関係だけに的を絞った新たなデータを構成して予測させてみるのも面白いかもしれません。

すぐ上の 857回 13枠予想表 は、今季の シュート成功率の平均値であり、被成功率も同じく累積の平均値で計算してあります。したがって統計的に見れば、おそらく順当な結果であり、意外性はあまり感じられないと思います。実際には 「えぇっ?」 というような結果がよく見られるのですが、そういった予測を得るには、違ったアプローチが必要かなと思います。

予測における致命的なミス

最後に、何だかんだといろいろ書いてきましたが、未知のものを予測するということにおいて、決定的、かつ 致命的なミスを犯していたことに気が付きました。それは スコア と同じ意味を持つ属性を何の疑問も持たずに説明変数として使っていたこと。

つまり、さんざん述べてきた シュート成功率 や、被シュート成功率 というのは 打った、あるいは 打たれたシュートの数が分かれば、スコアも自ずと割り出されるものであり、これさえ事前に正確に知り得ることができれば 100% 予測が成功するわけです。だから、その他もろもろの説明変数などはまったく必要ではなくて、GBM における予測においては、変数の重要度というものが大きくシュート成功率に偏っていた・・というわけです。

なんてバカなんでしょう。。

説明変数の見直しによる修正、過去の開催回におけるテスト、検証はこれからになりますけれども、少なくとも 予測結果における 3WAY方式による確率分布 には大きな影響が出るのは間違いないと思います。良い方に影響が出れば言うことなしですけどね。

もう、頭悪くていや。

 

 

 

 - トト予想