将“SaberMetrics”应用于麻将|根据“牌谱屋”的成绩,让Claude Code生成“麻将版OPS”

麻雀にもセイバーメトリクスを 牌譜屋データから作った麻雀OPS 麻将
这篇文章大约需要9分钟阅读。

僕は野球を観るのが好きなのですが、選手の成績を統計で評価する「セイバーメトリクス」というものも、かなり好きです。
OPSやWARといった指標を眺めていると、打率や打点だけを見ていた頃には見えなかった選手の価値が見えてくるので、これが面白くて仕方がありません。

麻雀でも同じようなことができたら面白いだろうな、と前々から思っていました。
雀魂には「牌譜屋」という成績サイトがあって、和了率や放銃率だけでなく、立直収支や副露後の和了率まで細かく見ることができます。
これだけ材料がそろっているのなら、色々な角度から分析できそうです。

そこでまず手始めに、野球でいうOPSのようなものを作れないかと、Claude Codeに相談してみました。
その結果と、やってみて感じたことについて書いていこうと思います。

最初に断っておくと、僕は統計や数学の専門家ではありません。今回の内容もClaude Codeに手伝ってもらいながら書いたもので、専門的に見るとおかしな部分があるかもしれません。話半分で読んでもらえたら幸いです。

野球のOPSと麻雀

OPSというのは「出塁率+長打率」で計算する指標です。
出塁率と長打率は単位の違うものなので、それを足すというのはかなり乱暴なやり方だと思うのですが、チームの得点とかなり強く相関することが分かっているため、打者を評価する指標としてすっかり定着しています。
スコアボードに出ている数字を二つ足すだけで、それなりに正しい評価ができてしまうところが、OPSの良いところだと思っています。

これを麻雀に当てはめると、和了率が出塁率、平均打点が長打率にあたるのではないでしょうか。
「和了率と打率は似ている」という話は、以前に麻雀と野球を比較した記事でも書きました(あの記事はこじつけだらけでしたが、今でも案外的外れではないと思っています)。

ただ、麻雀には野球にはない「放銃」があります。
和了率は放銃率と引き換えに上げることができるので、和了率だけを見ても強さは分かりません。
昔から「和了率-放銃率が10以上あれば良い成績」という目安があるのは、そのためでしょう。

ここで悩んだのが、放銃をどれくらいの重みで引くのかという点です。
牌譜屋には「調整打点効率」という項目があります(詳細成績で「ほか」を押すと出てきます)。
これは「和了率×平均打点」から「放銃率×平均放銃」を引いたもので、放銃を和了と同じ重みで引いています。

僕はラス回避をかなり意識して打っているので、雀魂の配点なら放銃の方が重いのではないかと予想していました。
ただ、その重みを勘で決めるのも何なので、実際のデータから決めてみたいと思い、Claude Codeに頼んでみることにしました。

 

Claude Codeに作ってもらった麻雀OPS

頼んだ内容としては、牌譜屋から玉の間のプレイヤーの成績をたくさん集めて、それぞれの成績と平均順位の関係を回帰分析で調べ、放銃の重みを決めてもらうというものです。
ついでに、自分の成績を入れると指標の値と順位の目安が出るページも作ってもらいました。

途中、牌譜屋の対局一覧が取得制限で使えないなどで色々とつまずいていたようですが、最終的には、玉の間で200半荘以上打っている雀豪以上のプレイヤー754人分の成績を集めて分析してくれました。
出来上がった式はこんな形です。

麻雀OPS = 和了率×平均打点 - 0.78×放銃率×平均放銃

単位は「1局あたりの点数」です。
玉の間の平均が和了率21.6%、放銃率13.3%、平均打点6610点、平均放銃5560点くらいなので、平均的なプレイヤーだと840点前後になります。
970以上なら上位10%、910を超えていれば上位25%、790を下回ると下位25%、というのが目安のようです。

作ってもらったページはこちらです。牌譜屋の数値を入れると、麻雀OPSと各指標が玉の間の平均と並んで表示されます。
麻雀OPS計算ツール|牌譜屋の成績から順位の目安を出すページ

意外だったこと

