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))
Esempio n. 2
0
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))
Esempio n. 3
0
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))