Module: StatisticalMethods

Included in:
Array
Defined in:
lib/ruby-technical-analysis/statistical_methods.rb

Overview

Statistical methods used in calculations

Instance Method Summary collapse

Instance Method Details

#standard_deviationObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/ruby-technical-analysis/statistical_methods.rb', line 5

def standard_deviation
  if size <= 1
    raise ArgumentError,
          "Array must contain at least 2 numbers for standard deviation."
  end

  mean = reduce(:+).to_f / size
  sq_dist = 0

  each do |n|
    sq_dist += (n - mean).abs2
  end

  Math.sqrt(sq_dist.to_f / size)
end