#Gemini に「上位m個選出の確率」を教わる(その2)

 【#Gemini に「上位m個選出の確率」を教わる】では0~1の一様分布の中からランダムに(n-1)個を抽出して、同じく0~1の中から選んだxと合わせてn個の中から大きい順にm個を選んだ時、xがm個の中に選ばれる確率をGeminiに教わった。今回は一様分布ではない、線形の単調減少のそれぞれ異なる分布の中からランダムに(n-1)個を抽出した場合について尋ねた。

 0~1内の数字xを一つ選び、ランダムに(n-1)個選んで、n個の中から大きい順にm個選びます。ただし、ランダムに選んだ方はそれぞれ確率密度関数 $f_{i}(x)=-a_{i}x+\frac{a_{i}}{2}+1$($a_{i} \ge 0$)の中から選びます。xがm個の中に選ばれる確率g(x)を教えてください。

指定された条件に基づき、$x$ が上位 $m$ 個の中に選ばれる確率 $g(x)$ を数学的に導出します。

1. 問題の前提と条件

全体で $n$ 個の数字があり、その内訳は以下の通りです。

  • あなたが選んだ特定の数字: $x$ ($0 \le x \le 1$)
  • ランダムに選ばれる $n-1$ 個の数字: $X_1, X_2, \dots, X_{n-1}$

各 $X_i$ はそれぞれ異なる確率密度関数 $f_i(t)$ に従います。

$$f_i(t) = -a_i t + \frac{a_i}{2} + 1$$

(※ $f_i(t)$ が $0 \le t \le 1$ の範囲で常に $0$ 以上となる妥当な確率密度関数であるためには、$0 \le a_i \le 2$ である必要があります)

2. 1つの数字が $x$ より大きくなる確率

まず、ある1つのランダムな数字 $X_i$ が、あなたの選んだ $x$ よりも大きくなる確率 $p_i(x)$ を求めます。これは、区間 $[x, 1]$ で確率密度関数を積分することで計算できます。

$$p_i(x) = \int_x^1 \left( -a_i t + \frac{a_i}{2} + 1 \right) dt$$

これを計算すると以下のようになります。

$$p_i(x) = \left[ -a_i \frac{t^2}{2} + \left(\frac{a_i}{2} + 1\right)t \right]_x^1$$

$$p_i(x) = \left( -\frac{a_i}{2} + \frac{a_i}{2} + 1 \right) - \left( -\frac{a_i}{2} x^2 + \frac{a_i}{2} x + x \right)$$

$$p_i(x) = 1 - x - \frac{a_i}{2}x(1 - x)$$

$$p_i(x) = (1 - x)\left(1 - \frac{a_i}{2}x\right)$$

逆に、$X_i$ が $x$ 以下になる確率は $1 - p_i(x) = x \left(1 + \frac{a_i}{2}(1 - x)\right)$ となります。

3. $x$ が上位 $m$ 個に選ばれる条件

$n$ 個の数字を大きい順に並べたとき、$x$ が上位 $m$ 個に含まれるための必要十分条件は、「$n-1$ 個のランダムな数字のうち、$x$ より大きい数字の個数 $k$ が $m-1$ 個以下であること」 です。

(例:$x$ より大きい数字が $0$ 個なら $x$ は1番目、$m-1$ 個なら $x$ は $m$ 番目になります)

4. 確率 $g(x)$ の一般式

各 $X_i$ が $x$ より大きくなる確率 $p_i(x)$ は、パラメータ $a_i$ に依存してそれぞれ異なります。そのため、この確率は「ポアソン二項分布(Poisson binomial distribution)」に従います。

$n-1$ 個のうち、ちょうど $k$ 個が $x$ より大きくなる確率 $P(K=k)$ は次のように表されます。

$$P(K=k) = \sum_{A \in F_k} \left( \prod_{i \in A} p_i(x) \prod_{j \notin A} (1 - p_i(x)) \right)$$

ここで、$F_k$ は集合 $\{1, 2, \dots, n-1\}$ から要素を $k$ 個選ぶすべての組み合わせ(部分集合)を表します。

求める確率 $g(x)$ は、$k$ が $0$ から $m-1$ までの確率の総和となるため、最終的な解答は以下の通りです。

$$g(x) = \sum_{k=0}^{m-1} \sum_{A \in F_k} \left( \prod_{i \in A} (1 - x)\left(1 - \frac{a_i}{2}x\right) \prod_{j \notin A} x \left(1 + \frac{a_j}{2}(1 - x)\right) \right)$$

