Excelと乱数
質問から2つ.
- エクセルで擬似正規乱数を、RAND()+RAND()+RAND()+RAND()+RAND()+RAND()+RAND()+RAND()+RAND()+RAND()+RAND()+RAND()-6 で計算したところ、異常に頻発してマイナス値がでてこまっています。この式は各所で簡易で最適な擬似正規乱数を出力する手法として出ているものです。どうしたらいいのでしょうか? この方法にはこだわっていないので、他に平均0、標準偏差1の正規乱数を出力する方法があれば教えてください。乱数は10000程度同時に出力したいです。
- EXCELのRAND()関数が線形合同法で作られていると聞いたが、具体的なアルゴリズムは公開されているのか?何をseedsにしているなど。ユーザーがrand()と同じ関数を作ることは出来るのか?
1番目の方は回答してみたんだが, 不安なのよね. 異常に頻発してマイナス値がでて
ってのを単純に「負の値が出て困る」と読んでそれは当たり前のことなんじゃないかと思って回答した. しかし, よくよく考えるとExcel 2003の初期版にはRAND()で(0,1)間の乱数を発生させたときに負の値を取るというバグがあったんだった. アップデートするとこのバグは直るのだが, 質問者がアップデートしていない場合には, 「平均がマイナスにずれて困っている」とも考えられるなぁと思った. あと, ボックス・ミューラーでも正規分布は作れるが面倒臭いか.
2番目の方は, 1番と2番の回答がずれているので悲しい. EXCEL RAND() LINEAR辺りでぐぐるとアルゴリズムは出てくる. マイクロソフトのサポートオンラインでも見つけた. ただ初期値(seed)の決め方が載っていないので, 厳密にはアルゴリズムが公開されているとは言えない. 3番の人の回答次第.