一番意外だったのは、放銃の重みが0.78倍という結果になったことです。
つまり和了で稼ぐ点よりも、放銃で失う点の方が、着順への影響が小さいということになります。
統計的なブレを考慮しても0.75〜0.81倍の範囲に収まるそうなので、たまたまそうなったわけでもなさそうです。

ラス回避を重視している僕としては少し驚きましたが、理由を聞いてみると納得できる部分もあります。
放銃は失点の一部でしかなく、放銃率を下げるような打ち方(早めにオリる打ち方)をすると、その分だけ被ツモやノーテン罰符という別の失点が増えます。
牌譜屋の項目には被ツモの失点がないので、放銃の項を少し軽くした方が、実際の順位と合うということのようです。

これは「放銃を気にしなくていい」という意味ではなく、「放銃率だけを下げても順位はそこまで良くならない」という読み方をするのが正しいのだと思います。
和了率を落とさずに放銃率を下げるのが理想なわけですが、なかなかそれができないのが麻雀の難しいところです。

 

野球のOPSほど手軽ではなかった

やってみて感じたのは、麻雀版OPSは野球のOPSのように手軽には出せない、ということです。

野球のOPSは、単位の違う二つの数字をそのまま足すだけで済みます。
一方で麻雀の場合は、和了と放銃のバランスをどう取るかという「重み」が必要になり、その重みを決めるために数百人分のデータと回帰分析が必要でした。
しかも出てきた答えは、牌譜屋にすでにある「調整打点効率」とほとんど変わらないという、少し身も蓋もないものでした。

※ここから少し統計的な話になります。読み飛ばしてもらっても大丈夫です。
平均順位のばらつきをどれだけ説明できるかという数値(決定係数というそうです)で見ると、麻雀OPSが0.85、調整打点効率が0.82、和了率-放銃率が0.64という結果でした。
調整打点効率が優秀すぎて、わざわざ係数を付ける意味はそこまで大きくなかった、というのが正直なところです。

ただ、昔からの目安である「和了率-放銃率」よりも、打点を考慮した指標の方がはっきり順位を言い当てられると分かったのは収穫でした。

ここで改めて考えてみると、野球のOPSの良さは「精度が一番高いこと」ではなく、「手軽に計算できて、そこそこ相関がある」という点にあったはずです。
野球にはwOBAのようにOPSより精度の高い指標もありますが、パッと足し算できるOPSの方が広く使われています。
そういう意味では、麻雀で野球のOPSにあたるのは、実は昔からある「和了率-放銃率」(和銃差)なのかもしれません。
成績画面の数字を二つ引くだけで暗算できて、決定係数0.64というそこそこの相関がある、というのは、まさにOPS的な立ち位置だと思います。
一方の調整打点効率は、精度は高いものの牌譜屋を開いて「ほか」まで見に行かないと出てこないので、野球でいえばwOBAのような、少し玄人向けの指標という感じでしょうか。

 

WARは局収支みたいなものかも

野球にはOPSの他に、WARという「その選手がチームの勝利にどれだけ貢献したか」を表す指標があります。
打撃も守備も走塁も全部まとめて一つの数字にしてしまうという、かなり欲張りな指標です。

麻雀でこれに近いのは、牌譜屋の「局収支」ではないかと感じています。
局収支は1局あたりの点数の増減で、和了も放銃も被ツモも流局時の罰符も、全部込みで計算されているようです。
攻めも守りもまとめて評価しているという意味では、WARの発想に近い気がします。

WARは試合数が増えるほど積み上がっていく累積の指標なので、局収支に局数を掛ければ、より近いものになるかもしれません。
ただ麻雀の場合、打てば打つほど点数が積み上がっていくわけではないので、そのまま持ってくるのは少し無理があるようにも感じます。
このあたりは、もう少し考えてみたいところです。

 

综上所述

今回の分析で、牌譜屋の各項目と平均順位の相関も一緒に出してもらいました。
その中で個人的に面白かったのは、立直率・副露率・平均打点は、順位とほとんど相関がなかったことです。
つまりこれらはプレイヤーのスタイルの違いであって、強さの差ではないということになります。
「リーチが多い方が強い」とか「鳴く方が強い」といった話は、少なくともこのデータからは言えなさそうです。

