acpass

モデリング用語

ひとことで言うと

目的の分布から直接サンプリングできないとき、扱いやすい「提案分布」から点を出し、条件を満たす点だけを採択(残す)ことで目的の分布を得る乱数生成法です。逆関数法が使えない(累積分布の逆関数が求まらない)分布にも使えます。

目的密度f(x)と包絡線Mg(x)を重ね、その間に打った点のうちf(x)以下なら採択(緑)、f(x)とMg(x)の間なら棄却(赤)になる棄却法のイメージ包絡線Mg(x)の下に点を打ち、f(x)以下なら採択・上なら棄却Mg(x) 包絡線f(x)x

目的の密度 f(x)f(x) と包絡線 Mg(x)Mg(x)ff を常に覆う)を重ねた図。提案分布から出した点のうち、f(x)f(x) 以下に落ちた点(緑)は採択、f(x)f(x)Mg(x)Mg(x) の間に落ちた点(赤)は棄却される。

数式で表すと

Uf(x)/(Mg(x))採択U\le f(x)/(M g(x))\Rightarrow \text{採択}

提案分布から生成し条件を満たす点だけ採択して目的分布を得る乱数生成法。

棄却法(acceptance-rejection method)は、目的の密度 f(x)f(x) から直接サンプリングするのが難しいときに使う乱数生成法です。concept: 逆関数法は累積分布関数の逆関数 F1F^{-1} が解析的に求まる分布(指数・ロジスティックなど)には使えますが、F1F^{-1} が閉じた式で書けない分布には使えません。棄却法はそうした分布にも適用できる代替手段です。 やり方はこうです。まずサンプリングしやすい提案分布の密度 g(x)g(x) と定数 MM を、すべての xxf(x)Mg(x)f(x)\le M\,g(x) が成り立つように選びます(Mg(x)Mg(x)ff を上から覆う「包絡線」)。そのうえで (1)提案分布から1点 XgX\sim g をサンプルし、 (2)独立に一様乱数 UU(0,1)U\sim U(0,1) を引き、 (3)Uf(X)Mg(X)U\le\dfrac{f(X)}{M\,g(X)} なら XX を採択、そうでなければ棄却して(1)からやり直す、 という手続きを繰り返します。採択された XX は、ちょうど目的の密度 ff に従います。直感的には、包絡線 Mg(x)Mg(x) の下に一様に点をばらまき、f(x)f(x) より下に落ちた点だけを残すと、残った点の横位置の分布が ff になる、という仕組みです。 効率の鍵は定数 MM です。1回の試行で採択される確率はちょうど 1/M1/M になります(包絡線の下の全面積 MM のうち、ff の下の面積が 11 だから)。したがって MM が小さいほど採択率が高く、無駄なやり直しが減って効率が良くなります。MM を小さくするには、提案分布 gg を目的分布 ff になるべく近い形に選ぶのが要点です(ffgg が似ているほど包絡線が ff に張りつき MM を1に近づけられる)。逆に ggff とかけ離れていると MM が大きくなり、ほとんどの点が棄却されて非効率になります。

試験に出る性質

目的

直接サンプリングしにくい密度 ff から、提案分布 gg 経由で乱数を生成する。

逆関数法との違い

concept: 逆関数法は F1F^{-1} が求まる分布限定。棄却法は F1F^{-1} が求まらない分布にも使える。

包絡線の条件

すべての xxf(x)Mg(x)f(x)\le Mg(x) となる提案密度 gg と定数 MM を選ぶ。

採択ルール

XgX\sim gUU(0,1)U\sim U(0,1) を引き、Uf(X)/(Mg(X))U\le f(X)/(Mg(X)) なら採択、そうでなければ棄却してやり直す。

効率は1/M

1試行の採択確率は 1/M1/MMM が小さい(ggff に近い)ほど効率が良い。

例で見る

ff を区間 (0,1)(0,1) 上のある山型密度、提案分布 gg を一様分布 U(0,1)U(0,1) とし、f(x)Mf(x)\le M となる M=1.5M=1.5 をとる。手続きは XU(0,1)X\sim U(0,1)UU(0,1)U\sim U(0,1) を引き、Uf(X)/1.5U\le f(X)/1.5 なら採択。 採択率は 1/M=1/1.50.671/M=1/1.5\approx0.67。平均して約1.5回に1回が採択される。

つまずきポイント

  • 包絡線条件 f(x)Mg(x)f(x)\le Mg(x) がすべての xx で成り立つように MM を選ばない(一箇所でも破れると正しい分布にならない)
  • 採択率を MM そのものと思う(採択率は 1/M1/MMM が大きいほど棄却が増えて非効率)
  • 棄却した点を“次の候補”として使い回す(棄却したら必ず最初から新しい X,UX,U を引き直す)

定着クイズ

棄却法で提案分布の密度 gg と定数 MM に課す条件は?

棄却法の採択ルールは?

1回の試行で採択される確率は?

この用語を扱う問題(3