The Nature of Code(PDF版)から正規分布(ガウス分布)について取り上げます。Processingでプログラムを書いて、動作を確認します。動作を確認できるところがProcessingの楽しいところです。今回は、正規分布を可視化して散らばり具合を確認します。
正規分布(ガウス分布)
正規分布とは、データが平均値の付近に集積するような分布のことです。平均の周辺にデータが多いはずという考え方です。
//ガウス分布 import java.util.Random; Random generator; void setup(){ size(640, 360); background(255); generator = new Random(); } void draw(){ float num = (float)generator.nextGaussian(); float sd = 60; //標準偏差 float mean = 320; //平均値(ウィンドウの幅の中央) float x = sd * num + mean; noStroke(); fill(0, 10); ellipse(x, 180, 16, 16); }
上記のプログラムの意味は以下です。
ウィンドウの幅の中央(320)を平均値として、そこから±60ピクセルの範囲にデータ(ここでは楕円)がだいたい散らばります。それを図にして可視化しています。
プログラムの解説・メモ
JavaのRandomクラスから正規分布の乱数を生成(nextGaussian())します。nextGaussian()は、平均0.0、標準偏差1.0の正規分布の乱数を返します。
平均をウィンドウの幅の中央(320)、標準偏差を60(ピクセル)とします。正規分布の乱数に標準偏差を掛けて、平均値を加えます。これを楕円のx座標とします。
- メモ
まとめ
The Nature of Code(PDF版)から正規分布(ガウス分布)について取り上げました。今回は、平均、標準偏差といった単語が登場しました。これらを理解するには、高校数学を学習すると良いです。引き続き、The Nature of Code(PDF版)の内容を勉強します。