def sample_std_normal(n, seed=1): np.random.seed(seed) tuner = mcmc.Tuner(1.0) xs = np.zeros(n) x = 0.0 for b in range(n): x = mcmc.ametropolis(x, dist.Normal(0, 1).lpdf, tuner) # x = mcmc.ametropolis(x, lpdf_std_normal, tuner) # faster xs[b] = x return xs
def update_b2(state, data, tuner_b2): def log_prob(b2): return log_prob_b2(b2, state, data) state.b2 = mcmc.ametropolis(state.b2, log_prob, tuner_b2)
def update_b1(state, data, tuner_b1): def log_prob(b1): return log_prob_b1(b1, state, data) state.b1 = mcmc.ametropolis(state.b1, log_prob, tuner_b1)
def update_b0(state, data, tuner_b0): log_prob = lambda b0: log_prob_b0(b0, state, data) state.b0 = mcmc.ametropolis(state.b0, log_prob, tuner_b0)
def update_b2(self): self.state.b2 = mcmc.ametropolis(self.state.b2, self.logprob_b2, self.tuners.b2)
def update_b1(self): self.state.b1 = mcmc.ametropolis(self.state.b1, self.logprob_b1, self.tuners.b1)
def update_b0(self): self.state.b0 = mcmc.ametropolis(self.state.b0, self.logprob_b0, self.tuners.b0)