【Aoi ch.考察班】 フリスクが1個だけ出る確率の求め方についての考察~多項分布を添えて~


これはなに?

はじめまして zii と申します。本記事は富士葵ちゃんと振り返る Advent Calendar 2022 の参加記事となっています。他の方の記事もぜひ読んでみて下さい!


Aoi ch.の検証系動画のここが好き

Aoi ch.では様々な企画動画がアップされていますが、自分が特に好きなジャンルが検証系の企画です。検証する内容の独自性とニッチさが絶妙でいつも楽しく見ています。

Aoi ch.公式の再生リストに実験/検証/挑戦 系の企画がまとめられてますので、気になる方は是非見てみてください。どの企画もマニアックなテーマに真正面から挑んでいて、「まじめにふまじめ」の心意気が感じられて面白いです。


本題

最近アップされた検証系の企画動画で自分が特に面白いなと思ったのは次の動画です。

企画内容としては、

  • フリスクを振ったときに1粒だけ出る確率を求める

  • 1粒だけ出すフリスクの振り方を考える

というものです。

いつもロゴが凝っててすごいなと思っています。
どんな検証でも手を抜かない姿勢👏
(そんなこと気になることある???)

検証のために何回フリスクを振ればいいのか問題

なんらかの量を統計的に推定したいときはサンプルサイズを見積もることが重要です。つまり、推定したい統計量を設定した精度で得るためにはサンプルをどれだけ集めればいいのかを求める必要があります。

今回の場合は企画内容の検証のためにフリスクを何回振ればよいのかを見積もるということになります。

Aoi ch. でもサンプルサイズを見積もることについてしっかりと言及されています。教育的で素晴らしいですね👏

統計学の重要性を完全に理解してる葵ちゃん

動画内のノジョさんの計算によると、1000回振ると誤差12%程度でフリスクが1個だけ出てくる確率が求められるとのことです。

ノジョさんが必要なサンプルサイズを計算している

本記事ではこの数字はどうやって求めたの?というのを考察していきたいと思います。

問題設定

まずは問題設定を整理します。

  • $${X}$$: フリスクが出る個数

  • 推定したいもの: $${P(X=1)}$$ の値

このとき $${X}$$ はどのような確率分布に従うのでしょうか?

フリスクが同時に出る個数が従う確率分布について

  • $${X}$$ は多項分布に従うと考えることができます

    • 各試行において、有限個の事象のうちいずれかが起こる場合に使われる確率分布です

    • フリスクを一回振ったときに同時に出る個数には最大値があると考えられます

      • フリスクが最大 $${k}$$ 個出ると考えると、フリスクを振ったときに同時に出る個数の従う確率分布は0個の場合も含めて$${(k+1)}$$カテゴリーの多項分布と考えることができます

      • 動画内では $${k=4}$$ と想定していると考えられます

以下では $${p_i:=P(X=i)}$$ と置くことにします。

フリスクが同時に出る最大個数について考えていると思われる

多項分布については、例えば次のブログ記事により詳しい説明があります。


必要な実験回数の計算

問題設定から必要な実験回数を求めるには、$${p_1}$$ の推定に必要なサンプルサイズを求めればよいのだとわかります。

実は、注目する事象について「フリスクが1個出る」OR 「その他」と考えれば良いので、$${p_1}$$の推定だけを考えると二項分布のサンプルサイズを計算する問題に帰着することができます。

以後 $${p:=p_1}$$ と置きます。

95%信頼区間を採用したと考えると(これはおそらくの予想です※)、二項分布の信頼区間を考えます。

フリスクが1個出た回数を $${x}$$、振った回数を$${n}$$として$${\hat{p}:={\frac{x}{n}}}$$ と置くと二項分布の95%信頼区間は $${\hat{p}\pm1.96\sqrt{\frac{p(1-p)}{n}}}$$となります。
二項分布の母比率の信頼区間の求め方については次の記事などを参照してください。

※ 一般によく用いらるのが95%信頼区間で、推定したい精度に合わせて決定します。90%信頼区間とかも使われます。信頼区間の意味については例えば次の記事などを参考にしてください。


どの誤差を採用したのか問題

誤差の定義には様々なものがありますが、代表的なものとして絶対誤差相対誤差の二つがあると思います。特殊な誤差の定義をしていない限りはどちらかの定義が採用されていると以下では考えます。

ただ、今回難しいのは推定したい量が確率なので、誤差10%といった場合に絶対誤差とも意味がとれるし、相対誤差とも意味がとれてしまいます。

ノジョさんはどちらの誤差の定義を採用していたのでしょうか?動画内での発言から考察していきます。

絶対誤差で考えた場合

絶対誤差とは次の式で定義されます

$${\text{絶対誤差}=|\text{実測値}-\text{理論値}|}$$

つまり、理論値からどれだけ絶対的な誤差があったのかを表す量です。

推定誤差を絶対誤差でみて10%以内にしたい、つまり

$${|\hat{p}-p|\leq 0.1}$$

としたいと考えると、

$${|\hat{p}-p|\leq 1.96\sqrt{\frac{p(1-p)}{n}} }$$ 

が成り立つことから

$${1.96\sqrt{\frac{p(1-p)}{n}} \leq 0.1}$$ となれば十分です。

これを $${n}$$について解くと

$${n\geq 19.6^2 p(1-p)}$$ 

となります。
真の値$${p}$$によって、必要なサンプルサイズは変わりますが $${p(1-p)}$$ の最大値は $${0.25}$$ なので保守的に大きめの $${n}$$ を採用すると考えると、

$${n\geq 19.6^2\times0.25 = 96}$$

となります。

相対誤差で考えた場合

相対誤差は次の式で定義されます。

