No.04312 正規乱数発生法  【たなか】 2007/09/05(Wed) 00:57

ボックスミュラー,中心極限定理による生成方法は存じていますが,逆関数法が分かりません。どなたかご存知ありませんか(参考となるプログラムが載っているURLなど)

過去ログの1999/11/08 (月) 10:21の262に1999/11/06 (土) 03:20の250にあるURL(http://www.nuis.ac.jp/~mat/fpr/)に載っているという記述があるのですがこのサイトから探せませんでした。(かなりのログがありますし…)

よろしくお願いします。

No.04313 Re: 正規乱数発生法  【ひの】 2007/09/05(Wed) 02:14

たとえばEXCELなら,
=NORMSINV(rand())
で求まります。平均値と分散(標準偏差)を指定して求めたいならNORMSINV()の代わりにNORMINV()を使います。

逆関数の計算は重いですから,高速性が要求されるプログラムならボックスミュラー法(三角関数を使わないようにして高速化された改良法があるはずです)を使うほうがよいでしょう。

No.04316 Re: 正規乱数発生法  【青木繁伸】 2007/09/05(Wed) 14:29

1999/11/06 (土) 03:20の250(書庫003)のURLというのは,以下を指していました。
http://aoki2.si.gunma-u.ac.jp/Hanasi/Algo/pxg.html
しかし,その内容は,標準正規分布のパーセント点を求めるアルゴリズム(プログラム)ですよ。なぜなら,そのスレッドは「正規分布の逆関数」に付いてのものですから,逆関数法で正規乱数を発生するものではありません。
あなたの目的(?)のawkプログラムは
http://aoki2.si.gunma-u.ac.jp/Hanasi/Algo/n_rand2.html
に,掲示してありますが,それがやっているのは,ひのさんが4313で示したとおりです。

● 「統計学関連なんでもあり」の過去ログ--- 040 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る