見出し画像

ロジスティック回帰分析による一色手アガリ率の予測

研究代表者 nisi
研究協力者 とつげき東北、みーにん

1.はじめに

前回記事の続編です(前回記事の知識は前提としません)。

前回は、ある自分の手牌から一色手のアガリに結び付く確率について、染め色の数牌の枚数や字牌の暗刻・対子・孤立の種類数の観点から調べました。しかし、一色手アガリ率予測をするにあたって、特に染め色数牌について、単なる枚数のみじゃなくて、どの程度「連結」してるかも、重要な要素となることは容易に想像できます。

そこで、今回は、前回よりさらに進化した(数牌の「連結」具合も考慮した)一色手アガリ率予測をするために、ロジスティック回帰分析の手法を用いて、基礎データ取り(牌譜解析による)や一色手アガリ率の推定をやってみました。

2.ロジスティック回帰分析について

一般に、「ロジスティック回帰分析とは?」という問いについて、下記リンクではこのように書いてありました。

ロジスティック回帰分析は、いくつかの要因(説明変数)から「2値の結果(目的変数)」が起こる確率を説明・予測することができる統計手法です。

https://gmo-research.jp/research-column/logistic-regression-analysis

今回やろうとしている一色手アガリ率予測にあてはめると、こうなります。

「説明変数」字牌暗刻・対子・孤立の種類数染め色数牌のシュンツやターツや孤立牌などの数
「目的変数」→結果的に一色手をアガれたかどうか

文章でいうと、以下のようになります。

「字牌暗刻・対子・孤立の種類数、染め色数牌のシュンツやターツや孤立牌などの数」といった要因から、「結果的に一色手をアガれたかどうか」の確率を予測する。

ちょっとはわかりやすくなったでしょうか?細かい数式は後回しにするか省略します。

今回、「説明変数」として、以下の24個の要素を入力値として使います(実際の牌姿から入力するのは今のところ手作業)。
晒し面子…副露で確定している面子の数
字牌暗刻
字牌対子
字牌孤立
123シュンツ
234シュンツ
内シュンツ
…345や456のシュンツ
19暗刻
28暗刻
内暗刻
…3~7牌の暗刻
両面対子
両面ターツ
愚形対子
…カンチャン対子やペンチャン対子
リャンカン
19対子
28対子
内対子
…3~7牌の対子
愚形搭子…カンチャンやペンチャン
19強孤立…シュンツにくっついてる19の孤立牌
28強孤立…シュンツにくっついてる28の孤立牌(ただし、1223mの孤立2mは弱孤立扱いとする)
内強孤立…シュンツにくっついてる3~7の孤立牌(ただし、1233mの孤立3mは弱孤立扱いとする)
19弱孤立…シュンツにくっついていない単独の19の孤立牌
28弱孤立…シュンツにくっついていない単独の28の孤立牌
内弱孤立…シュンツにくっついていない単独の3~7の孤立牌

これらの字牌や染め色数牌のパーツの数といった入力要素から、ロジスティック回帰分析とかいう数式にぶちこんで、一色手のアガリ率を予測するという流れになります。予測するために必要な数値データ(専門用語でいうと、「偏回帰係数」)を算出するにあたっては、牌譜解析から得られた大量のデータ群(「各パーツの数」と、「実際に一色手をアガったかどうか」のセットを1件のデータとして、それが多数件いっぱいある)を使います。

牌譜解析で元データ用意したり、偏回帰係数の算出を定義通りやったりした結果、こんな感じのエクセルファイルができました。黄色の部分を入力すれば、赤色の一色手アガリ率の予測値を計算してくれるというシートになってます。有料部分で、偏回帰係数とか計算式の部分の公開と、エクセルファイルをダウンロードできる形で置いておきます。

これを使うと、下表のように1巡ごとの手牌変化に応じて一色手アガリ率の予測値がどう変化するかを眺めてニヤニヤすることができます。こういうのを何例か、後の有料部分で見ていきます。

3.牌譜解析条件等

ここでは、偏回帰係数を求めるために必要な元データの牌譜解析上の取り方を書いていきます。

・あるプレイヤー(以下、自分とする)の切り巡を調査対象とする
リーチ者がいない
・3つの色(マンズ・ピンズ・ソーズ)それぞれについて調べる
・その色の一色手が否定される仕掛け(他色数牌のポンチー)を自分がしていない
・自分の手牌(副露牌含む)にある染め色数牌と字牌刻子対子の枚数が計8枚以上
・以上の条件に当てはまった場合、自分の手牌のパーツ切り分け結果(*後述)と、巡目と、この局自分が一色手をアガったかどうかをワンセットとした1件分のデータを登録する。

手牌のパーツ切り分けは、先に述べた(晒し面子~内弱孤立)の24種類のパーツのパターンに切り分けていきます。
切り分け方としては、以下の手順で進めます。

シュンツを抜く(端から順番に)
暗刻を抜く
2233など両面並び双ポンを抜く(両面ターツ2組扱い)
両面対子を抜く
両面ターツを抜く
1122、1133など愚形の対子2組を抜く(対子2組扱い)
カンチャンペンチャン対子を抜く
リャンカンを抜く
対子を抜く
カンチャンペンチャンを抜く
孤立を抜く

全部の抜き方を試しているわけではなく、上記の手順に従ってのメンツやターツ等の抜き方しかやってないので、一部明らかに下位互換になる抜き方をしている場合があります(11234mが123シュンツ+1孤立+4孤立扱いになったり、34456mが345シュンツ+46カンチャン扱いになったり)。そこは少し手抜き気味です。

この牌譜解析をした結果、下表のようなcsvファイル(巡目別により分けて、1~12巡目までの12ファイルを作る)ができます。

このcsvファイルたちを元データとして、ロジスティック回帰分析の予測式の決定に使います。やり方は、下記リンクを参考にさせていただきました。

4.計算用ファイルの公開と、実戦での予測の例

以下、有料部分で、計算用ファイルのアップロードと、ファイルの使い方実戦での一色手アガリ率予測の例を挙げていきます。

(注意事項)
ファイルの二次配布は禁止します。

ここから先は

1,922字 / 17画像 / 1ファイル

¥ 500

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