def __run_bayesfmm(data, iterations, save_diagnostics, output_dir, burnin, km2): gaussian_fmm = fmm.GaussianFiniteMixtureModel() pi, theta, sigma = gaussian_fmm.run(data, k=2, iterations=iterations) outfilename = None if save_diagnostics: outfilename = '{0}/diagnostics_{1}_{2}.png'.format(output_dir, '{0}', '{1}') #generate diagnostics diagnostics.stationarity_plot(pi, ylab=r'\pi', filename=(outfilename.format('stationarity','pi') if outfilename is not None else None)) diagnostics.stationarity_plot(theta, ylab=r'\theta', filename=(outfilename.format('stationarity','theta') if outfilename is not None else None)) diagnostics.stationarity_plot(sigma, ylab=r'\Sigma', filename=(outfilename.format('stationarity','sigma') if outfilename is not None else None)) #determine model parameters pi_mean, theta_mean, sigma_mean = fmm.calculate_posterior_means(pi, theta, sigma, burnin) # print pi_mean, theta_mean, sigma_mean em.plot_against_kmeans(data, theta, km2, filename='{0}/faithful_bayesfmm_kmeans.png'.format(output_dir)) fmm.draw_contour_plots(pi_mean, theta_mean, sigma_mean, filename='{0}/faithful_bayesfmm_model.png'.format(output_dir))
def __run_em(data, output_dir, km2): theta, sigma, pi = em.gaussian_em_2(data, max_reps=100) em.plot_against_kmeans( data, theta, km2, filename='{0}/faithful_em_kmeans.png'.format(output_dir)) em.draw_contour_plots( theta[-1], sigma[-1], pi[-1], filename='{0}/faithful_em_model.png'.format(output_dir))
def __run_bayesfmm(data, iterations, save_diagnostics, output_dir, burnin, km2): gaussian_fmm = fmm.GaussianFiniteMixtureModel() pi, theta, sigma = gaussian_fmm.run(data, k=2, iterations=iterations) outfilename = None if save_diagnostics: outfilename = '{0}/diagnostics_{1}_{2}.png'.format( output_dir, '{0}', '{1}') #generate diagnostics diagnostics.stationarity_plot( pi, ylab=r'\pi', filename=(outfilename.format('stationarity', 'pi') if outfilename is not None else None)) diagnostics.stationarity_plot( theta, ylab=r'\theta', filename=(outfilename.format('stationarity', 'theta') if outfilename is not None else None)) diagnostics.stationarity_plot( sigma, ylab=r'\Sigma', filename=(outfilename.format('stationarity', 'sigma') if outfilename is not None else None)) #determine model parameters pi_mean, theta_mean, sigma_mean = fmm.calculate_posterior_means( pi, theta, sigma, burnin) # print pi_mean, theta_mean, sigma_mean em.plot_against_kmeans( data, theta, km2, filename='{0}/faithful_bayesfmm_kmeans.png'.format(output_dir)) fmm.draw_contour_plots( pi_mean, theta_mean, sigma_mean, filename='{0}/faithful_bayesfmm_model.png'.format(output_dir))
def __run_em(data, output_dir, km2): theta, sigma, pi = em.gaussian_em_2(data, max_reps=100) em.plot_against_kmeans(data, theta, km2, filename='{0}/faithful_em_kmeans.png'.format(output_dir)) em.draw_contour_plots(theta[-1], sigma[-1], pi[-1], filename='{0}/faithful_em_model.png'.format(output_dir))