人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MS-Exelで正規乱数を生成する関数としてNORMINV(一様乱数、μ、σ)があります。
この関数はどのようなアルゴリズムを採用しているのでしょうか?
正規乱数の生成には一般にボックス?マーラー法(極座標法)を用いることが多いようですが、MS-Exelもこれを採用しているのでしょうか。なければどのようなアルゴリズムかをご教示ください。

●質問者: sirusleagal
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:MS アルゴリズム ボックス マーラー 乱数
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● Mook
●5ポイント

私の勘違いでなければ、 NORMINV は与えられた標準偏差(σ)と平均値(μ)の正規分布から与えられた確率(第一引数)となる値を取得する関数で、内部で乱数を使用してはいないと思います(NORMDIST の逆関数ですね)。


御質問が、EXCEL の乱数発生に関するアルゴリズムであるとしたら、過去の質問が参考にならないでしょうか。

http://q.hatena.ne.jp/1163506029

◎質問者からの返答

NORMINVの機能はご指摘のとおりですが、NORMINVの一つ目の引数に一様乱数を入れることで正規乱数の生成が可能です。

内部で一様乱数を処理して正規乱数を生成しているわけで、そこに一定の手順(アルゴリズム)が存在しており、問題はそれが何であるかを問うております。


2 ● Mook
●95ポイント ベストアンサー

ご質問の意図は、少し判った気もしますが、今回のご質問にNORMINV は直接関係ないかと思います。


これがもし、NORMINV に対する引数によってこの関数自身が内部で乱数を発生するような機能があるのでしたらご質問文は正しく、まったくの私の見識不足ですので、ポイントはお返しいたします。


ご質問が

NORMINV(RAND(), 0.0, 1.0 )

のような使用法をおっしゃっているなら、それは単純に RAND 関数の仕様に関するご質問だと思います。


乱数のアルゴリズムを自作されたい場合は VBA を利用することで容易に実現できますが、RAND のアルゴリズムに関しては先に提示した Microsoft の URL にあるように EXCEL では線形合同法を利用しているようです。


補足や回答の不備のご指摘がある場合、コメントを有効にしていただければそちらで回答いたします。

◎質問者からの返答

私の認識が中途半端で不明確な質問にもかかわらず、ご丁寧な回答感謝します。

Excelの一様乱数アルゴリズムが線形合同法であるというのは貴重な情報です。ありがとうございました。


3 ● Z9M9Z
●40ポイント

一般に、ある確率分布関数の逆関数に対して、一様乱数を入力させますと、その確率分布関数に従う乱数が出力されることが知られています。

http://cse.naro.affrc.go.jp/takezawa/r-tips/r/60.html

◎質問者からの返答

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