.
... 逆変換法による乱数生成(2)
樋口さぶろお
龍谷大学理工学部数理情報学科
計算科学☆演習II L11(2013-06-26 Wed)
今日の目標 .
1.. 指定されたp2(q) に従うQ を,適切なg(y)を 見つけて [0,1)一様分布のY から,q=g(y) で 作れる.
逆変換法 Quiz解説
ここまで来たよ
1... 逆変換法
Quiz解説
2... 逆変換法による乱数生成(2) 復習:getrandom との関係 累積分布関数
樋口さぶろお (数理情報学科) L11逆変換法による乱数生成(2) 計算科学☆演習II(2013) 2 / 19
逆変換法 Quiz解説
Quiz解答:確率密度関数の変換 .
..
1 p2(q)dq =p1(r)dr より,求める確率は,
∫ 1.0
0.3
p2(q)dq =
∫ g−1(1.0)
g−1(0.3)
p1(r) dr=
∫ 0.25
0.09
1 dr= 0.16.
. ..
2 p2(q)dq =p1(r)dr より, p2(q) = 1
dg
dr(r)p1(r) = 1 r−1/2 ×
{
1 (0≤r <1) 0 (他)
=1 2q×
{
1 (0≤q <2) 0 (他)
逆変換法 Quiz解説
Quiz解答:確率変数の変換 .
..
1 p1(r) =
{1 (0≤r <1)
0 (他) なので,
∫ ∞
2
p2(q) dq =
∫ ∞
log 2
p1(r) dr =
∫ 1
log 2
1 dr+
∫ ∞
1
0 dr = 1−log 2.
. ..
2
p2(q) = 1
dg
dr(r)p1(r) = e−r×p1(r) = 1 q ×
{
1 (1≤q <e) 0 (他)
この p2(q)を使うと,確率は
∫ e 2
dq
q = [log|q|]e2 からも求まる.
樋口さぶろお (数理情報学科) L11逆変換法による乱数生成(2) 計算科学☆演習II(2013) 4 / 19
逆変換法 Quiz解説
.Quiz(逆変換法) ..
...
確率密度関数
p(r) =
3 (0≤r <1/4) 1 (1/2≤r <3/4) 0 (他)
に従う乱数 R を,[0,1)一様乱数 Y から作りたい. getrandomに出てく る g(y) のグラフは次のうちどんな形?
Quiz解答:逆変換法
g(y) = {1
3y (0≤y < 34)
1
1(y−1) +34 (34 ≤y <1)
逆変換法による乱数生成(2) 復習:getrandomとの関係
ここまで来たよ
1... 逆変換法 Quiz解説
2... 逆変換法による乱数生成(2)
復習:getrandom との関係
累積分布関数
樋口さぶろお (数理情報学科) L11逆変換法による乱数生成(2) 計算科学☆演習II(2013) 6 / 19
逆変換法による乱数生成(2) 復習:getrandomとの関係
種明かし
getrandom で[0,1)一様乱数y から別の乱数q を生成するのは,実はこ
れ利用してた.
うまい p2(q)になるように,q=g(y) 定めてた.
p1(y) = {
1 (0≤y <1) 0 (他)
q =g(y) =Ay+B.
p2(q) = {
1/A (B≤q < A+B) 0 (他)
逆変換法による乱数生成(2) 復習:getrandomとの関係
逆変換法 p2 から g を求めよう!
確率密度関数 p2(q) に従う確率変数Qが,[0,1)一様分布p1(y)に従う確 率変数 Y から,q =g(y) で作れるとする. g(y)はどんな関数?
p2(q) dq=p1(y) dy p2(q) = 1
dg
dy(y) ×p1(y) p2(q) =dg−1
dq (q)×1 (0≤y <1) 両辺 q で積分. g(y) の逆関数をg−1(q) とすると
∫ q
−∞p2(q1)dq1=g−1(q) +C
qmin= (p2(q)>0なqの下限) とすると,積分定数C は,g(0) =qmin, g−1(qmin) = 0 で決まる.
樋口さぶろお (数理情報学科) L11逆変換法による乱数生成(2) 計算科学☆演習II(2013) 8 / 19
逆変換法による乱数生成(2) 累積分布関数
ここまで来たよ
1... 逆変換法 Quiz解説
2... 逆変換法による乱数生成(2) 復習:getrandom との関係 累積分布関数
逆変換法による乱数生成(2) 累積分布関数
確率密度関数と累積分布関数 要するに,
累積分布関数
F(q) =
∫ q
−∞p2(q1) dq1 を計算すると, その逆関数が,求めたいg(y)になってる!
F(q) の意味
確率変数 Q が −∞ < Q < q である確率
樋口さぶろお (数理情報学科) L11逆変換法による乱数生成(2) 計算科学☆演習II(2013) 10 / 19
逆変換法による乱数生成(2) 累積分布関数
.Quiz(累積分布関数) ..
...
確率密度関数 p(q) を積分した累積分布関数F(q) =∫q
−∞p(q1) dq1 につ いて,正しくないのはどれ?
. ..
1 F(q) は連続である .
2.. F(q) は非減少(=広義単調増加)関数である .
..
3 F(q) の定義域は[0,1)である. .
..
4 F(q) の値域は[0,1]である.
.
5.. F(q) は停留点を持つことがある. .
..
6 F(q) は変曲点を持つことがある.
逆変換法による乱数生成(2) 累積分布関数
増減表
q −∞ qmin +∞
p2(q) =F′(q) →0 0 ≥0 →0 F(q)
→ 0 0 ↗ → 1
樋口さぶろお (数理情報学科) L11逆変換法による乱数生成(2) 計算科学☆演習II(2013) 12 / 19
逆変換法による乱数生成(2) 累積分布関数
ちょっと記号の変更,q→r,p2(q)→p(r).
.逆変換法
..
...
p(r)に従う乱数を,r =g(y) で[0,1)一様乱数yから作るには,g(y)を次 の様に決めればいい.
. ..
1 R の累積分布関数 F(r) =
∫ r
−∞p(r1) dr1 を計算する. .
..
2 y=F(r)を解いて,逆関数 r=F−1(y) =g(y) を求める.
逆変換法による乱数生成(2) 累積分布関数
理由の説明その2
y 0 確率 g−1(r) g−1(r) · · ·
↓g ↑g−1 r rmin
∫ r
−∞p2(r1) dr1 r · · ·
樋口さぶろお (数理情報学科) L11逆変換法による乱数生成(2) 計算科学☆演習II(2013) 14 / 19
逆変換法による乱数生成(2) 累積分布関数
.Quiz(逆変換法) ..
...
確率密度関数
p(r) = {1
2r (0≤r <2) 0 (他)
に従う乱数 R を,[0,1)一様乱数 y から r=g(y) で作りたい. g(y) を求 めよう.
逆変換法による乱数生成(2) 累積分布関数
樋口さぶろお (数理情報学科) L11逆変換法による乱数生成(2) 計算科学☆演習II(2013) 16 / 19
逆変換法による乱数生成(2) 累積分布関数
.Quiz(逆変換法) ..
...
確率密度関数
p(r) = {3√
2 8
√r (0≤r <2)
0 (他)
に従う乱数 R を,[0,1)一様乱数 y から r=g(y) で作りたい. g(y) を求 めよう.
逆変換法による乱数生成(2) 累積分布関数
.Quiz(逆変換法) ..
...
確率密度関数
p(r) =
3 (0≤r < 14)
1
8 (2≤r <4) 0 (他)
に従う乱数 R を,[0,1)一様乱数 y から r=g(y) で作りたい. .
..
1 累積分布関数 F(r) を求めよう. .
..
2 (F が単調な各区間で)逆関数F−1(y) とその定義域を求めよう. .
3.. g(y) を求めよう.
樋口さぶろお (数理情報学科) L11逆変換法による乱数生成(2) 計算科学☆演習II(2013) 18 / 19
逆変換法による乱数生成(2) 累積分布関数
予習復習問題これからは毎週
金11:05締切の予習復習問題は RaMMoodle
http://el.math.ryukoku.ac.jp/moodle→計算科学II(講義) で やってね.
水13:35締切の予習復習問題は RaMMoodle
http://el.math.ryukoku.ac.jp/moodle→計算科学演習IIで やってね.
RaMMoodle にはスマートフォンからもアクセスできます.
http://hig3.net> Links>RaMMoodle.
自宅で演習の課題をやろうVisual Studioには Express Editionという‘無 料版’があります. 数理情報学科の学生はDreamSpark 経由で Visual
Studio 製品を自宅で使えます.
https://www.a.math.ryukoku.ac.jp/dreamspark/
演習の休講/補講計画