[検証してみた]プロセカのランダム選曲は本当に公平なのか？

　プロセカの「おまかせ」選曲が偏っていると感じたことはありませんか？私はあります。本記事では**チアフルライブ**の選曲に偏りがあるのかデータで検証したいと思います。結果のみを知りたい方はページの最後まで飛んでください。

 ### 非プロセカユーザー向けの説明
　手短かに書いておくと、「プロジェクトセカイ カラフルステージ！ feat. 初音ミク」(プロセカ)とはスマートフォン・タブレット向けの音ゲーです。プレイヤーは遊びたい楽曲と難易度を1つ選んでクリア/フルコンボ/All Perfectなどを目指しプレイします。

 プレイ動画↓
 
 https://www.youtube.com/watch?v=bY4gOfverLw

　プロセカはソシャゲでもあり、ガチャや育成、イベントなどの要素[^1]が存在します。プロセカにはマルチプレイ機能があり、何人かで同時に同じ楽曲をプレイできます。特に「チアフルカーニバル」イベントでは5人ずつのチームが「対戦」するという形式になっており、スコアが高い方のチームが「勝ち」ます。

[^1]:プレイした際の「スコア」も音ゲーの腕前よりは育成具合によって決まります。イベント開催中は1曲プレイ(「ライブ」と呼ばれます)ごとにイベントポイントが貰え、イベントポイントが育成用アイテムなどに交換できる仕組みです。

