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


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

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

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2006/11/18 15:55:05
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:talepanda No.1

回答回数57ベストアンサー獲得回数12

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

ありがとうございます。

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

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

回答回数1782ベストアンサー獲得回数96

ポイント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

回答回数74ベストアンサー獲得回数6

ポイント26pt

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

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

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

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

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

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

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

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