def main(): Log.set_loglevel(logging.DEBUG) prior = Gaussian(Sigma=eye(2) * 100) posterior = OzonePosterior(prior, logdet_alg="scikits", solve_method="scikits") proposal_cov = diag([4.000000000000000e-05, 1.072091680000000e+02]) mcmc_sampler = StandardMetropolis(posterior, scale=1.0, cov=proposal_cov) start = asarray([-11.35, -13.1]) mcmc_params = MCMCParams(start=start, num_iterations=5000) chain = MCMCChain(mcmc_sampler, mcmc_params) chain.append_mcmc_output(StatisticsOutput(print_from=1, lag=1)) home = expanduser("~") folder = os.sep.join([home, "sample_ozone_posterior_average_serial"]) store_chain_output = StoreChainOutput(folder) chain.append_mcmc_output(store_chain_output) loaded = store_chain_output.load_last_stored_chain() if loaded is None: logging.info("Running chain from scratch") else: logging.info("Running chain from iteration %d" % loaded.iteration) chain = loaded chain.run() f = open(folder + os.sep + "final_chain", "w") dump(chain, f) f.close()
def test_log_det_ozone_shogun_exact(self): o = OzonePosterior() kappa = 2 ** (-13.1) Q = o.create_Q_matrix(kappa) self.assertAlmostEqual(OzonePosterior.log_det_shogun_exact(Q), 2.317769370813052e+06, delta=1)
def __init__(self, aggregator, ozone_posterior, tau, kappa): IndependentJob.__init__(self, aggregator) self.ozone_posterior = OzonePosterior(ozone_posterior.prior, ozone_posterior.logdet_method, ozone_posterior.solve_method) self.tau = tau self.kappa = kappa
def test_log_likelihood_scikits_exact(self): tau = 2 ** (-11.35) kappa = 2 ** (-13.1) o = OzonePosterior(prior=None, logdet_method="scikits", solve_method="scikits") self.assertAlmostEqual(o.log_likelihood(tau, kappa), - 9.336375798558606e+05, delta=0.001)
def test_load_data(self): OzonePosterior()