adapt_lims = (2000,conv,10) glob_lims = (2000,conv,10) # Infer.MCMC(Posterior,guess_pars[:],(Transit_aRs,time,flux),chain_len,err_pars,n_chains=no_ch,adapt_limits=adapt_lims,glob_limits=glob_lims,thin=thin) # #Get parameters values/errors from chains # par,par_err = Infer.AnalyseChains(conv/thin,n_chains=no_ch) # bf_par = Infer.GetBestFit(n_chains=no_ch) # print "Best Fit log p =", LogLikelihood_iid_mf(bf_par,Transit_aRs,time,flux) # pylab.figure(3) # Infer.PlotCorrelations(conv/thin,n_chains=no_ch,p=np.where(np.array(par_err)>0.)[0]) #run an affine inv MCMC n = 300 chain_len = chain_len/n conv = conv/n no_ch=3 Infer.AffInvMCMC(Posterior,guess_pars[:],(Transit_aRs,time,flux),n,chain_len,err_pars,n_chains=no_ch) #Get parameters values/errors from chains par,par_err = Infer.AnalyseChains(conv*n,n_chains=no_ch) bf_par = Infer.GetBestFit(n_chains=no_ch) print "Best Fit log p =", LogLikelihood_iid_mf(bf_par,Transit_aRs,time,flux) pylab.figure(4) Infer.PlotCorrelations(conv*n,n_chains=no_ch,p=np.where(np.array(par_err)>0.)[0]) #plot the chains and correlations #lab = [r'$T_0$',r'$a/R\star$',r'$\rho$',r'$b$'] #pylab.figure(2) #Infer.PlotChains(conv/thin,n_chains=no_ch,p=[0,2,3,4],labels=lab) #plot fitted function pylab.figure(1) pylab.plot(time,Transit_aRs(par[:-1],time),'g-')
n_chains=no_ch, adapt_limits=lims, glob_limits=lims, thin=thin) MyGP.pars, par_err = Infer.AnalyseChains(conv / thin, n_chains=no_ch) pylab.figure(2) Infer.PlotCorrelations(conv / thin, n_chains=no_ch) #do an Affine Invariant MCMC n = 100 err_pars = 0.01 * np.array( [0.001, 0.001, 0.0001] + [0.00001, 0, 0.2, 0.0003, 0.02, 0.0, 0.0, 0.001, 0.0001]) Infer.AffInvMCMC(MyGP.logPosterior, MyGP._pars, (), n, chain_len / n, err_pars, n_chains=no_ch) MyGP.pars, par_err = Infer.AnalyseChains(conv, n_chains=no_ch) pylab.figure(3) Infer.PlotCorrelations(conv / thin, n_chains=no_ch) pylab.figure(1) pylab.plot(MyGP.mf_args, MyGP.MeanFunction(), 'b-') MyGP.kf_args_pred = np.matrix([ t_pred, ]).T MyGP.mf_args_pred = t_pred Infer.PlotRanges(MyGP.mf_args_pred, *MyGP.Predict()) pylab.plot(MyGP.mf_args_pred, MyGP.GetRandomVectorFromPrior(), 'r--') pylab.plot(MyGP.mf_args_pred, MyGP.GetRandomVector(), 'g--')
thin=thin) #Get parameters values/errors from chains par, par_err = Infer.AnalyseChains(conv / thin, n_chains=no_ch) bf_par = Infer.GetBestFit(n_chains=no_ch) print "Best Fit log p =", InvNRosenbrock(bf_par, ) pylab.figure(3) Infer.PlotCorrelations(conv / thin, n_chains=no_ch, p=np.where(np.array(par_err) > 0.)[0]) #run an affine inv MCMC n = 200 chain_len = chain_len / n conv = conv no_ch = 3 Infer.AffInvMCMC(InvNRosenbrock, gp[:], (), n, chain_len, ep, n_chains=no_ch) #Get parameters values/errors from chains par, par_err = Infer.AnalyseChains(conv, n_chains=no_ch) bf_par = Infer.GetBestFit(n_chains=no_ch) print "Best Fit log p =", InvNRosenbrock(bf_par, ) pylab.figure(4) Infer.PlotCorrelations(conv * n, n_chains=no_ch, p=np.where(np.array(par_err) > 0.)[0]) # # # #plot the chains and correlations # #lab = [r'$T_0$',r'$a/R\star$',r'$\rho$',r'$b$'] # #pylab.figure(2) # #Infer.PlotChains(conv/thin,n_chains=no_ch,p=[0,2,3,4],labels=lab)