acpass

ボックスミュラー

知識マップ

モデリング公式

ひとことで言うと

正規分布は累積分布の逆関数が閉じた式で書けないため逆関数法が直接使えませんが、ボックス=ミュラー法を使えば、一様乱数2個から独立な標準正規2個を“近似ではなく厳密に”同時に作れます。極座標(半径と角度)の発想がポイントです。

一様乱数2個から半径R=√(-2 ln U1)と角Θ=2πU2を作り、極座標から直交座標へ変換すると独立な標準正規2個(Z1,Z2)が得られ、平面上に円形(ガウス状)に散らばる様子半径R=√(−2 ln U₁)・角Θ=2πU₂ →(Z₁,Z₂)は独立な標準正規R=√(−2 ln U₁)Θ=2π U₂Z₁=R cosΘZ₂=R sinΘZ₁Z₂R

一様乱数 U1,U2U_1,U_2 から半径 R=2lnU1R=\sqrt{-2\ln U_1}・角度 Θ=2πU2\Theta=2\pi U_2 を作り、極座標から直交座標へ変換すると独立な標準正規 Z1,Z2Z_1,Z_2 が得られる。(Z1,Z2)(Z_1,Z_2) 平面では点が円対称(ガウス状)に散らばる。

数式で表すと

Z1=2lnU1cos(2πU2)Z_1=\sqrt{-2\ln U_1}\cos(2\pi U_2)

一様乱数2個から独立な標準正規2個を厳密生成する方法。

ボックス=ミュラー法は、独立な一様乱数2個 U1,U2U(0,1)U_1,U_2\sim U(0,1) から、独立な標準正規 Z1,Z2N(0,1)Z_1,Z_2\sim N(0,1) を2個同時に生成する方法です。正規分布は累積分布関数の逆関数が初等関数で書けないため concept: 逆関数法が直接使えませんが、この方法はその壁を回避します。変換式は Z1=2lnU1cos(2πU2),Z2=2lnU1sin(2πU2)Z_1=\sqrt{-2\ln U_1}\,\cos(2\pi U_2),\qquad Z_2=\sqrt{-2\ln U_1}\,\sin(2\pi U_2) です。 発想の鍵は極座標です。2次元の標準正規 (Z1,Z2)(Z_1,Z_2) を半径 R=Z12+Z22R=\sqrt{Z_1^2+Z_2^2} と角度 Θ\Theta で表すと、角度 Θ\Theta(0,2π)(0,2\pi) 上の一様分布、半径の2乗 R2=Z12+Z22R^2=Z_1^2+Z_2^2 は平均2の指数分布(=自由度2のχ²分布)に従う、という性質があります。そこで逆に、一様乱数からこの RRΘ\Theta を作ってやればよい、というのがアイデアです。Θ=2πU2\Theta=2\pi U_2 で角度の一様分布を作り、R2=2lnU1R^2=-2\ln U_1(指数分布は逆関数法で一様乱数から作れる)で半径を作り、Z1=RcosΘ, Z2=RsinΘZ_1=R\cos\Theta,\ Z_2=R\sin\Theta と直交座標に戻すと、ちょうど独立な標準正規2個になります。図の (Z1,Z2)(Z_1,Z_2) 平面で点が円対称に散らばるのは、角度が一様で半径が原点中心に分布するためです。 重要なのは、これが“近似”ではなく“厳密”な乱数生成だという点です。concept: 正規近似(二項やポアソンを正規で近似する話)と混同しがちですが、両者はまったく別物です。正規近似は「扱いにくい分布を正規分布で“だいたい同じ”とみなす」近似手法であるのに対し、ボックス=ミュラー法は「真の標準正規分布に厳密に従う乱数を作る」生成手法です。近似誤差は一切なく、変換の正確さは確率変数の変数変換(ヤコビアン)で証明できます(証明の詳細には深入りしませんが、R2R^2 が指数分布・Θ\Theta が一様分布になることが核心です)。モンテカルロ法(concept: モンテカルロ)で正規乱数が必要なときの定番手法です。

試験に出る性質

目的

一様乱数2個 U1,U2U_1,U_2 から独立な標準正規2個 Z1,Z2Z_1,Z_2 を同時生成する。

変換式

Z1=2lnU1cos(2πU2)Z_1=\sqrt{-2\ln U_1}\cos(2\pi U_2)Z2=2lnU1sin(2πU2)Z_2=\sqrt{-2\ln U_1}\sin(2\pi U_2)

極座標の発想

半径 R2=2lnU1R^2=-2\ln U_1(指数分布=χ²(2))、角度 Θ=2πU2\Theta=2\pi U_2(一様)。これを直交座標に戻す。

逆関数法が使えない理由

正規分布は累積分布の逆関数が閉じた式で書けない。ボックス=ミュラーはそれを回避する。

近似ではなく厳密

concept: 正規近似(分布の近似)とは別物。誤差なく真の標準正規に従う乱数を生成する。

例で見る

U1=0.5, U2=0.25U_1=0.5,\ U_2=0.25 のとき、R=2ln0.5=1.3861.177R=\sqrt{-2\ln 0.5}=\sqrt{1.386}\approx1.177Θ=2π×0.25=π/2\Theta=2\pi\times0.25=\pi/2Z1=1.177cos(π/2)=0Z_1=1.177\cos(\pi/2)=0Z2=1.177sin(π/2)1.177Z_2=1.177\sin(\pi/2)\approx1.177。 1組の一様乱数から、独立な標準正規が2個(Z1,Z2Z_1,Z_2)得られる。

つまずきポイント

  • 正規近似(分布の近似手法)と混同する(ボックス=ミュラーは誤差のない“厳密な”乱数生成)
  • 2lnU1-2\ln U_1 の対数の符号・係数を間違える(R=2lnU1R=\sqrt{-2\ln U_1}。中身が負にならないよう U1(0,1)U_1\in(0,1)
  • 角度を 2πU22\pi U_2 ではなく πU2\pi U_2 などにする(全方位をカバーするには Θ(0,2π)\Theta\in(0,2\pi) が必要)

定着クイズ

ボックス=ミュラー法が生成するのは?

変換 Z1=2lnU1cos(2πU2)Z_1=\sqrt{-2\ln U_1}\cos(2\pi U_2) で半径 R2=2lnU1R^2=-2\ln U_1 が従う分布は?

ボックス=ミュラー法と正規近似の違いは?

この用語を扱う問題(3