module MultiMeasure::MathHelpers
Copied from stackoverflow.com/questions/7749568/how-can-i-do-standard-deviation-in-ruby
Public Class Methods
mean(a)
click to toggle source
# File lib/multi_measure/math_helpers.rb, line 8 def self.mean(a) sum(a) / a.length.to_f end
sample_variance(a)
click to toggle source
# File lib/multi_measure/math_helpers.rb, line 12 def self.sample_variance(a) m = mean(a) sum = a.inject(0){ |accum, i| accum + (i - m) ** 2 } sum / (a.length - 1).to_f end
standard_deviation(a)
click to toggle source
# File lib/multi_measure/math_helpers.rb, line 18 def self.standard_deviation(a) return 0.0 if a.length < 2 Math.sqrt(sample_variance(a)) end
sum(a)
click to toggle source
# File lib/multi_measure/math_helpers.rb, line 4 def self.sum(a) a.inject(0){ |accum, i| accum + i } end