1番人気のバックテスト
ボートレースでいかに機械学習するか。
一応一通り触ったので雑感を垂れ流す。
はじめに教師あり学習でDNNがいいと思う。
問題を何にするかというのは非常に興味深い問題で
3連複の予想ならone hotで20通りのラベルにするか
上位(3位まで)or下位の0or1の2通りにする。
競馬のようにタイムを予想するのは競艇には向かない(断言)。
一着のみの予想ならやってみればわかるがかなり精度が出せるので
3連単は2着3着を予想できれば解けると思うのだが3連単を単に当てるのと同じぐらい難しい。それに1着を予想した分逆に正解率は下がってしまう、難しいね。
特徴量には使わないがオッズは同時にとってこないと買い目を作るときにめんどくさいので最初からセットと考えたほうが良い。
ボートの勝ち方考察。
いま完璧に予想できるAIがある、
これで100%当たるか?と言われたらそんなことはない、
その完璧な予想は一番強い人の勝率でしか正解率がない、未来は誰にもわからないので。
誰が一番強くてどのくらい勝ちそうなのかはわかる。
そうしたらあとは単純な控除を考慮した足し算割り算だ、
そして重要なのは全部が全部期待値があるとは限らない。
みんなが完璧に予想できるAIでベットしたらそれは選手おのおのの勝率で分散させてみんなが75%払い戻しを受けることになる。
ここから現実的に予想が下手な自分はどう勝つか、
じゃあどうやって歪むか人気になりすぎるor人気がなさすぎる、
どこにどうやってバイアスがかかるのかを考えるべきなんだろうなあ、
優位に相関していない直近の成績とかを捨てるのはひょっとするともったいないのか?
独立したレースだからと考えがちだが前のレースに意味をもたせるべきなのか。
間違った人間がオッズを歪ませるではどうやって考えて間違えにたどり着き歪むかは常に考えていたい。
もちろんこんな考えをしなくても圧倒的に正しい予測ができれば勝てるはずだ。
だからもっと頑張ってモデルと学習と特徴量をどうにかしろという話なんだ。
終わらない終わりの始まり
自動売買の部分で割ときつい状態に突入した。
結構大掛かりなプログラムを書く羽目に、
まずどこで何時に締め切りかをとってきてリスト化
まあここまではいい、問題はオッズとの兼ね合いとテレボートへの接続。
seleniumを使えばそこまで大変ではないのだが
問題はタイミングだ、各々の場でひっきりなしに始まるのでちゃんと始まる時間でソートしてちゃんとURL開いてオッズがどうなるか見て買うのは割と忙しいく難しい。
人によってはひょっとしたら簡単なのかもしれないが、馬鹿な俺には難しい。
テレボートでの振る舞いが一番詰まっていると言える、
正直ほとんどちゃんと賭けたことないのでこのWEBページまじかよって感じで不便すぎて相当厳しいのでこの部分の設計が時間かかりそう。