【あつ森】住民ガチャの統計学 〜鷹宮リオンはなぜジャックを引けないのか〜

任天堂の大人気タイトル【あつまれ!どうぶつの森】の住民ガチャについて、にじさんじ所属Vtuber鷹宮リオン様 (@TakamiyaRion)と、並々ならぬ労力を割いて集計したであろうサカナイト様 (@_Sakaknight)より、すばらしいデータを提供していただいたので、簡単に解析してみました。

先に結論を述べます。

結論①:
住民ガチャは、まずランダムで「種族(=どの種類の動物か)」が決まり、その中で誰が出るかが抽選される「二段ガチャシステム」のようです。

結論②:①が正しければ、3種類しかいない「タコ族」などの個体は出現する確率が高く、反対に種類の多い「ネコ族」や「ウサギ族」の個体は出現する確率が低くなります。

結論③:性格・性別・誕生月などの影響はなさそうです。時間帯説については検証できていません。

結論④:ただし、例外的に2倍程度多く出る種族(リオン様の場合は「ウシ族」)が存在します。この原因は不明です。

結論⑤:
これらを踏まえて、計算したところ、ジャックの出現確率は770分の1で、1200枚でジャックが1回以上出現する確率は約79%でした。リオン様はたしかに運の悪い方ではありますが、超不憫…というほどでもなさそうです。

以下、詳細について述べていきます。


背景

弊推し、にじさんじ所属超お嬢様系Vtuberの鷹宮リオン様(以下、リオン様)は、あつ森ではGod Tierと名高い『ジャック』を求めてマイルガチャの旅に出ました。それはまだ桜の美しい季節、2020年4月6日のことでした。

…それから3ヶ月、いまだにジャックは来ません。
世間はすっかり海開きで盛り上がっているというのに、ひとり空港に入り浸るリオン様…。おいたわしや…。

この間、使ったマイル券の枚数は実に1243枚。(執筆時:2020年7月3日時点)
ここまで来ると何か不思議な力が働いているとしか思えません。

さて、そんな折。
なんと、配信中に誰が何回出現したのかを集計した猛者が現れました。

いや、すごすぎる…。一体何時間かかったんだ…?

ちょうど最近、統計学を勉強していたのもあってこのデータに興味を持った私は、サカナイト様にコンタクトをとったところ、快くデータをお譲りしていただきました。ありがとうございます!

せっかくなので、統計解析をしてみました。
以下、その過程をダラダラと述べていきます。
なにぶん、勉強中の身なので、ガバい部分が多少あることをご了承ください。
また、詳しい方がいらっしゃいましたら、ご指摘いただけると助かります。


データについて

まずは、拝領したデータに加えて、種類、性別、性格、誕生日の情報を以下のサイトより取得しました。

そして、表記ゆれの調整やなんやかんやをしまして、全住民391種について、以下のようなデータが出来上がりました。

name : 住民の名前
count : 出現回数
type : 種族
gender : 性別
personality : 性格
habit : 口癖
birthday : 誕生日
birthday_month : 誕生月
bitrhday_day : 誕生日の日にち
× 391行

このデータを用いて解析します。

※補足
実際はここから、ビンタ、リッキー、ジュン、ロボ、ビアンカ、シベリア、ヒュージ、ペンタのデータを省きました。彼らはキリ島(リオン様の島、SAOの主人公キリトが由来)にいる期間、ガチャの分母から省かれており、入れると煩雑になりそうだったからです。本来は、一時的にキリ島にいた個体(ドレミとか)も排除すべきかもしれませんが、私自身把握しきれてないのと、まぁそこまで影響はないだろうということで残しています。


まずは可視化

なにはともあれ色々と可視化してみましょう。

【出現回数のヒストグラム】

ヒストグラム

外れ値はあるものの、最頻値が3のまぁまぁきれいな山なりの形をしています。もし、すべての個体が平等に出現すると仮定すると、このような形になりそうな気がします。ただし、この形だからといって平等に出現すると言えるわけではないので、一旦保留して、次に行きます。

【種族別平均出現回数】

系統別

パッと目につくのはまずタコ族。異常に大きい値を取っています。
判断が分かれるところですが、種族間でまぁまぁ差が大きそうです。

ここでちょっとひらめきました。
そういえば、タコ族は3種類しかいない稀有な種族でした。
ひょっとすると「すべての個体が平等に出現する」のではなく、「すべての種族が平等に出現していて、種族決定後に種族内で抽選している」のでは…?
たとえば、340回ガチャをしたとすると、全34種族がだいたい10回くらい出現し、3種類しかいないタコは1個体あたり3回くらい出現、10種類いるシカは1個体あたり1回くらい出現する…と、そういう感じです。

