やること
アイドルマスター(THE IDOLM@STER)のアイドルのオーディションにはどのような選考基準があるのでしょうか。今日はモンテカルロ法を使って選考基準の一部を暴いてみます。
参考文献
アイドルの誕生日はこちらのデータベースを使用させていただきました。
モンテカルロ法とは、ある値や確率が知りたいときに、コンピュータ内でサイコロを振りまくって実験的に求める方法です。
実行環境
WinPython3.6をおすすめしています。
Google Colaboratoryが利用可能です。
アイドル全員の誕生日の散らばり
765プロ、ディアリースターズ、シンデレラガールズ、ミリオンライブ!、SideM、シャイニーカラーズを合わせると、合計327名所属しているようです。誕生日をグラフにしてみました。
統計的には、327名の誕生日が226日に散らばっていました。これって普通なのでしょうか?
ちなみに、七夕とクリスマスは4名と最多タイで、うるう日(2/29)のアイドルはいませんでした。ふふふ…。
コードと結果
327名の誕生日をランダムに生成して、これが226日以上に散らばっていたらカウントします。これを100万回繰り返して、「カウント/投げた回数」で確率が求められます。
import numpy.random as nr
import collections
#サイコロを振る回数
num = 1000000
#サイコロを振りまくる
count = 0
for i in range(num):
#327人の誕生日を生成(重複あり)
birthday = nr.randint(0, 365, 327)
#{誕生日:人数}の辞書にまとめる
cc = collections.Counter(birthday)
#226日以上に散らばっていたらカウント
if len(cc) >= 226:
count += 1
if i % 10000 == 0:
print(i)
print('327人の誕生日が226日以上に散らばる確率: {}%'.format(count/num*100))
結果
327人の誕生日が226日以上に散らばる確率: 5.371%
327名の誕生日が226日以上に散らばる確率は 5.4% のようです。確率的にレアなことなので、オーディションにおいて「既存メンバーと誕生日が重複しないか」という選考基準が存在することが推測されます。
シンデレラガールズの誕生日の散らばり
シンデレラガールズに限定すると195名のようです。誕生日をグラフにしてみました。
統計的には、195名の誕生日が167日に散らばっていました。さて今度はどうでしょうか?
コードと結果
コードは数字を変えるだけです。
#サイコロを振る回数
num = 1000000
#サイコロを振りまくる
count = 0
for i in range(num):
#195人の誕生日を生成(重複あり)
birthday = nr.randint(0, 365, 195)
#{誕生日:人数}の辞書にまとめる
cc = collections.Counter(birthday)
#167日以上に分散していたらカウント
if len(cc) >= 167:
count += 1
if i % 10000 == 0:
print(i)
print('195人の誕生日が167日以上に散らばる確率: {}%'.format(count/num*100))
結果
195人の誕生日が167日以上に散らばる確率: 0.0372%
195名の誕生日が167日以上に散らばる確率は 0.037% です。確率的に極めてレアなことなので、オーディションにおいて「既存メンバーと誕生日が重複しないか」という選考基準が存在することが濃厚です。これからオーディションに行かれる方は、誕生日が既存メンバーと重複していないかをチェックしましょう。特に、あなたと同じ誕生日のアイドルがすでに2名いる場合には採用は絶望的と考えてください。