$${\text{相対誤差}=\frac{|\text{実測値}-\text{理論値}|}{\text{理論値}}}$$

つまり理論値を基準値としたときの相対的な誤差の割合を表します。

推定誤差を相対誤差でみて10%以内にしたいと考えると、

$${\left|\frac{\hat{p}-p}{p}\right| \leq 0.1}$$

が成り立てば良いので、

$${\left|\frac{\hat{p}-p}{p}\right| \leq 1.96\sqrt{\frac{(1-p)}{np}}}$$

が成り立つことから、

$${ 1.96\sqrt{\frac{(1-p)}{np}}\leq 0.1}$$

を満たすように$${n}$$をとれば十分です。

これを$${n}$$ について解くと、

$${n\geq 19.6^2\left(\frac{1-p}{p}\right)}$$

となります。

真の値$${p}$$ が小さくなるほど必要なサンプルサイズは大きくなりますが、仮に20%だったとすると必要なサンプルサイズは $${n=1536}$$ となります。

ノジョさんはどちらの誤差の定義を採用していたのかの考察


ノジョさんは1000回投げる必要があると言っていたので、絶対誤差を採用していたと考えると必要だという実験回数が少なすぎます。動画での誤差の定義は絶対誤差ではなく、相対誤差のようです。

以下では動画内では相対誤差を採用したと仮定して話を進めます。

ノジョさんが誤差をどうやって計算したかの考察

1000回なげて誤差が12%くらいの意味


さて、ここまで長々と書いてきましたがノジョさんはどうやって必要な実験回数を見積もったのでしょうか?

先ほどの相対誤差の式に $${n=1000, p=0.2}$$を代入してみると(実験するまで真の $${p}$$ の値はわからないので、だいたい20%程度であろうと見積もっています)

$${1.96\sqrt{\frac{1-p}{np}}=1.96\sqrt{\frac{1-0.2}{1000\times 0.2}}\approx0.12}$$

となります。これはノジョさんの言っていた1000回振って誤差12%くらいという発言の内容と一致します。ノジョさんもおそらく同様に二項分布に帰着させて計算をやったんじゃないかなと考察します※

※実際に得られた確率$${p_1}$$の推定値は29.5%でしたが、やや保守的に低い目にみつもったということで…

5000回投げていたらどれくらいの誤差で推定できていたか?

動画内でノジョさんは本当は5000回ぐらいは振りたいと述べています。

5000回はつらすぎる

実際に5000回振ったらどれくらいの相対誤差で確率を推定できていたかというと、$${p=0.2}$$と想定した場合で相対誤差$${5.5}$$%となりなります。
1000回の5倍の回数振っても相対誤差が半分にもならないので、なかなか誤差は減りにくいですね。

余談: 多項分布とかなんだったの?


実は、あるイベントが起きるかどうかの確率 $${p}$$ を推定するだけなら上記の二項分布を用いた議論でよいのですが、複数個のイベントが起きる場合の確率をそれぞれ推定したい場合は多項分布とちゃんと向き合う必要があります。

このように複数の母数を同時に推定する場合に得られる信頼区間を同時信頼区間と呼びます。多項分布の同時信頼区間についてはGoodman (1965)による次の近似式が成り立つことが知られています。

$${n(\hat{p}_i-p_i)^2\leq \chi^2\left(\alpha/(k+1), 1\right)p_i(1-p_i)}$$

ここで 、$${\chi^2(\alpha, 1)}$$ は 自由度1のカイ二乗分布の $${(1-\alpha)}$$ %分位点です。

これを利用して同時信頼区間を得るのに必要なサンプルサイズを求めることができます。

フリスクが最大4個までしか出ないと考えた場合、フリスクを振ったときに同時に出る個数の確率すべての相対誤差での推定誤差を10%以内に抑えるのに必要なサンプルサイズ(5%棄却点を採用)は

$${n\geq 66.4\times\max_i\left(\frac{1-p_i}{p_i}\right)}$$

となります。$${\max_i\left(\frac{1-p_i}{p_i}\right)}$$の値は最も小さい $${p_i}$$ で決まります。仮にその確率が1%だった場合に必要なサンプルサイズは

$${n=6573}$$ となります。1000回よりはかなり多くなってしまいましたね(余計に振るのが大変になってしまいました)

フリスクが同時に出る確率の同時信頼区間を求めてみる

Rパッケージの次の関数を利用して、フリスクが同時に出る確率の同時信頼区間を計算することができます。計測値は動画内のデータを利用しています。

> MultinomCI(c(487, 295, 150, 54, 12), conf.level = 0.95, side="two.sided", method="goodman") * 100
           est     lwr.ci    upr.ci
[1,] 48.797595 43.9581916 53.659645
[2,] 29.559118 25.3193124 34.183916
[3,] 15.030060 11.8758170 18.842942
[4,]  5.410822  3.5955317  8.065923
[5,]  1.202405  0.5087337  2.815151

同時信頼区間は次のようになります。単位は%に直しています。

  • 0個出る確率: $${[44.0, 53.7]}$$ 

  • 1個出る確率: $${[25.3, 34.2]}$$

  • 2個出る確率: $${[11.9, 18.8]}$$

  • 3個出る確率: $${[3.59, 8.07]}$$

  • 4個出る確率: $${[0.509, 2.82]}$$

最後に

記事の本筋とは完全にそれるんですが、この企画動画を何回も見返す中で好きだったシーンを切り抜いて紹介させていただきます。
最後まで読んでいただき、ありがとうございました!

お願いします(かわいい)
謎の方角をみる葵ちゃん
過酷な実験(ノジョさんお疲れ様です)
細目

この記事が気に入ったらサポートをしてみませんか?