本記事では便宜上、このことを「二段ガチャシステム」と呼称することにします。

これを調べるため、以下の分析をしてみました。


相関分析

X軸に種族内の種数、Y軸に種族ごとの合計出現回数を取ります。
もし「すべての個体が平等に出現する」のなら、X(種族内の種数)が大きくなればなるほどY(種族ごとの合計出現回数)が大きくなるはずです。
かっこよく言うと、XとYは相関するはずです。
反対に「二段ガチャシステム」なのであれば、Xに関わらずYが一定の値を取ります。

作図結果が以下になります。

種族別

相関係数は0.048、P値は0.79でした。
細かい解説は省きますが、相関しているとは言えなさそうです。
よって、本記事の結論としては「二段ガチャシステム」が採用されていると予想します。

※相関分析の意味合い的には、本当は「相関係数が0である(相関していない)」という仮説を棄却できないという意味で、「相関していないこと」を示せたわけではないです。まぁでも図を見る限り、相関してないと思います。

調べてみると、やはり同じようなことを考えている人はいるもので、

このあたりの検証でも同じような結果が得られていますね。
恐るべき先人たち…!

まだまだ続きます。


重回帰分析

統計の世界では鉄板の重回帰分析をやってみました。すごく雑に解説すると、ある変数(ここでは出現回数)に影響する要因を調べる手法です。
前述の仮説を踏まえて、ここでは「出現回数」に「同じ種族の個体数」が影響しているだろうという予想をしています。
また、性格や誕生月が出現回数に影響するのかどうかを確認します。

※性別について
性別も一つの要素ですが、性格の中に性別の情報も含まれるので、今回は省きました。

※もうちょい専門的な話
目的変数:出現回数
説明変数:同じ種族の個体数、性格、誕生月
性格と誕生月はすべてカテゴリー変数として扱い、ダミー変数化しています。
PythonのStatsModelsの線形回帰(OLS)を使っています。

以下、出力結果です。

OLS Regression Results
Dep. Variable:	count	R-squared:	0.278
Model:	OLS	Adj. R-squared:	0.240
Method:	Least Squares	F-statistic:	7.353
Date:	Sat, 04 Jul 2020	Prob (F-statistic):	7.63e-17
Time:	14:19:26	Log-Likelihood:	-806.59
No. Observations:	383	AIC:	1653.
Df Residuals:	363	BIC:	1732.
Df Model:	19		
Covariance Type:	nonrobust		

            coef	std err	t	    P>|t|	[0.025	0.975]
const	    7.1777	0.542	13.232	0.000	6.111	8.245
type_count	-0.2646	0.024	-11.164	0.000	-0.311	-0.218
アネキ系	    -0.2164	0.508	-0.426	0.671	-1.216	0.784
オトナ系	    0.0875	0.398	0.220	0.826	-0.695	0.870
キザ系	    -0.4803	0.455	-1.056	0.292	-1.375	0.414
コワイ系	    0.2402	0.398	0.603	0.547	-0.543	1.024
ハキハキ系	0.2288	0.395	0.579	0.563	-0.548	1.006
元気系	    0.0139	0.407	0.034	0.973	-0.786	0.814
普通系	    -0.1713	0.383	-0.448	0.655	-0.924	0.581
2-0.5795	0.532	-1.088	0.277	-1.627	0.468
3-0.6789	0.515	-1.319	0.188	-1.691	0.333
4-0.2892	0.542	-0.534	0.594	-1.354	0.776
5-0.7486	0.526	-1.422	0.156	-1.784	0.287
6-0.4311	0.523	-0.824	0.410	-1.459	0.597
7-0.4833	0.513	-0.941	0.347	-1.493	0.526
8-0.5065	0.505	-1.004	0.316	-1.499	0.486
9-0.4394	0.526	-0.835	0.404	-1.474	0.595
10-0.4447	0.502	-0.886	0.376	-1.432	0.543
11-0.7105	0.536	-1.325	0.186	-1.765	0.344
12-0.7334	0.519	-1.413	0.158	-1.754	0.287

Omnibus:	91.595	Durbin-Watson:	1.580
Prob(Omnibus):	0.000	Jarque-Bera (JB):	266.135
Skew:	1.102	Prob(JB):	1.62e-58
Kurtosis:	6.437	Cond. No.	177.