逆に、副露後の放銃率や立直後の和了率は、それなりに順位と関係がありました。
鳴いた後にきちんとオリられるか、リーチした手がしっかり和了できているか、といった部分が強さに直結しているのかもしれません。

野球の指標をもじって、攻守比(打点効率÷銃点損失、K/BBのようなもの)や、被弾効率(放銃率÷参加率、攻めた回数あたりの放銃)といったものも作れそうです。
このあたりはまだ思いつきの段階ですが、牌譜屋の数字だけでこれだけ遊べるのなら、他にも色々作れると良いなぁと思っています。

麻雀版OPSを作ろうとしたら、野球ほど手軽にはいかず、精度を求めるなら「牌譜屋の調整打点効率でほぼ十分」、手軽さを求めるなら「昔からある和銃差がすでにOPSだった」という、少し拍子抜けな結論になりました。
それでも、勘で決めていた重みや、何となく使っていた目安をデータで確かめられたのは良かったと思います。
また何か思いついたら、Claude Codeに手伝ってもらいながら試してみようと思います。

 

おまけ:平均順位との相関が高かった項目

※このおまけ部分は数字がたくさん並ぶ専門的な内容なので、読み飛ばしてもらっても大丈夫です。
参考までに、牌譜屋の各項目と平均順位の相関係数を載せておきます。
数字はマイナスなら「その項目が高い人ほど平均順位が良い」、プラスなら「高い人ほど順位が悪い」という意味で、0.5を超えるとかなり強い関係、0.2未満はほぼ無関係と思ってもらえれば大丈夫です。
理由の部分は推測なので、話半分で読んでください。

調整打点効率(-0.91):本文の通り、ダントツです。1局あたりの点数収支なので、順位と直結しているのは当然と言えば当然かもしれません。

和了率-放銃率(-0.78):昔ながらの和銃差です。打点を見ていない割にはよく効いていて、やはり手軽な目安として優秀だと思います。

和了率(-0.53):単体でも中くらいの関係があります。ただしトップ率との相関(+0.61)の方が強く、ラス率との相関(-0.32)は弱めでした。和了率は「トップを取る力」に効く項目のようです。

放銃率(+0.52):こちらは逆に、ラス率との相関(+0.74)が平均順位との相関よりかなり強く、トップ率とはほぼ無関係(-0.11)でした。放銃率はラス回避の項目、和了率はトップ取りの項目、と役割がはっきり分かれているのが面白いところです。

副露後放銃率(+0.52):単純な放銃率と同じくらい効いています。鳴くと安牌が減ってオリにくくなるので、「鳴いていい手かどうかの見極め」と「鳴いた後に引く判断」が強さに直結しているのだと思います。

立直後和了率(-0.46):リーチの質です。良形・早い巡目のリーチが多い人ほど和了率が上がるので、リーチ判断の良し悪しがここに出ているのでしょう。立直良形率(-0.36)も同じ方向でした。

立直収支(-0.41):リーチ1回あたりの収支です。立直後和了率と合わせて、「無理なリーチをしていないか」の指標になりそうです。

平均放銃(+0.34):放銃したときの平均点です。高い手に振り込む人ほど順位が悪いということで、満貫クラスの手に対する押し引きの精度が表れているのだと思います。

和了巡目(+0.32):和了が遅い人ほど順位が悪い、という素直な結果です。打点よりも速さの方が順位に効いている、というのは本文の重み(放銃の方が軽い)とも整合する気がします。

逆に、立直率(+0.04)、副露率(-0.16)、平均打点(+0.12)、配牌向聴(+0.07)あたりは、ほとんど順位と関係がありませんでした。
面前派か鳴き派か、打点派か速度派かというのは、強さというより好みの問題だと言えそうです。配牌の良さが順位と無関係なのは、配牌は運なので長い目で見れば全員同じということでしょう。

 

麻雀と野球の共通点については、以下の記事で書いています。
让我们比较一下麻将和棒球的要素,并思考它们的共同点。
麻将
0 0
文章评分
申し込む
注目する
guest

0 评论
最も古い
最新 高评価