正規分布乱数を生成する方法(PHP)平均値から正規分布乱数を生成する方法(PHP)テスト用データを作成する時に正規分布(ガウス分布)に沿ったデータを利用すると、よりリアルなデータテストが行えます。話を極端にしてデータが平均値しかなかった場合はどうやって正規分布乱数を作成したら良いのでしょう?Normal関数を作って利用Pythonではライブラリ(Numpy)で簡単にnormal()を使って標準正規分布に沿った乱数生成ができますが、PHPでは標準でnormal()関数がありません。そこでネットでウロウロしたところ、ボックスミュラー法を利用したPHP版のnormal()があったので、下記に掲載します。sqrt(-2*log($x))*cos(2*pi()*$y)*$sd+$av;}?>引数の1つめは平均値、2つめは標準偏差です。標準偏差に何を指定すればいいの?標準偏差は、分かりやすく言うと「『平均値からデータそれぞれがどれくらい散らばっているか』の平均値」ですが、そういった値が得られない場合は、±2σや±3σの理論を利用しましょう。標準偏差」として標準偏差を求めます。(σ)の±2倍の範囲にデータの95.45%、±3倍の範囲に99.73%のデータが含まれることが分かっています。今回はこの範囲内に含まれるデータを乱数で作りたいので、±3σを利用するわけです。平均値の2倍(または2分の1)」にするという理論です。