Sha256: eca835c73d2e1c1f73d35268669212fdf317f5bc5d1979099af1c5d46968d99b
Contents?: true
Size: 849 Bytes
Versions: 52
Compression:
Stored size: 849 Bytes
Contents
module Bmg class Summarizer # # Variance summarizer # # Example: # # # direct ruby usage # Bmg::Summarizer.variance(:qty).summarize(...) # class Variance < Summarizer # Returns the least value. def least() [0, 0.0, 0.0] end # Aggregates on a tuple occurence. def _happens(memo, val) count, mean, m2 = memo count += 1 delta = val - mean mean += (delta / count) m2 += delta*(val - mean) [count, mean, m2] end # Finalizes the computation. def finalize(memo) count, mean, m2 = memo m2 / count end end # class Variance # Factors a variance summarizer def self.variance(*args, &bl) Variance.new(*args, &bl) end end # class Summarizer end # module Bmg
Version data entries
52 entries across 52 versions & 1 rubygems