### mcmc import time print 'start', time.asctime() n_step = int(1e5) hyper0 = np.array([0.3, 0.3, 0.1]) hyper_stepsize = 1e-2 * np.ones(3) local0 = np.hstack(( 0.3*np.ones(n_group), 0.3*np.ones(n_group), 3. *np.ones(n_group) )) local_stepsize = np.hstack(( 1e-2 * np.ones(2*n_group), 0.3 * np.ones(n_group) )) hyper_chain, local_chain, loglikelihood_chain, repeat_chain, stop_step = \ hbm_joint(hyper0, hyper_stepsize, local0, local_stepsize, n_step, \ hyper_prior, local_given_hyper, data_given_local, data=[mass_obs, mass_err, rad_obs, rad_err], \ hyper_domain=hyper_domain, local_domain=local_domain, \ trial_upbound = n_step*10) print 'end', time.asctime() ### plot row = 2 col = 4 f, ((a00,a01,a02,a03),(a10,a11,a12,a13))=plt.subplots(row,col,figsize=(col*5,row*5)) ax = ((a00,a01,a02,a03),(a10,a11,a12,a13)) ax[0][3].plot(loglikelihood_chain[:stop_step]) ax[0][3].set_xlabel('loglikelihood')
### mcmc import time print 'start:', time.asctime() n_step = int(1e5) n_hyper = 4 # hyper_c1, hyper_c0, hyper_sigc1, hyper_sigc0 hyper0 = np.array([ 2.*hyper_c1, 2.*hyper_c0, hyper_sigc1, hyper_sigc0]) local0 = 2.*np.hstack((local_c1,local_c0)) hyper_stepsize = np.array([1e-1, 1e-1, 1e-1, 1e-1]) local_stepsize = 1e-1 * np.ones(2*n_group) hyper_chain, local_chain, loglikelihood_chain, repeat_chain, stop_step = \ hbm_joint(hyper0, hyper_stepsize, local0, local_stepsize, n_step, \ hyper_prior, local_given_hyper, data_given_local, data=[x_real,y_data,y_err], \ hyper_domain=hyper_domain, local_domain = None, \ trial_upbound = 1e6, random_seed = seed) ''' hyper_prob0 = np.array([0.3, 0.3, 0.8, 0.8]) local_prob0 = 0.3 * np.ones(2*n_group) hyper_stepsize = 3e-3 * np.ones(n_hyper) local_stepsize = 3e-3 * np.ones(2*n_group) hyper_prob_chain, hyper_chain, local_prob_chain, local_chain, \ loglikelihood_chain, repeat_chain, stop_step = \ hbm_joint_cdf(hyper_prob0, hyper_stepsize, local_prob0, local_stepsize, n_step,\ inverse_hyper, inverse_local, \ data_given_local, model, data=[x_real, y_data, y_err], \ trial_upbound = 1e6, random_seed = seed)