エクセルで擬似正規乱数を、RAND()+RAND()+RAND()+RAND()+RAND()+RAND()+RAND()+RAND()+RAND()+RAND()+RAND()+RAND()-6


で計算したところ、異常に頻発してマイナス値がでてこまっています。この式は各所で簡易で最適な擬似正規乱数を出力する手法として出ているものです。どうしたらいいのでしょうか?

この方法にはこだわっていないので、他に平均0、標準偏差1の正規乱数を出力する方法があれば教えてください。乱数は10000程度同時に出力したいです。

回答の条件
  • 1人2回まで
  • 登録:2006/11/11 15:54:55
  • 終了:2006/11/18 15:55:05

回答(3件)

id:talepanda No.1

talepanda回答回数57ベストアンサー獲得回数122006/11/11 16:18:53

ポイント27pt
=NORMSINV(RAND())
id:hackrealestate

ありがとうございます。

ただ、#NUM!というエラー数値が複数個所に出力されてしまいます。これはどう対応したらよろしいでしょうか?

2006/11/11 16:59:54
id:garyo No.2

garyo回答回数1782ベストアンサー獲得回数962006/11/11 16:32:00

ポイント27pt

http://www.qmss.jp/qmss/text/simulation/correlation-coefficient/...

Excel で標準正規乱数を生成するには、標準正規累積分布関数の逆関数を返す「NORMSINV」関数と、[0,1] 一様乱数を発生させる「RAND」関数を使って、「=NORMSINV(RAND())」と入力します(「データ」ワークシートの B, C 列)。

だそうです。

id:hackrealestate

ありがとうございます。

ただ、#NUM!というエラー数値が複数個所に出力されてしまいます。これはどう対応したらよろしいでしょうか?

2006/11/11 17:00:09
id:smoking186 No.3

186回答回数74ベストアンサー獲得回数62006/11/11 17:08:29

ポイント26pt

RAND()+…+RAND()-6は平均0, 標準偏差1の正規分布に従う乱数を近似的に出力しています. これは正しいです.

また, 平均0, 標準偏差1の正規分布に従って乱数を取った場合に値が負になる確率は1/2です. したがって異常に頻発してマイナス値がでてというのは当然です.

ということなので, 使う分布を間違えていませんんか? 本当はどんな分布に従う乱数が必要なのでしょうか?

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません