★ EXCELで正規乱数発生? ★

 157 EXCELで正規乱数発生?  SCD  2001/01/11 (木) 18:16
  159 Re: EXCELで正規乱数発生?  青木繁伸  2001/01/11 (木) 18:36
   160 Re^2: EXCELで正規乱数発生?  青木繁伸  2001/01/11 (木) 18:51
  158 Re: EXCELで正規乱数発生?  上田太一郎  2001/01/11 (木) 18:33


157. EXCELで正規乱数発生?  SCD  2001/01/11 (木) 18:16
SASにはRANNORという正規乱数N(0,1)発生用の関数が用意されていますが,Excelにはないでしょうか。
ないとすれば,一様乱数を用いてBox-Mullarの方法で発生させる?方法を教えて頂けないでしょうか。よろしくお願いします。

     [このページのトップへ]


159. Re: EXCELで正規乱数発生?  青木繁伸  2001/01/11 (木) 18:36
> SASにはRANNORという正規乱数N(0,1)発生用の関数が用意されていますが,Excelにはないでしょうか。

ないですね。

> ないとすれば,一様乱数を用いてBox-Mullarの方法で発生させる?方法を教えて頂けないでしょうか。
http://aoki2.si.gunma-u.ac.jp/Hanasi/Algo/n_rand.html を参照のこと
たとえば,
A1に =SQRT(-2*LN(RAND()))
A2に =2*PI()*RAND()
A3に =A1*COS(A2)
A4に =A1*SIN(A2)
A1 と A2 は準備(作業用)で,A3 と A4 に2つずつ求まります。
あるいは,VBA で関数を用意すればいいですね。
Function nrand()
u1 = Sqr(-2 * Log(Rnd()))
u2 = 6.28318530717959 * Rnd()
nrand = u1 * Cos(u2)
End Function
本来2つずつ求まるのですが,一つしか求めないようにしてあります。
=nrand() のように使います。

ですが,扱いにくいかもしれないので,逆関数法も書いておきましょう。
=normsinv(rand())
です。簡単ですね。

     [このページのトップへ]


160. Re^2: EXCELで正規乱数発生?  青木繁伸  2001/01/11 (木) 18:51
補足

生成される乱数の質は,Excel の rand(),normsinv() などの質に依存することはいうまでもありません。

     [このページのトップへ]


158. Re: EXCELで正規乱数発生?  上田太一郎  2001/01/11 (木) 18:33
> SASにはRANNORという正規乱数N(0,1)発生用の関数が用意されていますが,Excelにはないでしょうか。
> ないとすれば,一様乱数を用いてBox-Mullarの方法で発生させる?方法を教えて頂けないでしょうか。よろしくお願いします。

分析ツールでサポートされています。
分析ツールはツール,アドイン,分析ツールの□にレ印を付けると使えるようになります。

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 012 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る