注目するべきはP>|t|の欄で、一般にここの値が0.05以下であれば有意に影響していると判断することが多いです。
結果は一目瞭然で、type_count(同じ種族の個体数)の影響は意味がありそうですが、その他に影響する要因はとくに見つかりませんでした。
※正直この辺の原理はブラックボックスなので、手法的なガバはあるかもしれませんが、ここまではっきり出ていると結論は間違っていないと思います。


謎の外れ値 「ウシ」

さて、少し話を戻しまして、相関分析で出した図をもう一度見てみます。

種族別

お気づきの方も多いでしょう。
「ウシ族」が異常に多く出現しています。
割合にしておよそ2倍程度といったところでしょうか。
ここまでの差は乱数の揺れでは説明がつきません。
この原因に関して、いくつか仮説を立てておきます。真相は不明です。

リオン様がウシに呪われている説
ユーザーごとに特別出やすい種族が存在しており、リオン様の場合、たまたま「ウシ族」だった、という説です。これを調べるにはリオン様以外のデータが必要になります。個人的にはこれなんじゃないかと思っています。

任天堂とウシがズブズブ説
ユーザーによらず、全ユーザーでウシが特別出やすい、という説です。これを調べるにもリオン様以外のデータが必要になります。もしこれが正しいとすると、「よりにもよってなぜウシ???」という疑問が残ります。さすがに任天堂はこんなナンセンスなことはしないんじゃないかと思っています。

時間帯説
リオン様はあまりにもジャックが出ないので、精神的に追い詰められ、「この時間帯はジャック出やすい」みたいなワザップ情報を半信半疑ながらも実践しています。時間帯によるバイアスはないというのが通説ですが、ひょっとすると、たまたま「ウシが出やすい時間帯」に多くプレイをしていたのかもしれません。


リオン様は運が悪いのか?

ここまでの話をまとめると、
・種族→個体の二段ガチャシステムが採用されているっぽい
・なぜかは不明だが、ウシにバイアスが掛かっているっぽい
ことがわかりました。
ここからは、「ジャック」に焦点を当てていきます。

すでに、おわかりの方も多いと思いますが、これまでの帰結として、「ジャック」が出る確率は低いです。
ネコ族は23個体もいるので、たとえば3個体しかいないタコ族の「おくたろう」と比べると、7分の1以下の確率です。
また、ウシ族の出現確率が他の2倍だとすると、相対的に「ジャック」の出現確率はさらに下がります。

一回あたりの出現確率を計算してみます。
まず全種族の数が34。
ウシが他の種族より2倍出現すると仮定すると、ネコ族の出現確率は
1 / (33 + (1 * 2)) = 1 / 35 となります。
ネコ族は全部で23個体いて、ビンタはすでに島にいるので、ジャックを引く確率は
(1 / 35) * (1 / (23-1)) = 1 / 770 となります。

仮に1200回ガチャを引いて、少なくとも1回以上ジャックが出現する確率は
1 - ((769 / 770) ^ 1200)  =  約79%
になります。

※リオン様の場合、ビンタは途中で来たので、もうちょっと低い確率になります。

1200回ガチャしても、2~3割くらいの確率でジャックが来ないなんて…
なかなかジャックへの道は険しいですね。

運試しに「住民100連ガチャ鷹宮モデル」を作ってみました。
ウシ族の出現率は2倍。
ビンタ、リッキー、ジュン、ロボ、ビアンカ、シベリア、ヒュージ、ペンタの8匹が島にいるという設定です。
診断メーカー側の容量の都合でネコ以外の種族は「ウマ」「ヒツジ」としか表示されません。あくまで、ジャックが出るかどうかの運試しだと思ってください。


どうしてもジャックが欲しい人へ

一番効果的と思われるのは、出現したネコを片っ端から勧誘することです。
島に全くネコがいない状態ではジャックの出現確率は1/805ですが、
島にネコが9匹いるときは1/490まで上げることができます。

また、「なぜリオン様はウシ族を多く引くのか」の要因がわかれば、「ネコ族が2倍出やすい状況」を作り出せる可能性があります。
このあたりは、今後の研究に期待したいところです。


謝辞など

この記事は言うまでもなく、鷹宮リオン様の「ジャック」に対する執念がなければ生まれませんでした。
また、データを集計したサカナイト様からデータを提供していただかなければ、こうした分析もできませんでした。
両名に深く感謝いたします。

それと、もっとこうした方が良いよ!とか、この結果も知りたい!みたいなコメントがあれば、できるだけ対応したいと思っています。
ただ、致命的な指摘以外は、時間に余裕のあるときにということで、ご容赦ください(飽きっぽい性格なので、あまり期待しないでください)。

最後に

お嬢のメンバーシップはいいぞ〜(宣伝)