MS-Exelで正規乱数を生成する関数としてNORMINV(一様乱数、μ、σ)があります。

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

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2007/07/03 13:46:50
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Mook No.2

回答回数1314ベストアンサー獲得回数393

ポイント95pt

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


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


ご質問が

NORMINV(RAND(), 0.0, 1.0 )

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


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


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

id:kazuasa77

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

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

2007/07/03 13:45:21

その他の回答2件)

id:Mook No.1

回答回数1314ベストアンサー獲得回数393

ポイント5pt

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


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

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

id:kazuasa77

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

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

2007/07/02 18:15:01
id:Mook No.2

回答回数1314ベストアンサー獲得回数393ここでベストアンサー

ポイント95pt

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


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


ご質問が

NORMINV(RAND(), 0.0, 1.0 )

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


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


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

id:kazuasa77

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

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

2007/07/03 13:45:21
id:Z9M9Z No.3

回答回数343ベストアンサー獲得回数11

ポイント40pt

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

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

id:kazuasa77

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

2007/07/03 13:45:21

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません