読者です 読者をやめる 読者になる 読者になる

アクチュアリーはデータサイエンスの夢を見るか

Rで保険数理と機械学習をやっています

ネット麻雀「天鳳」を統計的に分析してみた(前編)

本記事では、オンライン麻雀ゲーム「天鳳」の成績データを分析します。小生は学生時代から麻雀を嗜んでおりまして、統計の勉強がてら麻雀のデータを記録して分析していたこともあります。今回は過去書いたレポートを手直しして、公開させていただきます。

 **************************

天鳳について】

天鳳はネット麻雀の中で最も流行っているサービスの一つです。全国の猛者と自動で対戦できる手軽さが人気で、十数万ものプレーヤーがいると言われています。その中で優秀な成績をあげている強者たちの多くは、自分の対局をデジタル形式で記録し、データ分析を行ってさらなる高みを目指しています。
今回は、天鳳強者たちの牌譜解析データを分析し、彼らの成績から1.良い戦績をあげているプレーヤーの特徴を明らかにし2.強者の打ち筋についてどのようなタイプがあるのかを探ってみます。

 

【用いたデータ】
http://tenhou7.s350.xrea.com/で公開されている(リンク切れしているようです)データを利用します。ルールは東風戦のみを分析対象とします。また対戦回数が500戦以下の戦績データに関しては信頼性が低いと判断し、除外することにしました。よって今回は、全25プレーヤーのデータ(以下敬称略、有栖、長村ビッグ、おっおっおVIΡ、コハク、さくらこ、芝村矜侍、寂夜霽月、女子更衣室、小鳥遊夜々、断幺ドラ3、超獣GIGA、超ヒモリロ1、超ヒモリロ2、てんぽいんと、長岡大明神、なんぞこれ~、ヒゲロング、メタルクウラ、理想雀士、六分儀ゲンドウ、ロリータな焼肉、bakase、kuboowy、HGST、@馬杉寧香)について分析します。ただし、超ヒモリロ氏については2件に分かれてデータがあったため、それぞれ別に分析することとします。同じプレーヤーのデータにどのような違いが出るのかに注目です。


各プレーヤーの成績データとして、以下の11種のデータを用います。(平均順位、予想安定レート、ラス率、和了率、和素点、平均和了巡目、和了時ドラ枚数、放銃率、放素点、立直率、副露率)これらのデータは4つに大きく分類できます。


○成績データ
①平均順位、②予想安定レート、③ラス率の3つが成績データです。

①平均順位は1東風戦ごとの最終着順を対戦数で平均したもので、小さいほど実力があることを示します。平均順位は同卓してきた相手の強さを考慮に含められない欠点もあります。(強い人同士がマッチングしやすいため)

②予想安定レートは平均順位と同卓する相手のレートを考慮したデータなので、予想安定レートをもっとも信頼できる成績データとします。予想安定レートは高ければ高いほど実力があることを示します。

③ラス率は全対戦数のうち4位(ビリ)で終わった対戦の割合を示します。4位率の低さは「段位」と呼ばれるレートとは異なる成績指標を上げるのに必須だと言われており、今回はラス率も成績データとして考慮に含めることにしました。ラス率は高ければ高いほど実力がないことを示します。


和了データ
和了率、⑤和素点、⑥平均和了巡目、⑦和了時ドラ枚数の4つを和了データとします。

和了率は全局中でプレーヤーの和了で終了した割合を指します。⑤和素点は供託や積棒を除いた素点で見た、和了時の平均点です。⑥平均和了巡目はプレーヤーが和了したときの巡目の平均値です。⑦和了時ドラ枚数は和了時にドラを平均何枚利用しているかを示します。和素点や立直率(裏ドラ発生のため)と相関が高い数字であることに留意が必要です。


○放銃データ
⑧放銃率、⑨放素点の2つを放銃データとします。

⑧放銃率は全局中、プレーヤーの振込で終了した局の割合を示します。⑨放素点は和素点と同様、供託、積棒を除いた素点での放銃時の平均点です。この二つから守備的な打ち回しをする度合いをみます。


○打ち回しデータ
⑩立直率、⑪副露率の2つを打ち回しデータとする。⑩立直率は全局中でリーチをした局、⑪副露率は全局中で副露した局の割合を示します。リーチを多用するか、副露を多用するかの度合いをみます。

 

【重回帰分析】
まず、端的にネット麻雀で強くなるにはどの指標を重視したら良いかを探るため、予想安定レートを被説明変数とする重回帰分析を行います。多重共線性を考慮して、予想安定レート以外の成績データは説明変数から除外しました。また和了時ドラ枚数も和素点との相関が高いと予想されるため、前者を説明変数から除外しました。

よって、被説明変数を予想安定レートとし、説明変数を和了率(対数値)、和素点、平均和了巡目、放銃率(対数値)、放素点、立直率(対数値)、副露率(対数値)とする回帰分析を試みます。回帰の結果を見たあとで、説明変数を減らしていく、減少法によって適切なモデルを求めていきます。

f:id:r_std:20160723113355p:plain

自由度調整済み決定係数が0.82とかなり大きな値をとっている一方で、立直率、平均和了巡目、放素点のP値が高いです。これらは説明変数として適切でないとみなし、3つの変数を除外して再度回帰分析を行います。

f:id:r_std:20160723113416p:plain

自由度調整済み決定係数は0.81であり、説明変数のP値は低い値に収まっています。説明変数としてはこれらの4つが適切だと判断します。次にこの場合の回帰の残差を検証し、モデルの妥当性について確認します。

f:id:r_std:20160723113447p:plain

f:id:r_std:20160723113503p:plain


観測値と残差にはあまり偏りがないようですが、2σを超える残差も1点見受けられます。QQプロットもいささかいびつではありますが、モデルが大きく外れていないと判断します。

 

【結論】

予想安定レートは放銃率、和了率、和了素点、副露率によって大部分を説明できるといえます。オリる技術、和了る技術だけでなく、高い手を作るスキルや効率的に副露するスキルについても、優秀な成績を出すために重要であると分かります。

逆に、成績優秀者の中では、リーチするしない、和了の早い遅いについてはさほど成績に大きな影響を与えていないようこの点は一般の戦術書で言及されていないので意外に思われました。(無論、プレーヤー総体で比較すると圧倒的に和了速度は速いのでしょうが、巡目が深くなっても和了できることによって、強者の平均和了巡目が低くなっていない可能性があります。)

今回導いた予想安定レートの推定式は次の通りです。

予想安定レート推定値 = 1976 + 762 × ln和了率 + 0.111 × 和了素点 - 348 × ln放銃率 + 186 × ln副露率

次回は主成分分析を行い、各プレーヤーの打ち筋にどのようなタイプがあるかを探っていきます。

r-std.hatenablog.com