WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

Rubyで標本の分散・標準偏差・変動係数算出まで

   

統計学の本読んでるけど公式よりコードの方が頭に入る。

# 適当な標本を定義
samples = [1,2, 1, 0.8, 0.7, 1.1, 1.3, 1, 1.6, 0.9]  
 => [1, 2, 1, 0.8, 0.7, 1.1, 1.3, 1, 1.6, 0.9] 

# 標本サイズ
n = samples.count  
 => 10 

# 平均(算術平均)
mean = samples.sum / n
 => 1.14 

# 偏差平方和
sum_of_squares = samples.inject(0){|sum, i| sum + (i - mean) ** 2 }
 => 1.4040000000000001

# 分散
s2 = sum_of_squares / n
 => 0.14040000000000002

# 標準偏差
s = Math.sqrt(s2)
 => 0.3746998799039039

# 変動係数
cv = s / mean
 => 0.3286841051788631

 - Ruby, 統計学