class Bmg::Summarizer::Variance

Variance summarizer

Example:

# direct ruby usage
Bmg::Summarizer.variance(:qty).summarize(...)

Public Instance Methods

_happens(memo, val) click to toggle source

Aggregates on a tuple occurence.

# File lib/bmg/summarizer/variance.rb, line 19
def _happens(memo, val) 
  count, mean, m2 = memo
  count += 1
  delta = val - mean
  mean  += (delta / count)
  m2    += delta*(val - mean)
  [count, mean, m2]
end
finalize(memo) click to toggle source

Finalizes the computation.

# File lib/bmg/summarizer/variance.rb, line 29
def finalize(memo) 
  count, mean, m2 = memo
  m2 / count
end
least() click to toggle source

Returns the least value.

# File lib/bmg/summarizer/variance.rb, line 14
def least()
  [0, 0.0, 0.0]
end