24
連続型擬似乱数の生成と変換 樋口さぶろお 龍谷大学理工学部数理情報学科 計算科学☆実習 B L08(2017-06-12 Mon) 最終更新: Time-stamp: ”2017-06-12 Mon 18:06 JST hig” 今日の目標 (区分的) 一様分布にしたがう連続型確率変数に 対応する擬似乱数が生成できる 変換 y = g(x) のもとでの確率密度関数の変化 を計算できる http://hig3.net 樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 1 / 24

連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換

樋口さぶろお

龍谷大学理工学部数理情報学科

計算科学☆実習 B L08(2017-06-12 Mon)最終更新: Time-stamp: ”2017-06-12 Mon 18:06 JST hig”

今日の目標

(区分的)一様分布にしたがう連続型確率変数に対応する擬似乱数が生成できる変換 y = g(x) のもとでの確率密度関数の変化を計算できる

http://hig3.net

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 1 / 24

Page 2: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

ランダムウォークの境界条件・偏微分方程式の数値計算

アニメ http://www.a.math.ryukoku.ac.jp/~hig/course/compsci2_

2013/img/pde-diff.gif

壁に対応する行列の話では, x = 0, 1, 2, 3, 4, 5 のマス目の図から行列を作る説明したけど, マス目じゃなくて推移図 (状態の ◦ が x = 0, 1, 2, 3, 4, 5で, その間をつなぐ矢印がある)があって, それを転置推移行列に直すっていう, 先週の問題の形で言ったほうがよかったかな.反射壁 x = 0, 5 は説明の一貫性から残してるけど無駄. 実質的には状態空間 S = {1, 2, 3, 4}. 1 0 0 0 0 0

0 h h 0 0 00 h 0 h 0 00 0 h 0 h 00 0 0 h h 00 0 0 0 0 1

世の中で正しい答としては, 反射壁を表現するM は他にも作れるけど,授業で説明したのはこれ.L07-Q1Quiz解答:離散的なランダムウォークの確率の転置推移確率行列

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 2 / 24

Page 3: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

ランダムウォークの境界条件・偏微分方程式の数値計算

1 1 1

7 0 0 00 4

717 0 0

0 27

47

17 0

0 0 27

47 0

0 0 0 27 1

2 略

L07-Q2L07-Q3Quiz解答:偏微分方程式の条件チェック u(x, t) = e−18t sin(3x).L08-Q4L08-Q5Quiz解答:大きな転置推移確率行列をかける関数

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 3 / 24

Page 4: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

ランダムウォークの境界条件・偏微分方程式の数値計算

ソースコード 1: 大きな転置推移確率行列をかける関数1 i n t mu l t i p l y t r a n s ( double q [ ] , double p [ ] , i n t m){2 i n t x ;3 q [0]= 7.0/10∗ p [0 ]+2.0/10∗ p [ 0+1 ] ;4 f o r ( x=1;x<m−1; x++){5 q [ x ]=3.0/10∗p [ x−1]+5.0/10∗p [ x ]+2.0/10∗p [ x ] ;6 }7 q [m−1]=3.0/10∗p [m−2]+8.0/10∗p [m−1] ;8 r e t u r n 0 ;9 }

q の成分ごとに代入していくわけだから, M の行に規則性があるかどうか考える x = 1, · · · ,m− 2 は規則的なので, for loop で自然に書ける.x = 0,m− 1 は規則から外れているので, その行の成分を見て, そのまま書けばいい.for(x=0;x<m,x++) みたいに書いていると, 範囲の端で, 代入文の右辺にp[-1] や p[m]がでてきておかしいことに気づく.

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 4 / 24

Page 5: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 一様乱数の生成

ここまで来たよ

7 ランダムウォークの境界条件・偏微分方程式の数値計算

8 連続型擬似乱数の生成と変換一様乱数の生成確率変数の変数変換

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 5 / 24

Page 6: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 一様乱数の生成

(復習)離散型と連続型の確率変数

離散型:確率分布, 確率関数 塚田確率統計 §3.2 連続型:確率密度関数 塚田確率統計 §3.3

f(r)得点 r 確率 f(r)

0 0.06671 0.22 0.33333 0.34 0.1

f(r)

-3

-2

-1

12

3x

0.2

0.4

0.6

0.8

1.0

p

確率密度関数

f(r) が大きいほど, その値 r が

でやすい

0 ≤ f(r).f(r)は 1 を超えることもある.

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 6 / 24

Page 7: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 一様乱数の生成

連続型確率変数の母期待値 (復習)

