tapios / risk-networks

Code for risk networks: a blend of compartmental models, graphs, data assimilation and semi-supervised learning
Other
2 stars 2 forks source link

GammaSampler.minimum is accounted for twice in TransitionRates #148

Closed dburov190 closed 4 years ago

dburov190 commented 4 years ago

It seems that there's a minor bug with the way sampling is performed in TransitionRates for GammaSampler. This is a definition of draw method from GammaSampler:

def draw(self):
    """Return `sample`, where `sample ~ Gamma(k, theta)`"""
    return self.minimum + np.random.gamma(self.k, self.theta)

And this is from TransitionRates:

def __draw_using_sampler(sampler, distributional_parameters):
    return np.array([sampler.minimum + sampler.draw()
                     for param in distributional_parameters])

Moreover, BetaSampler doesn't have a minimum instance variable, so it breaks (in simple_measurements.py, for example).