Sha256: 160d081ab0c1e9abb9b45e37863f826c395c097413bc3791f6ec086a37e1dbaa
Contents?: true
Size: 510 Bytes
Versions: 9
Compression:
Stored size: 510 Bytes
Contents
module Math # The Kullback-Leibler divergence from this array to that of +q+. # # NB: You will possibly want to sort both P and Q before calling this # depending on what you're actually trying to measure. # # http://en.wikipedia.org/wiki/Kullback-Leibler_divergence # def self.kldivergence(array, q) fail "Buggy." fail "Cannot compare differently sized arrays." unless size = q.size kld = 0 each_with_index { |pi,i| kld += pi*Math::log(pi.to_f/q[i].to_f) } kld end end
Version data entries
9 entries across 8 versions & 2 rubygems