補足:すべての $a_i$ が等しい場合

もしすべての確率密度関数が同じ(すなわち全ての $i$ において $a_i = a$)である場合、確率は等しく $p(x) = (1 - x)\left(1 - \frac{a}{2}x\right)$ となります。

この場合、計算は標準的な二項分布へと劇的に単純化され、$g(x)$ は次のように表すことができます。

$$g(x) = \sum_{k=0}^{m-1} \binom{n-1}{k} \left( (1 - x)\left(1 - \frac{a}{2}x\right) \right)^k \left( x \left(1 + \frac{a}{2}(1 - x)\right) \right)^{n-1-k}$$

 一例としてn=5、m=3の場合の計算可能な展開式を示すことはできますか?

$n=5$、$m=3$ の場合、$n-1=4$ 個のランダムな数字($X_1, X_2, X_3, X_4$)の中から、$x$ よりも大きくなる数字の個数 $k$ が $m-1=2$ 個以下(0個、1個、または2個) である確率を求めます。

計算式が非常に長くなるため、各確率を一時的な変数 $p_i$、$q_i$ として定義した上で展開式を示します。

1. 変数の定義

数式を見やすくするため、$i = 1, 2, 3, 4$ について以下のように定義します。

  • $x$ より大きくなる確率 $p_i$ :
    $$p_i = (1 - x)\left(1 - \frac{a_i}{2}x\right)$$
  • $x$ 以下になる確率 $q_i$ :
    $$q_i = x \left(1 + \frac{a_i}{2}(1 - x)\right)$$(※ $q_i = 1 - p_i$ です)

2. 確率 $g(x)$ の展開式

$g(x)$ は、$x$ より大きい数字が「ちょうど0個」「ちょうど1個」「ちょうど2個」となる確率の和($P(K=0) + P(K=1) + P(K=2)$)です。これを展開すると以下のようになります。

$$g(x) = q_1 q_2 q_3 q_4 +\\ (p_1 q_2 q_3 q_4 + q_1 p_2 q_3 q_4 +\\ q_1 q_2 p_3 q_4 + q_1 q_2 q_3 p_4) +\\ (p_1 p_2 q_3 q_4 + p_1 q_2 p_3 q_4 + p_1 q_2 q_3 p_4 + \\q_1 p_2 p_3 q_4 + q_1 p_2 q_3 p_4 + q_1 q_2 p_3 p_4)$$

項ごとに分解すると以下の意味になります:

  • $k=0$ (1項):
    $$q_1 q_2 q_3 q_4$$
  • $k=1$ (4項):
    $$p_1 q_2 q_3 q_4 + q_1 p_2 q_3 q_4 + q_1 q_2 p_3 q_4 + q_1 q_2 q_3 p_4$$
  • $k=2$ (6項):
    $$p_1 p_2 q_3 q_4 + p_1 q_2 p_3 q_4 + p_1 q_2 q_3 p_4 + q_1 p_2 p_3 q_4 + q_1 p_2 q_3 p_4 + q_1 q_2 p_3 p_4$$

3. 余事象を用いた計算(より簡単な展開)

プログラミングや手計算で実装する場合、「$x$ より大きい数字が3個または4個になる確率」を $1$ から引く(余事象を求める)方が、項数が少なくなり計算負荷が下がります。

$$g(x) = 1 - (P(K=3) + P(K=4))$$

このアプローチを用いた場合の展開式は以下の通りです(全5項)。

$$g(x) = 1 - (p_1 p_2 p_3 q_4 + p_1 p_2 q_3 p_4 + p_1 q_2 p_3 p_4 + q_1 p_2 p_3 p_4) - p_1 p_2 p_3 p_4$$

4. すべての $a_i$ が同じ値($a$)である場合

もし $a_1 = a_2 = a_3 = a_4 = a$ である場合、$p_i$ をすべて $p$、$q_i$ をすべて $q$ と置くことができるため、二項係数を用いて一気に簡略化されます。

$$g(x) = q^4 + 4pq^3 + 6p^2q^2$$

さらに $p = (1 - x)\left(1 - \frac{a}{2}x\right)$ および $q = 1 - p$ を代入して展開することで、最終的な $x$ のみの関数として計算することができます。

日記
シェアする
いしい@長文をフォローする

コメント

タイトルとURLをコピーしました