見出し画像

ベイズ推定に基づいた3bet率の推測

本記事は1年前に書いて、蔵で眠っていたnoteになります
いい機会なので蔵出しします

こんにちは。実は経済学部生のPeeeajeです。今回の記事ではベイズ的アプローチを用いた3bet率の推定という内容に触れていこうと思います。

どういった問題を解決できるのか

従来の方法ではハンド数が少ない際には信頼度が非常に下がってしまい、参考にできない場合が多い。ベイズ的アプローチを用いることでハンド数が少ない場合にもより参考にできる情報を得られるようになる可能性がある。

そもそもベイズってなんや

僕自身ざっくりとした認識であまり信頼されても困りますが、とりあえず今回の記事で重要になるのはベイズにおいては事前情報を用いることです。どういうことか考えていきましょう。

プレイしていて、相手が今までに3betを3回中1回打ってきたとします。その場合、推定される3bet率は33%ですが、おそらくこの数値は信頼できないと皆さん考えると思います。なぜそのように考えるのか?その理由は2つ考えられ、サンプル数が少ないこと33%という3bet率は現実的ではないことではないでしょうか。

つまり3bet率を考えるにあたり、事前情報は多かれ少なかれ感覚的に用いられており、これを実際に数値として表現できるということが本記事におけるベイズ推定のメリットになります。

細々した表現は避けますが、事前情報と得られたデータ(stats)、それらを合体させると事後分布という求めたいものが得られるという流れです。

とりあえず実践

事前情報である事前分布にどのようなものを用いるべきかの議論は後に回し、とりあえず事前分布をBeta(2, 15)とします。

ベータ分布は今までに何回成功し、何回失敗したかという情報から、その成功確率pの従う分布を表します。Beta(2, 15)というのは17回の試行中、2回成功(3bet)15回失敗(not 3bet)したときの成功確率(3bet率)の分布を表します。

画像2

つまりどういうことかというと、相手の情報が全くない場合には相手の3bet率はこのグラフのように分布すると予測するということですね。期待値は11.7%程度となり、30%頻度で打ってくるようなプレイヤーは非常に少ない等、それなりに現実に即しているように思います。

ここで、相手が今までに5/100の頻度で3betを打ってきた場面を考えます。この5/100というのがデータとなり、事前分布は先に示したので、主眼である事後分布を求めていきます。

細かい話はすっとばし、事後分布の平均は$${\frac{α + γ}{α+β+n}}$$, 分散は$${\frac{(α + γ)(β+n-γ)}{(α+β+n)^2(α+β+n+1)}}$$となるベータ分布Beta(α+γ, β+n-γ)に従います。nは試行回数である100, γは成功回数(3bet回数)である5となるため、求めると平均5.98%, 分散が0.0477, 標準偏差が2.18%であると推定されます。

画像2

単純に推定された頻度は5%ですが、そこまで低いのは事前情報からは珍しいため、補正されて5.98%と高く出ており、妥当性があると考えてもよさそうじゃないでしょうか。

次にサンプルが少なく、1/5の頻度で3betを打ってきた場合を考えます。n=5, γ=1なので、計算すると平均は13.64%, 分散が0.0051, 標準偏差は7%であると推定されます。

画像3

単純に推定された頻度は20%ですが、事前分布と合わせることで13.64%となり、異常でない数値に落ち着いています。これはベイズ的アプローチを用いることでハンド数が少ない場面においてより正確に近い数値を得られたと考えられるのではないでしょうか。

注意点

どのような事前分布を用いるべきかという問題がこのアプローチにはあります。事前分布が極端に間違っていると事後分布も信頼できなくなるため、自分なりに納得いくものを採用する必要があります。
今回は自分がそれなりに妥当そうと思うものを採用しましたが、Beta(1, 1)を用いると3bet率が全て等しい一様分布となります。これは事前分布としての情報を与えにくい点では優秀ですが、ハンド数が少ない際の推定を助けるという本記事の内容には即していない気がします。

画像4

実際のプレイにおける活用

実際のプレイにおいてどのように活用できるでしょうか。statsに標準偏差を表示させている奇特な人間には未だかつて出会ったことがないので、一番の注目はその頻度自身だと思います。

先に示した事前分布を採用するとすると、α=2, β=15であるため、nは試行回数、γは3bet回数の下で、その平均は$${\frac{2 + γ}{2+15+n}}$$で求められます。これはtrackerにおいてstatsを作成することで実際にHUDに表示することが容易に可能です。

使っているtrackerがPT4なためPT4についての説明になります。以下の画像が元々の3bet頻度を表すstatsになります。

画像5

こちらをduplicate(複製)した上で、以下のように変更します。名前等は好きにつけてください。

画像6

これだけで事前分布に従って補正をしてくれるstatsを作成することが出来ます。実際にやってみると意外と簡単で実際に使ってみるのも興味深いように感じますし、同様の手法を他のstatsに用いることでハンド数が少なくてもより信頼できるstatsを作成できるのではないでしょうか。

ということで本記事はここで終わりとなります。最後まで読んでいただきありがとうございます。

この記事が気に入ったらサポートをしてみませんか?