「やってないだけ」を見つけ出す~IIDX難易度推定の再改良~

記事内容の要約

  • CPIの難易度推定で利用しているモデル方程式に、新たなパラメータを追加することで、クリア割合・適正CPIの予測精度が向上しました。
  • 追加したパラメータを譜面ごとに比較することで、CPIとクリア割合の分布が特徴的な譜面を抽出することができました。
  • 抽出された譜面の<特徴>は、プレイヤーの平均試行回数が譜面ごとに大きく異なっている事実を反映していると予想されます。
  • これにより、クリア状況のみから難易度推定を行う上での従来の弱点であった、「プレイヤーの試行回数を予測に利用できない」点をある程度克服できた可能性があります。

 

こんにちは、りせ(@rice_Place)と申します。

IIDX SP☆12の難易度推定サイト、CPIの運営を行っています。

 

前回記事から引き続き、CPIのクリア割合・適正CPIの予測精度向上に向けて、モデル方程式の改良を試みていました(本記事を読むにあたって、前回記事を未読でも問題ないと思います)。

 

現行モデルは対称性を前提としている

現行のモデル方程式である(2パラメータ)ロジスティック方程式

{ \dfrac{1}{1+e^ {-\left( a+bx\right) }} }

において、xに入るものは説明変数*1であり、CPIではプレイヤーの総合CPIが対応します。

 

まずは現行のモデルにおけるパラメータa,bの挙動を確認してみます。

以下のグラフは縦軸にクリア割合、横軸にCPIをとり、図中央の横線がクリア割合50%となります。グラフと横線の交点が適正CPIに相当します。

CPIではaが大きくなる=適正CPIが低くなるという関係になります。

 

同様にbが大きくなる=個人差度が小さくなるという関係になります。

 ここで重要なのは、現行の式ではグラフがy=0.5に対して常に対称であるという点です。すなわち、クリア割合が10%→20%に上がるまでのCPIの変化量と、80%→90%までの変化量が等しくなるということです。

現行の式では、パラメータに依らず全ての曲線は上端と下端で傾きが等しくなっている。

このような対称性の前提を置いても、プレイヤーの腕前が正規分布*2のように左右対称に分布していれば問題ありませんし、実際多くの譜面ではそれなりに正しく予測ができています。

クリア割合の実測値を表した100%積み上げ縦棒グラフ。
1つの縦棒がCPI10に相当し、赤がクリア達成、青がクリア未達成。
黒い曲線は現モデルによる予測を表す。

一方で前回記事でも述べたように、必ずしも上記の前提に当てはまる譜面ばかりではありません。特に、難易度が極端・譜面の癖が強い・LEGGENDARIAなどで非対称性が顕著になる傾向があります。

 

非対称性を表現できる新モデル

そこで非対称なグラフも表現できるよう試行錯誤した末に、新たなパラメータc*3を追加することにしました。

パラメータcを追加した新モデルの方程式がこちらです。

{ \dfrac{1}{\left( 1+e^ {-\left( a+bx\right) }\right) ^ {c}} }

現モデルの分母全体を底とする指数関数の形をとります。

 

a,b同様にcを変化させて、グラフの動きを見てみます。

cを大きくするとグラフの「立ち上がり」が急になり、逆に小さくすると「立ち上がり」がなだらかになっています。

 若干わかりにくいので、cと一緒にbも動かして、適正付近での傾きを揃えて比較してみます。

 適正CPI付近での傾き=個人差度が同じでも、cが大きくなると低クリア確率の領域ではグラフの傾きが大きく、cが小さくなるとその逆になっています。具体的には、クリア割合が10%→20%に上がるまでのCPIの変化量と、80%→90%までの変化量が異なっているということです。

 

このように、パラメータcを追加したことで、非対称なグラフが表現できるようになりました。

赤い曲線はパラメータcを含む新モデルによる予測を表す。
(現モデルの予測と比較して)高CPI帯でクリア割合が高くなっていることが
上手く表現できており、それに伴って適正CPIも上方修正されている。

 

このように新たなパラメータを導入した新モデルが、実際にどの程度だけ予測精度を向上させたのか確かめてみます。

 新モデルと現モデルを逸脱度(deviance)*4という指標で比較したものが次のグラフです。逸脱度が大きい≒新モデルの方が優秀な場面もそれなりにありそうだとわかります。

有意水準を0.05とした場合、対象425譜面*5クリアタイプ=2125ランプのうち
およそ3割にあたる638ランプで新モデルが有意となった。

 

新モデルの特徴

具体的にどのような譜面で変化が大きいのかを確かめてみます。

 まずはHARD CLEARについて、パラメータc*5が大きい譜面を10個示します。

 cが大きい譜面はソフラン・LEGGENDARIAなどが選ばれており、どちらかと言えば選曲が避けられる傾向のラインナップに感じられます。

いくつかピックアップしてグラフを確かめてみます。

特にFire Beatで顕著ですが、(適正と比較して)高CPIプレイヤーのクリア割合が低くなっており、このことが現モデルと実際のクリア分布との乖離を生んでいるようです。

 上で予想したとおり、腕前的にはクリアできるのにプレイしない=選曲を避けているプレイヤーが一定数いる、という傾向を見ていそうです。LEGGENDARIAはシステム上で選曲に制限がありますし、Fire Beatは記事執筆時点では通常解禁が困難なはずなので、どちらもプレイ回数が平均より少なくなることは充分にあり得そうです。

 

