benchmark_samples = benchmark_samples[np.arange(0, len(benchmark_samples), step=100)] return benchmark_samples if __name__ == "__main__": benchmark_samples = get_benchmark_samples_mcmc() true_mean = np.mean(benchmark_samples, axis=0) true_var = np.var(benchmark_samples, axis=0) print("%d benchmark samples" % len(benchmark_samples)) print "mean:", repr(true_mean) print "var:", repr(true_var) print "np.mean(var): %.3f" % np.mean(true_var) print "np.linalg.norm(mean): %.3f" % np.linalg.norm(true_mean) print "median heuristic sigma: %.3f" % (1. / gamma_median_heuristic(benchmark_samples)) visualise_pairwise_marginals(benchmark_samples) plt.show() m = 1000 lmbda = 1. res = 10 log2_sigmas = np.linspace(-4, 10, res) log2_sigmas = np.log2([0.5, 0.7, 0.9, 1.1, 1.3, 1.5]) print "log2_sigmas:", log2_sigmas print "sigmas:", 2 ** log2_sigmas Js_mean = np.zeros(res) Js_var = np.zeros(res) for i, log2_sigma in enumerate(log2_sigmas):
mdl = SVoneSP500Model() target_log_pdf = mdl.get_logpdf_closure() # number of particles used for integrating out the latent variables mdl.mdl_param.NX = mdl.mdl_param.NX * 1 D = mdl.dim start = np.zeros(D) sampler = get_AdaptiveIndependentMetropolis_instance(D, target_log_pdf) start_time = time.time() samples, log_target_densities, times = mini_pmc(sampler, start, num_iter, population_size) time_taken = time.time() - start_time logger.info("Storing results under %s" % result_fname) store_samples(samples, result_fname) mean = np.mean(samples, axis=0) var = np.var(samples, axis=0) print "mean:", repr(mean) print "var:", repr(var) print "np.mean(var): %.3f" % np.mean(var) print "np.linalg.norm(mean): %.3f" % np.linalg.norm(mean) print "ESS: %.3f" % sampler.get_current_ess() if False: import matplotlib.pyplot as plt visualise_pairwise_marginals(samples) plt.show()
if __name__ == "__main__": benchmark_samples = get_benchmark_samples_mcmc() true_mean = np.mean(benchmark_samples, axis=0) true_var = np.var(benchmark_samples, axis=0) print("%d benchmark samples" % len(benchmark_samples)) print "mean:", repr(true_mean) print "var:", repr(true_var) print "np.mean(var): %.3f" % np.mean(true_var) print "np.linalg.norm(mean): %.3f" % np.linalg.norm(true_mean) print "median heuristic sigma: %.3f" % ( 1. / gamma_median_heuristic(benchmark_samples)) visualise_pairwise_marginals(benchmark_samples) plt.show() m = 1000 lmbda = 1. res = 10 log2_sigmas = np.linspace(-4, 10, res) log2_sigmas = np.log2([0.5, 0.7, 0.9, 1.1, 1.3, 1.5]) print "log2_sigmas:", log2_sigmas print "sigmas:", 2**log2_sigmas Js_mean = np.zeros(res) Js_var = np.zeros(res) for i, log2_sigma in enumerate(log2_sigmas):