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):
Beispiel #2
0
    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()
Beispiel #3
0

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):