母期待値の定義 塚田確率統計 §3.2, §3.3

離散型確率変数 E[ϕ(X)] =∑x

f(x) · ϕ(x). f(x):確率関数, 確率分布

連続型確率変数 E[ϕ(X)] =

∫ +∞

−∞f(x) · ϕ(x) dx. f(x):確率密度関数

母比率 (の一種) P (x0 ≤ X ≤ x1) = E[1[x0≤X≤x1](X)] =

∫ x1

x0

f(x) dx.

全事象の確率 1 = E[1] =

∫ +∞

−∞f(x) dx.

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 7 / 24

Page 8: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 一様乱数の生成

連続型確率変数に対応する擬似乱数

例 一様分布U(a, b) 塚田確率統計 §4.6

Y ∼ U(0, 1)の確率密度関数

f(y) =

{1 (0 ≤ y < 1)

0 (それ以外)

に対応する擬似乱数 ([0, 1)一様乱数)は?以後しばらく, Y と書いたら Y ∼U(0, 1).

0.5 1.0 1.5 2.0y

0.5

1.0

1.5

2.0

p

答:

double getuniform()

そのもの 計算科学☆実習 B(2017)L01

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 8 / 24

Page 9: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 一様乱数の生成

[0, 2) 一様乱数を作るには?

R ∼ U(a, b) の確率密度関数 fR(r) が与えられたとき, r = g(y) でそれにしたがう乱数を作ろう.

f(r) =

{? (0 ≤ r < 2)

0 (それ以外)

1 double getrandom ( double y ){2 double r ;3 r =??? ;4 re tu rn r ;5 }6 r=getrandom ( ge tun i f o rm ( ) ) ;

1

2

3

4

5

r

1 2 3 4 5p

y r

0.31 0.620.82 1.640.49 0.980.04 0.080.60 1.20

r = g(y) = ???

考え方 1: グラフ拡大縮小

fY(y) =

{1 (0 ≤ y < 1)

0 (他)

考え方 2: 母平均値や両端ををあわせる 塚田確率統計 p.63

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 9 / 24

Page 10: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 一様乱数の生成

離散型乱数の復習

今までは, Y を int getrandom(double y) で, 離散的な擬似乱数Rに‘変換’していた.R 確率0 1/21 1/62 1/3

1 i n t getrandom ( double y ){2 i n t r ;3 i f ( y<3/6.0){4 r =0;5 } e l s e i f ( y<(3+1)/6.0){6 r =1;7 } e l s e {8 r =2;9 }

10 r e t u r n r ;11 }

0.5 1.0 1.5 2.0y

1

2

r y r

0.31 00.82 20.49 00.04 00.60 1

g(y) =

0 (0 ≤ y < 1/2)

1 (1/2 ≤ y < 2/3)

2 (2/3 ≤ y < 1)

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 10 / 24

Page 11: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 一様乱数の生成

[3, 4) 一様乱数を作るには?

f(r) =

{? (3 ≤ r < 4)

0 (それ以外)

1 double getrandom ( double y ){2 double r ;3 r =??? ;4 re tu rn r ;5 }6 r=getrandom ( ge tun i f o rm ( ) ) ;

1

2

3

4

5

r

1 2 3 4 5p

y r

0.31 3.310.82 3.820.49 3.490.04 3.040.60 3.60

r = g(y) = ??? .

考え方 1: グラフ平行移動

fY(y) =

{1 (0 ≤ y < 1)

0 (他)

考え方 2: 母平均値や両端ををあわせる樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 11 / 24

Page 12: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 一様乱数の生成

[2, 5) 一様乱数を作るには?

f(r) =

{13 (2 ≤ r < 5)

0 (それ以外)1

2

3

4

5

r

1 2 3 4 5p

r = g(y) =???

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 12 / 24

Page 13: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 一様乱数の生成

[1, 2) ∪ [3, 5) 一様乱数を作るには?

f(r) =

13 (1 ≤ r < 2)13 (3 ≤ r < 5)

0 (それ以外) 1

2

3

4

5

r

1 2 3 4 5p

r = g(y) =???

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 13 / 24

Page 14: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 一様乱数の生成

g(y) の設計方法の解釈

1 2 3 4 5y

1

2

r

1 2 3 4 5y

1

2

r

1 2 3 4 5y

1

2

3

4

5

r

1 2 3 4 5y

1

2

3

4

5

r

1 2 3 4 5y

1

2

3

4

5

r

自分の言葉でどうぞ

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 14 / 24

Page 15: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 確率変数の変数変換

ここまで来たよ

7 ランダムウォークの境界条件・偏微分方程式の数値計算

8 連続型擬似乱数の生成と変換一様乱数の生成確率変数の変数変換

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 15 / 24

Page 16: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 確率変数の変数変換

確率変数の変数変換

逆の問. g(q), fQ(q) が与えられたとき, r = g(q) の fR(r) を求めよう.L08-Q1

Quiz(確率変数の変換)

あるクッキーマシンの作る正方形のクッキーの面積 (生地の量)Qは, 次の確率密度関数にしたがう (単位省略).

fQ(q) =

{136 (64 ≤ q < 100)

0 (他)

クッキーの一辺の長さは R = g(Q) =√Q で与えられる (単位省略).

1 Q の母平均値と母分散を求めよう.2 確率 P (Q > 82) を求めよう.3 fR(r) を求めよう.4 R の母平均値と母分散を求めよう (2つの方法で).5 確率 P (R > 9) を求めよう (2つの方法で).

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 16 / 24

Page 17: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 確率変数の変数変換

Qの乱数生成は簡単.

1 double getrandom ( double y ){2 double r , q ;3 r=a∗y+b ; /∗ [ 6 4 , 100 ) 一様乱数 ∗/4 q=s q r t ( r ) ;5 re tu rn q ;6 }7 q=getrandom ( ge tun i f o rm ( ) ) ;

標本q r =

√q

81 9.0096 9.80...

...64 8.00

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 17 / 24

Page 18: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 確率変数の変数変換

Rの確率密度関数 fR(r)は? I

原理

P (g(a) ≤ R < g(b)) =P (a ≤ Q < b)∫ g(b)

g(a)fR(r) dr =

∫ b

afQ(q) dq

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 18 / 24

Page 19: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 確率変数の変数変換

確率密度関数の変換の原理+おぼえ方r = g(q) を単調増加な関数とするとき,

f(r) drは変数変換しても不変:

fR(r) dr = fQ(q) dq

fR(r) =1

drdq (q)

fQ(q)

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 19 / 24

Page 20: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 確率変数の変数変換

L08-Q2

Quiz(確率変数の変換)

[0, 1) 一様分布に従う連続型確率変数 Q と, R = g(Q) = aQ+ b で定まる連続型確率変数 R を考える. ただし, a > 0, b は定数である.

1 確率 P (R < 12a+ b) を求めよう.

2 R の確率密度関数 fR(r) を求めよう.

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 20 / 24

Page 21: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 確率変数の変数変換

答:R = g(Q) =√Q I

確率密度関数

fQ(q) =

{136 (64 ≤ q < 100)

0 (他)

R = g(Q) =√Q

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 21 / 24

Page 22: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 確率変数の変数変換

1 2 3 4 5y

1

2

3

4

5

r

1y

1

2

s

1y

1

2

s

gの傾き大⇕fR(r) 小.

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 22 / 24

Page 23: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 確率変数の変数変換

L08-Q3

Quiz(確率変数の変換)

[0, 1) 一様分布に従う連続型確率変数 Y と, R = g(Y ) = eY で定まる連続型確率変数 R を考える.

1 E[R2] を求めよう.2 R < 2 となる確率を求めよう.3 R の確率密度関数 fR(r) を求めよう.

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 23 / 24

Page 24: 連続型擬似乱数の生成と変換 - 学習サポート hig3.nethig/course/compscib_2017/w08.pdf0 0:0667 1 0:2 2 0:3333 3 0:3 4 0:1 f(r)-3-2-1 1 2 3 x 0.2 0.4 0.6 0.8 1.0 p 確率密度関数

連続型擬似乱数の生成と変換 確率変数の変数変換

初夏のプチテスト (プログラミング)やります!

2017-06-21水 3 初夏のプチテスト (プログラミング)15ピーナッツ. (旧カリキュラムの人は演習の 30ピーナッツ/100)実施方法 春のプチテストと同じ非参照非相談プログラミングのテストだけど 90分フルに使います チームでなく個人戦です 別紙参照出題計画 別紙参照

介護等体験などのやむを得ない欠席の方: 事後に樋口指定の紙と証明書で届を出してくれれば, 科目の成績計算の分子分母から除きます.お知らせ

チューター/Mathラウンジ 月火水木昼 1-614, 1-612.樋口オフィスアワー 月 6, 金 4.5.

樋口さぶろお (数理情報学科) L08 連続型擬似乱数の生成と変換 計算科学☆実習 B(2017) 24 / 24