num_Ns = len(Ns) num_gaussians = 5 plot_grid_size = 1000 # Number of trials to run num_trials = 100 dists = np.zeros([num_trials,5,num_Ns]) for i, N in enumerate(Ns): print 'Performing trials for N = %d'%N for trial_num in range(num_trials): # User feedback print 'Running N = %d, trial_num = %d...'%(N, trial_num) # Choose mixture of gaussians gaussians = make_gaussian_mix(num_gaussians) # Draw data from mixture [xis, xgrid, Q_true, other] = draw_from_gaussian_mix(N=N, Nx=G, gaussians=gaussians) # Compute data range and grid for fine-graned analysis xmin = min(xgrid) xmax = max(xgrid) xint = [xmin, xmax] xs = sp.linspace(xmin, xmax, plot_grid_size) dx = xs[1]-xs[0] # Interpolate Q_true for plotting Q_true_vals = Q_true(xs) # Perform DEFT density estimation
''' # Makes a simple figure demonstrating the inference proces. import scipy as sp from kinney2013_utils import make_gaussian_mix, draw_from_gaussian_mix, save_object from deft import deft_1d import time start_time = time.clock() # Design data distribution num_gaussians = 2 mus = [0, 10] sigmas = [2, 5] weights = [1, 1] gaussians = make_gaussian_mix(mus=mus, sigmas=sigmas, weights=weights) # Number of grid points to use for DEFT calculation G = 100 # Specify N and alphas N = 100 alpha = 2 num_samples = 20 # Draw data, rescaled to give an xint of length L = 10, centered on 0 xint = sp.array([-5.0, 5.0]) [xis, xint, Q_true, Q_true_details] = draw_from_gaussian_mix(N=N, Nx=G, gaussians=gaussians, xint=xint) xmid = sp.mean(xint) xspan = xint - xmid gaussians = Q_true_details.gaussians
num_Ns = len(Ns) num_gaussians = 5 plot_grid_size = 1000 # Number of trials to run num_trials = 100 dists = np.zeros([num_trials, 5, num_Ns]) for i, N in enumerate(Ns): print 'Performing trials for N = %d' % N for trial_num in range(num_trials): # User feedback print 'Running N = %d, trial_num = %d...' % (N, trial_num) # Choose mixture of gaussians gaussians = make_gaussian_mix(num_gaussians) # Draw data from mixture [xis, xgrid, Q_true, other] = draw_from_gaussian_mix(N=N, Nx=G, gaussians=gaussians) # Compute data range and grid for fine-graned analysis xmin = min(xgrid) xmax = max(xgrid) xint = [xmin, xmax] xs = sp.linspace(xmin, xmax, plot_grid_size) dx = xs[1] - xs[0] # Interpolate Q_true for plotting Q_true_vals = Q_true(xs)