• ベストアンサー

乱数の評価方法について質問です.

乱数の評価方法について質問です. C言語にて一様乱数,正規乱数を100個作ってそのデータがどの程度一様分布,正規分布に従うか評価したいのですがどのような方法がありますか? ヒストグラムは作ってみました. よろしくお願いします.

質問者が選んだベストアンサー

  • ベストアンサー
  • spring135
  • ベストアンサー率44% (1487/3332)
回答No.1

一様乱数は組み込み関数、正規乱数は一様乱数をボックス-ミューラー法で変換して作っているのでしょうか。ボックス-ミューラー法に用いた平均値m、標準偏差sを用いるとこうして作った正規乱数はの確率密度関数f(x)は f(x)=(1/√2π)exp(-(x-m)^2/2s^2)   (1) となります。 m±5s位の範囲を数百の幅(層)に区切り、各層に入ってくる乱数の数、つまり度数分布を表示するプログラムを作って、まわしてみると、数万個~百万個位の乱数に関する頻度分布を表示すると(1)に完全に一致してくることが解ります。つまりシミュレーションです。これで十分なのかは議論のあるところかもしれませんが、理論曲線(1)とこのシミュレーションが一致することが確認できると大変満足します。 度数分布は乱数が一個入るたびにこれまでの度数分布点が消され新しい分布が表示するようにすると動きを感じます。

その他の回答 (1)

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.2

分布に従うかどうかは分布検定の手法があったと思います。 基本的には、ヒストグラムの理論値との差の2乗和を取って判定します。理論値が1未満の部分は一まとめにするとか、値の判定はカイ二乗検定によるとかあったと思いますが、詳細は良く知りません。