### 今回使うデータ
　今回使うデータは筆者が今年4月30日から12月のチアフルカーニバルイベントでプレイした楽曲ごとの回数です。4月1日以降に追加された楽曲を省くと(Vampire's ∞ pathoSまで)、292種類の楽曲を合計334回プレイしたことになります。記録を忘れてしまったものも数十はあるので、それはバイアスになりえます。チアフルライブに限定したのは次節で説明する理由からです。

### 対立仮説
　まず選曲がランダムでなかった場合、どのような要素が選曲に影響するのか考えてみましょう。筆者が思いついたのは以下のようなものです。 [^2]
+ 人気の楽曲ほど出やすい
+ 楽曲の難易度・長さによって出やすさに差がある
+ ユニット[^3]ごとに出やすさが違う
+ 書き下ろし[^4](or 公募曲[^5] or 既存曲)は出やすい
+ 特定の楽曲(🦐 、初音天地[^6]、周年曲[^7]etc.)だけ調整されている
+ 追加されたての楽曲は出やすい
+ 自分がよくプレイする楽曲が影響する
+ 自分のクリア・フルコンボ状況などが影響する
+ 自分がつけている称号、キャラクターランクなどが影響する
+ 日ごとに運営がピックアップしている楽曲があって、その日はその曲ばかり出る

[^2]: 他に思いついたものがあれば教えてください。
[^3]: プロセカに収録されている楽曲はボカロが多いですが、多くの楽曲はプロセカのオリジナルキャラクターのカバー音源も入っています。主要なオリジナルキャラクターが20人いて、5つのユニットに分かれているので、多くの楽曲が5つのユニットのうちどれかに振られているということになります。
[^4]: 運営が誰かに依頼して、プロセカのために作詞作曲された楽曲のことです。
[^5]: YouTubeなどで公募した楽曲のことです。
[^6]: 曲の時間が一番短い、一番長いなどの理由で、イベントの効率に影響するらしく、異常な回数プレイされている楽曲たちです。
[^7]: プロセカの1周年記念、2周年記念、3周年記念で追加された楽曲です。追加された直後は運営から特別に扱われていることがあります。


　考える要因が多いと大変なので、減らしましょう。チアフルライブは10人もいて公平な対戦でないといけないので、属人的な要因は選曲に影響しにくいと考えられます。また、直近で追加された楽曲は単に省いて考えればよいです。たとえ運営が日ごとに差をつけていたとしても、何十日もデータを集めることでその影響は無視できるようになります。

 ### 統計的仮説検定
　選曲が本当にランダムなのか、数学(統計学)的な枠組みに落として考えます。数学といってもそんなに高度な内容ではなく、だいたいは高校の数II/Bで習う範囲[^8]です。
　例えば次のような仮説を立てます:「a. 書き下ろし曲は他の楽曲に比べ選ばれやすい」。これと真逆の考えは「b. 書き下ろし曲が出る確率は他の曲と比べ変わらない」というものです。ちなみに、統計学的にはaを対立仮説$H_1$、bを帰無仮説$H_0$と呼びます。真実はこのどちらかのはずですが、数百個程度のデータ[^9]だと確実に当てることは不可能なので、我々にできることは推測だけです。
　統計学に特徴的ですが、推測が当たる確率がどれくらいであるか、ということを考えます。95%[^10]の降水確率で傘を持っていかない人は少ないでしょうし、本記事ではそれくらいの確率で当たる推測を目指します。
　ここでややこしいのは、推測が外れるのには2パターンあるということです。つまり
1. bが正しいのにaだと思ってしまう（運営の選曲は偏ってないのに、偏っていると思ってしまう）（第一種の誤り）
2. aが正しいのにbだと思ってしまう（運営は偏らせているのに、それに気づかない）（第二種の誤り）

の2つです。「第一種・第二種の誤り」という呼び方は統計用語で、他の分野(例えば医薬品開発)に統計を適用するときは第一種の誤りが「危険」ということになるらしいです。多くの教科書に書いてあるやり方に従って、本記事では第一種の誤りをする確率が5%以下になるようにします。第二種の誤りはだいたいデータ数を増やすほど起こりにくくなります。

[^8]:2022年度以降は学習指導要領改訂に伴って、数Bで正規分布を使った区間推定を教えるらしいです。そんな高度なことできるのか？
[^9]:無限個のデータがあれば確実な主張ができます。
[^10]:95%は慣習的な値で、特になんでもいいです。素粒子物理学では99.9999%を使っています。


### 二項検定
　もし書き下ろし曲が選ばれる確率$p$が40%で8回プレイしたなら、書き下ろし曲が選ばれる回数はそれぞれ以下のような確率になります。3回の確率が最も高いですが、8回全部書き下ろし曲になることも、1回も出ないこともあります。けれども、95%の確率で1回から6回の範囲に収まるはずです。$p$が60%のときはまた別の確率になり、95%の確率で2回から7回の範囲に収まります。

|p=40%のときの回数|0回|1回|2回|3回|4回|5回|6回|7回|8回|
|---|--:|--:|--:|--:|--:|--:|--:|--:|--:|
|確率(%)|1.68|8.96|20.9|27.9|23.2|12.4|4.1|0.8|0.06|

|p=60%のときの回数|0回|1回|2回|3回|4回|5回|6回|7回|8回|
|---|--:|--:|--:|--:|--:|--:|--:|--:|--:|
|確率(%)|0.06|0.8|4.1|12.4|23.2|27.9|20.9|8.96|1.68|

<img width="48%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603504/4aae7b23-9c5f-af53-a16e-c5bd95572f45.png">

<img width="48%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/603504/a3883c7d-786b-8073-f2c3-30e0d4a1a7ec.png">


　逆に考えます。書き下ろし曲が選ばれる確率が分からない状態でチアフルライブを8回プレイして、書き下ろし曲が7回出たとします。$p$が40%のとき7回は起こりやすい範囲にないので、$p$が40%とは考えにくいです。$p$が60%ならば、7回も起こりやすい範囲にあるので、60%なことは十分ありえます。計算すれば70%や80%もありうることが分かります。このように、書き下ろし曲の出現回数の確率分布のボリュームゾーンに7回が含まれるような$p$を集めてくると、$p$の信頼区間というものを構成できます。
　数学的な表式を確認しておきます。ある事象が起こる確率$p$を知りたいときに、$N$回試行してみると、結果は二項分布 $\text{Bin}(N,X)=\_NC\_X p^X(1-p)^{N-X}$ に従います。全ての$0\leq p'\leq 1$に対して、仮に$p=p'$だったとき、自身以上に稀な出現確率を足し合わせれば$\alpha$に届くような出現回数を集めてできる集合$A:$
 ```math
 A_\alpha(p)=\biggl\{x\bigg|\alpha<\sum_{\text{Bin}(N,x')\leq \text{Bin}(N,x)}\text{Bin}(N,x')\biggr\}
```
を作り、$X$の実現値$X_1$に対して区間[^11]$I=\\{p|\min A_\alpha(p)\leq X_1\leq \max A_\alpha(p)\\}$を定めます。このようにして区間$I$を作ったとき、真の$p$を含むような区間になる確率は$1-\alpha$以上になることから、$I$は信頼係数$1-\alpha$の信頼区間であるといわれます。$p\notin I$なら$H_0$を棄却、$p\in I$なら$H_0$を採択します。$\alpha$が小さくなると帰無仮説を採択しやすくなるので、$\min\\{\alpha|H_0\text{を棄却}\\}$をp値といいます。
　こういった統計学の議論はとてもややこしい[^12]です。本記事の目的は統計学を解説することではないので、分からない場合はこの部分を読み飛ばし、知りたければ他の本にあたるとよいと思います。筆者は統計学がいまいち分かっていないので、この節を書くのに何時間も悩みました。

[^11]:累積分布関数の単調性から集合$I$は区間になります。
[^12]:今回は区間推定でなく検定が目的なので、信頼区間を導入する必要はないですが、書きやすさの都合から信頼区間の説明をしています。数日前Twitterで統計学関連を叩いている人がいるのを見て怖かったです。


### 検証する項目
　以下の項目について検証しました
1. 人気度
　プロセカの運営がどのような指標を参考にしうるかは分かりませんが、今回はYouTube再生数とニコニコ動画再生数[^13]を基準にそれぞれ上半分と下半分に分け、上半分の選曲回数から作った信頼区間が0.5を含むかどうか見ます。
2. 難易度
　マスター譜面を現行難易度で26-27、28、29、30-32、33-37の5つに分けました。分け方は適当に数が揃うようにしました。
3. 時間
　全楽曲のうちおよそ長い方1/4と短い方1/4について、それぞれ確認しました。
4. ユニット
　5ユニット+バーチャル・シンガーの6つ[^14]を調べました。
5. 書き下ろし・公募・既存
　3つ見ました。[^15]
6. 追加時期
　2020年追加、2021年追加、2022年追加に分けました。
7. 特定の楽曲
　エンヴィーとかの1曲単位ではデータ数が十分でないのでやっていません。始まりのユニット曲、マジミラ曲、プロセカ周年曲についてはそれぞれ確認しました。

[^13]:各楽曲の名前で出てくる動画のうち一番再生回数が多いもの(カバー、転載問わず)のみを採用しました。数が多くて雑になったので見落としもあると思いますが、上下2つに分けるだけなので結果に大きな影響は出ないと思います。
[^14]:周年曲、カップヌードルコラボなどを抜きデフォルトのボーカルのユニットに合わせているため、ゲーム上の表示とは異なります。
[^15]:独立ではないし、本当は多項検定が必要だと思われます。そこまではできませんでした。


### 結果
|要素||曲数|理想の出現確率|実際の出現回数|p値|
|:--|:--|--:|--:|--:|--:|
|1. 人気度|YouTube|146|0.5|173|0.55|
||ニコニコ動画|146|0.5|171|0.7|
|2. 難易度|低難度(26-27)|71|0.24|78|0.75|
||中難度(28)|68|0.23|84|0.44|
||中難度(29)|53|0.18|66|0.44|
||高難度(30-32)|88|0.3|91|0.26|
||超高難度(33-37)|12|0.04|15|0.68|
|3. 長さ|長い(~1:52)|72|0.25|77|0.45|
||短い(2:22~)|72|0.25|78|0.61|
|4. ユニット|VS|97|0.33|111|1|
||レオニ|39|0.13|32|0.04|
||モモジャン|35|0.12|48|0.18|
||ビビバス|36|0.12|45|0.51|
||ダショ|36|0.12|32|0.13|
||ニーゴ|37|0.13|53|0.08|
|5. 由来|既存|193|0.66|241|0.02|
||書き下ろし|80|0.28|83|0.33|
||公募曲|19|0.065|10|0.007|
|6. 追加時期|2020年|65|0.22|78|0.65|
||2021年|84|0.29|103|0.4|
||2022年|107|0.37|115|0.43|
|7. 特定|ユニット曲|5|0.02|6|0.83|
||マジミラ曲|9|0.03|11|0.75|
||周年曲|4|0.01|6|0.47|

　p値が大きいことから、人気度、難易度、曲の長さなどとは無関係にランダムに選曲されている確率が高いといえます。それに対して、公募曲の出現回数は有意に少なく、またユニットごとに偏りがある可能性も高いです。（筆者のデータ記載漏れが少なかったとして）。
　注意すべき点としては、公募曲が選曲されにくいといっても、それは公募曲の優遇をそのまま意味するわけでなく、別の見えないパラメーターが間接的に使われていることもあります。人気度や難易度などについても、今回検出力が足りなかっただけで、データを増やせば偏りが見える可能性もあります。

### まとめ
- 公募曲の出現回数は明らかに少ない(p=0.007)
- ユニットごとに偏りがあるかもしれない
- 人気度、難易度、楽曲の長さなどが影響しているかどうかは分からない

　非直感的な結論が出ました。本当なんですかね？記事の間違いを発見したり、ご意見ご質問などがあれば、ぜひ以下のコメントから教えてください(TwitterのDMでも大丈夫です)。