同様にHARD CLEARについて、パラメータcが小さい譜面を10個示します。

 cが小さい譜面は未難一桁に残るような超高難易度かつ地力譜面、あるいは低難易度かつ昔からある皿譜面(SCREAM SQUAD、TROOPERS)が選ばれています。

 こちらもグラフで確認します。

(適正と比較して)低CPIプレイヤーのクリア割合が高くなっていることがわかります。卑弥呼・Verflucht [L]などは超高難易度の地力譜面として広く知られており、明らかにハード狙いのプレイ回数が増えそうな譜面です。

 一方でTROOPERSやSCREAM SQUADなどは、皿譜面が得意なら相対的に簡単になることが広く知られており、難易度的には☆12の中でも低いため、こちらもハード狙いのプレイ回数が増えそうだと推測することができます。

 グラフを見比べると、現モデル(黒線)から新モデル(赤線)への変化の仕方が、卑弥呼・Verflucht [L]では高CPI帯のクリア割合を上げる方向なのに対して、TROOPERSでは低CPI帯のクリア割合を挙げる方向になっています。これは、クリア状況のモデルへの当てはめがプレイヤー数の影響を受けているため、プレイヤー数の多いCPI1600前後の当てはめが最も良くなるようにモデルが生成されるためです。この辺りも今後の予測精度向上のヒントになるかもしれません。

 

モデル変更によってハード適正CPI順位が変化した譜面を、上位50譜面から抽出してまとめました。

新モデルで上方修正となった(赤ハイライトの)譜面はいわゆる”地力譜面”、下方修正となった(緑ハイライトの)譜面はいわゆる”個人差譜面”が多くラインナップされていそうです。

 

他のクリアタイプについても、同じように見てみます。

(フルコンは極端な数値をとる譜面が多いため割愛します)
各クリアタイプで概ね、cが大きい譜面は(適正CPI・個人差度に比して)選曲回数が少なさそうな印象を受けます。

 また、表のパラメータc=0のとき現モデルと新モデルの差が無いことになりますが、cが大きい方には10を超えるような値となるのに対して、小さい方には(黒イカEXHを除いて)たかだか-1点台にしか届いていません。すなわち、cは大きい方に動きやすいパラメータだと考えられます。

 

追加したパラメータの意義

次に、パラメータcの意味について考えるために、モデル式とプレイ回数の関係を確かめてみます。

 ある譜面のクリア確率がp\left( x\right)のとき、その譜面における全プレイヤーの平均プレイ(厳密にはランプ更新を試みた)回数がn倍になると、クリア確率を表す式は

1-\left( 1-p\left( x\right)\right) ^{n}

となります。このp\left( x\right)に現行のモデル式を代入し変形すると、

1-\left( 1-p\left( x\right)\right) ^{n}=1-\left( 1-\dfrac{1}{1+e^{-\left( a+bx\right) }}\right) ^{n}
=1-{ \dfrac{1}{\left( 1+e^ {\left( a+bx\right) }\right) ^ {n}} }

と、微妙に違ってはいますが、分母の肩にパラメータcを追加した先ほどのモデル式とよく似た形になりました。

 グラフでもnの挙動を確認してみます。

 cを動かしたときとは上下左右が入れ替わっていますが、パラメータを変化させるほどグラフの非対称性が強まっていく点は共通しています。

 nを大きくすると、グラフは左方向へ動き、傾きは急になっています。これは、各プレイヤーの試行回数を増やすことによって予想される変化(適正CPIは低くなり個人差度も小さくなる)と一致しています。

 数学的な論証を全部省いてしまいましたが、まとめると新モデルに追加した新パラメータは譜面ごとの平均プレイ回数の違いを反映していそうだということになります。

 そう考えると、先述したcが大きい方に動きやすいという傾向は、nとcが逆方向に動くパラメータであることを踏まえて、「平均プレイ回数が極端に少ない場合と比較して極端に多い場合は起こりにくい」と解釈することができそうです。

 

実際には、譜面ごとの平均プレイ回数がプレイヤーのCPIに依らず一定とは考えにくいため、nにあたるパラメータも定数ではなくxの関数と考えるのが自然です。

 そのため、新たなパラメータを1つ増やしただけで、プレイ回数の違いによる効果を完全に説明することはできないと考えられますが、クリア状況のみから難易度推定を行う上での従来の弱点をある程度克服できたと言えるのでは無いでしょうか。

 

記事内容の要約(再掲)

  • CPIの難易度推定で利用しているモデル方程式に、新たなパラメータを追加することで、クリア割合・適正CPIの予測精度が向上しました。
  • 追加したパラメータを譜面ごとに比較することで、CPIとクリア割合の分布が特徴的な譜面を抽出することができました。
  • 抽出された譜面の<特徴>は、プレイヤーの平均試行回数が譜面ごとに大きく異なっている事実を反映していると予想されます。
  • これにより、クリア状況のみから難易度推定を行う上での従来の弱点であった、「プレイヤーの試行回数を予測に利用できない」点をある程度克服できた可能性があります。

 

本記事についてのご意見・ご感想は、記事へのコメントあるいは冒頭のTwitterまでお願いします。


それでは、良き音ゲーライフを。

*1:結果(ここではクリアの可否)を説明する変数

*2:ロジスティック回帰では正規分布によく似て計算のしやすいロジスティック分布を前提とします

*3:5パラメータロジスティック方程式(Gottschalk, Paul & Dunn, John. (2005))を変形したものです。

*4:わかりやすく説明されているサイト

clover.fcg.world

*5:わかりやすさのために表ではln(c)を示しています