標準偏差を求めてみよう
標準偏差を求める方法をPerlプログラムを用いて説明します。
標準偏差を求める
以下のような配列を考えてみます。
my @array = (10, 50, 60, 65, 70, 90);
配列の標準偏差を求めるサンプルプログラム
実際に配列から標準偏差を求めます。Statistics::Liteモジュールにstddev関数がありますが、この例では利用しません。
標準偏差の求め方の説明はしません。
use strict; use warnings; sub get_stddev { return sqrt(get_disp(@_)); } sub get_disp { my ($array_ref) = @_; my $mean = get_avg($array_ref); my $count = @$array_ref; my $sum = 0; for my $num (@$array_ref) { $sum += (($num - $mean) ** 2); } return $sum / $count; } sub get_avg { my ($array_ref) = @_; my $count = @$array_ref; my $sum = 0; for my $num (@$array_ref) { $sum += $num; } return $sum / $count; } my @array = (10, 50, 60, 65, 70, 90); my $stddev = get_stddev(\@array); print "標準偏差は、" . $stddev . "です。\n";
実行結果
標準偏差は、24.452334585202です。
このプログラムは、コピー&ペーストして、PerlBanjoで、すぐに試すことができます。