Example #1
0
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
Example #2
0
'''

# 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
Example #3
0
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)