コード例 #1
0
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()
コード例 #2
0
 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)
コード例 #3
0
    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
コード例 #4
0
 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)
コード例 #5
0
 def test_load_data(self):
     OzonePosterior()