*All archives* |  *Admin*

<<06  2017/07  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31  08>>
開局付近の点棒状況と各種数値の実測シミュレーション比較その1
今日は既存の局収支シミュレータの精度チェックの話です。

以前に精度を調べた時(平均順位の実測とシミュレーションの比較)は、
実測側について、残り局数と自分の持ち点と暫定順位を既知としたときの平均順位等を調べていました。
その分類の中に、他家の持ち点は含まれていない一方、
シミュレーション側では他家の持ち点も入力する必要があるので、無理やり他家の平均的な持ち点にひとまとめにして粗い比較をしていました。(ついでに自分の風も南家に固定していた。)

このようにしているのは4者の点数(4-1で3次元分類)をそれぞれ分類しても、分類の数が発散してまともに平均順位とかの各種数値を取れない(各項目のサンプル数が足りない)からなのですが、
開局付近、具体的には1局だけ消化した東1局1本場(親連荘時)or東2局0本場(親流れ時)であれば、
例えば子3者がリーチしないで親が4000オールをツモった37000・21000・21000・21000の並びであれば、よくあることなので、サンプル数がそれなりに確保できる(各種数値の平均値がそこまで大きくばらつかない)ことも想定できます。

よって今回は開局付近について改めて実測とシミュレーションを比較することにより、
シミュレータの精度チェック(性能チェック)をしてみたいと思います。

まずは一番簡単な開局のケースから見ていきます。
分類は対象者の開局時点の風と持ち点(今回は全員25000点)と現局(今回は東1局0本場)です。

実測側はある現局と持ち点に当てはまった時の各プレイヤーの順位率と半荘収支(25000点持ち30000点返しウマ10-30)と平均順位と段位pt(鳳凰卓七段配分)の平均値を調べます。
シミュレーション側もある残り局数と点棒状況と風を与えて、次局以降部分をモンテカルロシミュレーション(今回は奮発して各100万回)で同数値を調べます。
170405-01.png
まずは東南戦。
実測値で、平均順位が2.5よりもいいのは東家と北家ですが、
シミュレーションでは逆に南家と西家の方が平均順位2.5よりよくなっています。
これだけ見るとあんまりよくないように見えます。

一方、東風戦だと
実測値で、平均順位が2.5よりもいいのは東家と北家で、
シミュレーションでは北家のみが平均順位2.5よりよくなっているので、
東南戦よりは整合してるように見えます。

これだけ見るとよくわからないので、実測とシミュレーションの差分と標準偏差を調べてみます。
170405-02.png

半荘収支を見ると最大で±0.7(東南戦)or±0.2(東風戦)くらい実測とシミュレーションがずれています。
このずれの原因は
(1)実測とシミュレーション、それぞれの標本平均のばらつき
(2)実測とシミュレーションの乖離(モデル誤差やパラメータの誤差)
に分けられます。
(1)については実測値側が東南戦で569355試合、東風戦で358646試合、シミュレーション側はどちらも100万試合の半荘収支の平均値が理論上の平均値、またはシミュレーションをより多試合行った場合の平均値の収束値とどの程度ばらつくかというものです。これは標準偏差でだいたい測ることができます。
(2)は多試合やっても埋まらない実測とシミュレーションの間の差です。

具体的な誤差の評価方法は私も勉強不足なので、あまり正確ではないかもしれませんが、
今回測定された実測-シミュレーションの値が(1)の誤差の範囲に入っていれば、今回の結果からは(2)の誤差の影響は(1)ほど大きくはない、つまり実測とシミュレーションがそこそこ適合している、
逆に実測-シミュレーションの値が(1)の誤差の範囲よりも大きければ、少なくとも(1)の誤差を超える分以上は実測とシミュレーションの間に乖離がある、
という評価になる(…かもしれない)。

具体的な数値で見ていきます。
1試合あたりの半荘収支の標準偏差は仮に試合終了時に40000・30000・20000・10000の並びならば、ポイントが60・10・-20・-30で、各順位率が25%とすれば、分散が1650。
多試合の平均半荘収支の標準偏差は1650÷試合数の平方根。
というわけで最終的に0.05近辺の値が出てきます。実測とシミュレーションのそれぞれで2σを取って単純に足し合わせる。(たぶん間違ってるけど、よくわからんので、こうする。)
すると(1)の誤差はかなり多めに見積もっても0.2ptくらいと推計されます。
なので、
・東南戦については0.7pt>0.2ptなので、少なくとも0.5pt以上、実際の試合とシミュレーションのモデル及びパラメータとの間に乖離がある。(つまりシミュレーションプログラムが実態と合っていない。)
・東風戦については0.2ptあたりなので、実際の試合とシミュレーションがある程度適合してる可能性がある。(断定はできないが。)

…みたいなことになるかもしれない。(かなりぼやっとした理論だが。)

他の指標(平均順位・段位pt・各順位率)についても同じような傾向ですね。
東南戦だとちょっとシミュレーションが実際とずれている、東風戦はやや適合している(かもしれない)。

東南戦の方がずれが大きいのはやっぱり局数が多い分、誤差が蓄積しやすいとかそんな感じでしょうかね。後は東南戦の方が点差がつきやすいとかの影響とか。
一応、シミュレーションでもラス確和了をなるべく避ける・持ち点が低いほど低和了率高打点とか、実戦に近づけるよう工夫はしていますが、工夫が十分ではないということでしょう。

次回は開局後1局のみ経過したときのよくある点棒状況について同じように実測値とシミュレーション値を比較してみます。
ただ、開局の結果ごとに分岐が入るので、実測のサンプル数が大きく減る(実測値のばらつきが激しくなる)ことが予想されるので、あんまりいい結果は出なさそうな気はしますが。
スポンサーサイト

コメントの投稿

Secret
(非公開コメント受付中)

コメント

プロフィール

nisi5028

Author:nisi5028
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
フリーエリア
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード