clew

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

*

第879回トトくくじ予想 J2

      2016/10/10

J2 第35節をメインに予想する

今回は J2 11枠 プラス 旧ナビスコカップです。日程は J2 11試合が初日となります。キャリーオーバーとなる予感がプンプンしますね。ダブルキャリーで大盛り上がりとなるか?

予測手法についてはいったん置いておいて、一覧表だけ載せます。

879%e4%ba%88%e6%83%b3

二つの予想手法を合わせてダブルにしました。機械的判断です。 J1 のカップ杯のほうは適当に勘で選びます。とにかく J2 をパーフェクト予想できなければ先がありません。なんとかクリアしたい。

販売締め切り。。 感想と結果について

さて、販売が締め切りとなりました。一応買いましたが、実際の買い目は予想とは全然違う形になってしまいました。マルチ買いで勝負するかギリギリまで悩んでいたんですが、結局のところ自信がなくて、シングルでの試し買いという感じになっています。J2 がメインだし、いつものJ1 9試合プラスJ24試合のパターンではないですからとても難しく感じます。まあ普段のパターンでも難しいのには変わりはないのですが、変則パターンなので余計に難しく感じるのかもしれません。まず順当ばかりとはならず、かなり変わった結果になるだろうと思っています。

先に挙げた予想は、個別データによるものと、一括累積データによる予想の合成です。配当としてはとても低く、面白い予想、魅力ある予想といった感じではありません。おそらく正解と誤りが混合した平凡な結果に終わるのではないでしょうか。

実際の買い目は以下です。

879%e8%b2%b7%e3%81%84%e7%9b%ae

予想表にない箇所にマークがありますが、これは勘で選んだのではなくて、一応、検証用テストフレームの結果から選択したものです。すべて機械判断の出力結果から選択しています。ただし出力結果の組み合わせは勘で選びました。効果的にマルチを組み立てる方法は今のところないです。

試合終了後の検証はこのページにて行います。よかったらまた見に来てください。

J2 予想方法 についての検証

さて、J2 が終了した時点でハズレは確定。全然おもしろくないですが、ある程度外れるのは想定していて勝負をかけることはしなかった。結果的にこれは正解でした。まあ、いろいろ研究している状況で無謀な勝負をかけても傷を深くするばかりで、希望的観測だけで攻略できるモノではないです。

WEKA においては 名義属性・・・すなわちチーム名などの情報を取り扱うことを主目的に使いました。基本的に クラス分け(分類予測)においては 数値の羅列情報を手掛かりに分類予測をします。カテゴリは1行データにひとつ いうのがマトリクスの基本形。これは H2O-3 においても同様で、複数カテゴリデータとしては読み込みはできるけれども、予測段階でエラーになる可能性が高い。最新のWEKAヴァージョンも1行に複数のカテゴリ(名義属性)を置くと上手く作動しません。したがって今節の予測で使用したヴァージョンは 3.6 でした。

私が名義属性にこだわる理由はただひとつ。それは サッカーにおいては数値で得られる事前情報が極端に少ないから。つまり対戦前に得られる情報は基本的に対戦カードのみです。数値として得られるものは過去のものばかりであり、これらを基に計算しても 多くの人が考えるような結果しか得られない。正しい結果を予想するためには 「過去の数値」 に囚われ過ぎてもいけないし、かと言って、根拠のない、なおかつ再現性のない思い付きでもダメ。

私がこれまで取り組んできた方法は、できるだけ実戦に近い数値情報(対戦データスタッツ)を想定して、それを基に試合結果を予測するスタイルでした。ある程度は成果を得ることはできても、想定そのものの出来次第で結果が変わります。想定した実戦スタッツが極端に実際のパフォーマンスと違っていれば即アウトとなってしまい、アルゴリズムを変えても正しい予測を導くことは難しいです。

ではいったいどうしたらより正しい予測結果を得ることができるんだろうか? 今、入手できる単純なデータだけで正しい勝敗予測を機械的に判断させることはできないのか? 考えた結論は以下。

使えるデータは対戦カードとこれまでの対戦履歴、得失点情報のみ。細かい試合内容のスタッツは使わないこととする。

なぜなら上で述べたように、未知の試合スタッツは想定することは可能でも実際のスタッツとまったく同じではないからです。対戦相手も変化しますから同じようなパフォーマンスを再現できるわけではありません。だから連敗チームがまた負けるか?というとそうではないし、強いから、あるいは圧倒的に試合を支配しているからといっても負けることはあります。

こういったことを考えると、スタッツを想定しての予測はあまり勧められる方法ではありません。重要なのは どのチームに対してどういう結果だったのか? たったこれだけ。細かいデータのマトリクスや手法については伏せますが、すべては対戦相手別の得失点情報に集約されます。

今後しばらくは 対戦カード と 対戦相手による得失点情報 の二点に的を絞った予測を行いたいと考えています。

j2-35節 金沢ー山口 圧倒的に山口優勢・・・だが 勝利は 金沢 だった。。これは予想できたのか?

さて、番外編として、金沢ー山口 の結果について考えてみます。この試合は山口が事前に支持を集めていて金沢は不利 というのが大方の見方でした。支持率はそれほど極端には偏っていませんでしたが、大体において機械学習による予測においても ほぼ支持率と同様の結果を得ていました。

第一候補が山口で、第二が金沢、そしてドローという具合ですね。実際の試合では圧倒的に山口が押し込んで金沢は防戦に追われるという展開。上手くいってドロー、金沢の勝ちはほぼないだろう・・という感じです。結果的に1点を守り切り金沢が勝利しました。

直近の直接対決では金沢が勝利していましたので、まったく勝ち予想ができる要素がなかったか? というとそうではありません。しかし、今季リーグ順位から判断すれば山口が優勢であることは明らかでした。

本題に戻ります。結果から言うと、この試合の予測は可能です。機械学習による予測で導くことができます。私自身もいろいろ試してみて 「これはもうほぼ予測は無理なんじゃないか?・・」 と、あきらめかけていたんですが、工夫した結果、導くことができました。以下が実際の予測画面です。

j2-35-%e9%87%91%e6%b2%a2%e3%83%bc%e5%b1%b1%e5%8f%a3これは H2O-3 による PREDICT の結果が表示されている画面。

HOME の確率が 47.8%、ドロー確率 43.6% という具合に確認できますね。この予測は   Gradient Boosting Method を使用しています。工夫すれば 名義属性もデータとして使えることが分かっています。(以前はやり方が分かりませんでした。。)

HOME と AWAY と書かれた真下の記号のようなもの・・・これが チーム名 です。文字化けしていますが、ちゃんと金沢、山口 というように認識されています。一応、修正方法もあるのですが予測に影響を及ぼすものではないのでこのまま放置してアルゴリズムを走らせています。

ディープラーニングでは導けなかったこの結果・・GBM であっさりと出せましたね。同じデータ構成で。

まあ、いつものごとく この予測方法が他の試合でも同じように通用すればいいんですが、今のところ検証事例も少ないので何とも言えません。

 

 

 

 

 - トト予想