乱数
乱数とは
- でたらめ=出現がほぼ同割合+非規則 一様乱数→一様分布
乱数の作り方
※作り出す過程では次に出てくる数字がわかる →疑似乱数
疑似乱数の備えるべき条件
基本的な疑似乱数発生法
- 平均採中法(J.L. von Newmannが提案)
- アルゴリズムで乱数を発生させる→コンピューターで実現しやすい
平均採中法
平均採中法の特徴
- 短所
- 乱数列が0になってしまう可能性がある.※一度乱数になるとその後は0が続く
- 乱数列の周期が不明確
混合合同法
例:初期値15,a=23,b=12,L=100の時
混合合同法の特徴
- 欠点
- 係数の与え方がまずいと,規則的な数字が現れる.
- 初期乱数が小さいと不規則性がなくなる.
- 対処法
- aは素数または5の奇数乗を選ぶ
- Lは10の乗数にする
- 初期乱数は大きな数を選ぶ.
練習1
- 混合合同法で乱数を発生させよ.
- 初期乱数(種) 12,a=13,b=47,L=100
- とりあえず5回くらい繰り返してみよう.
コンピュータによる乱数発生
- 乱数発生の原理を知らなくともソフトに乱数発生の関数が付随していることが多い.
- 例:表計算ソフトExcelでは 乱数発生ツールがついている.関数では RAND().
- 注意:組込みの乱数発生装置は信頼性が低いといわれる.→重要度の高い仕事では自ら作成するか別に乱数発生ソフトを買うべき
乱数の検定
- アルゴリズムによる乱数は疑似乱数→「乱数」とみなせるかどうかの検討が必要
- 等確率性の検証:度数検定
- 不規則性の検証:間隔検定,ポーカー検定 (χ二乗検定がベース)
様々な分布関数
- ある現象をシミュレートする時に一様分布だけでは説明できない→様々な分布を再現する乱数が必要
- 任意の区間の一様乱数
- 正規分布
- 指数分布
- ポアソン分布 等々
- 様々な分布に従う乱数は一様乱数から作ることができる.
区間[a,b)の一様乱数の発生法
- が[0,1)の一様乱数の時,で生成されたxは区間[a,b)の一様分布に従う乱数である.
練習2
- 乱数表を用いて小数点以下2桁の[0,1)一様乱数を生成せよ.
- 上記で作成した一様乱数から区間[25,75)の一様分布に従う乱数を生成せよ.
練習2(作業表)
表計算ソフトでの乱数発生
正規分布
- 標準正規分布に従う乱数xから平均μ,標準偏差σの正規分布に従う乱数zへの変換式: z=μ+σx
標準正規分布の乱数発生法
- ボックスミューラ法[0,1)の一様乱数x,yに対してで得られたu,wは標準正規分布に従う乱数となる.※e=2.7182818… (ネイピアの定数)
練習3
一様乱数から,平均100,標準偏差10である正規分布に従う乱数を生成せよ.
表計算ソフトでの乱数発生
指数分布とポアソン分布
- 指数分布:ごくまれにしか起きない現象の時間間隔を示す
- 例:ある小売店にくる客
- 客と客の到着時間の間隔の分布:指数分布
- 10分間にくる客の数:ポアソン分布
指数分布に従う乱数の生成方法
ポアソン分布に従う乱数生成
- 一様乱数を次々に発生させる.(u1,u2,u3,…を発生させた一様乱数とする) と初めてなった時のkを求める.
- このkは平均到着時間間隔1/λとなるポアソン分布に従う乱数となる.
プログラムの中身
プログラムの中身