clew

どっかの誰かの役にたてばうれしい。

予測モデルの作り方 基本についておさらい。

さて、今さらなんですけれども”予測モデル”について覚え書きというか、まあ自分のためでもあるのだけれど、ここらで一度おさらいをやってみようかと思います。

参考にするのは以下のリンク。

予測モデルの作り方(実務的な話)

要点を短くまとめてありますから、とても分かりやすいです。

要するに・・結果に対して相関の高い変数(事象?)を見つけて、それから結果を予測するだけの話。

サッカーの勝敗でいえば・・

以下は例です。

1、アイツが出る試合では必ず勝つ。あるいは負けるか、引き分けになるとか・・

2、ホームでは下位チームに負けるけど、アウエイでは上位チームに勝つ。

などなど。

いろいろありますね。

まあ、基本的に考えることは人力予想もプログラム予想も同じです。

何らかの勝敗との関係性を見つけて、それをもとに予測する。

ただし機械予測には注意点があります。

それは マルチコ(多重共線性) 

単純にいえば”相関関係の強い変数どうし”を同時に説明変数にしないこと。

サッカーでいうと、スコアと勝ち点、順位などです。

サッカーは基本的にスコア、ゴール数がすべての情報の起点です。

ですから例えば、得失点や勝ち点とリーグ順位という組み合わせは、とても強い相関関係がある。

これを同時に説明変数として使ってはいけないということ。

じつは今までは平気で並べて使っていました。。

ここを改善してみようかと。

まあ基本はこんなとこかな。

特定の選手名を属性として考えて、例えば ”いる、いない”とか。

そういう情報でもOKだと思います。

ついでに627回について少し解説を・・・

今回627回は順当結果の多い回となりました。

スコア予測においては 11/13 という正解率をおさめたわけですが、その理由として・・・

1、使用したアルゴリズムがナイーブベイズだったこと。

これは事後確率をもとにした予測です。したがって順当結果に対しては比較的マッチする傾向が強い。

逆に波乱に対しては弱いアルゴリズムだと思う。

もっと”とんがった予測”には別のアプローチが必要か?

横道にそれましたが、予測方法に”万能選手”などありません。

ひとつの方法ですべてを正解に導く方法など無いような気がします。

もっとも現実的なのは、”いくつかの手法での予測結果を合体させる”という考えでしょう。

予測対象とする開催回が順当となるか、波乱含みとなるかは全く分からないですからね。

したがっていくつかのシナリオを想定して、それに応じて予測手法を使い分けるのがもっとも良い。

予測点数は多くなりますが、せっかく予想しておいて取りこぼしがあるようではダメですからね。。