ETOOBUSY 🚀 minimal blogging for the impatient
Think Bayes in Raku - Suite class, take 2
TL;DR
Of course there had to be a follow-up on the
Suiteclass.
In previous post Think Bayes in Raku - Pmf class, take 2 we
saw an evolution of the Pmf class to support multiplication of a Pmf
object by a hash of key/values, representing the *likelihood` of each
key.
So I decided that `Suite’ had to evolve too:
class Suite is Pmf {
has &!likelihood is required;
submethod BUILD (:lh(:&!likelihood)) { }
method update ($data) { return self.multiply(&!likelihood($data)) }
}
This is it. Now &!likelihood is supposed to be called with $data
only, and it takes care to calculate the likelihood across all possible
keys.
Thanks to the simplification, this implementation is simpler too, and also closer to how the data are used.