def test_sim_data_for_validation(self): return # skip for now sim_data = data.sim_data_for_validation(10, [0.5, 0.5], [0.1, 0.1]) assert sim_data.shape == (10,2), 'Should be 10x2 matrix of data (%s found)' % str(sim_data.shape) sim_data = data.sim_data_for_validation(10, [.1, .4, .5], [.1, .1, .1]) assert sim_data.shape == (10,3), 'Should be 10x3 matrix of data (%s found)' % str(sim_data.shape)
def test_sim_data_for_validation(self): return # skip for now sim_data = data.sim_data_for_validation(10, [0.5, 0.5], [0.1, 0.1]) assert sim_data.shape == ( 10, 2), 'Should be 10x2 matrix of data (%s found)' % str( sim_data.shape) sim_data = data.sim_data_for_validation(10, [.1, .4, .5], [.1, .1, .1]) assert sim_data.shape == ( 10, 3), 'Should be 10x3 matrix of data (%s found)' % str( sim_data.shape)
def validate_once(true_cf = [pl.ones(3)/3.0, pl.ones(3)/3.0], true_std = 0.01*pl.ones(3), std_bias = [1., 1., 1.], save=False, dir='', i=0): """ Generate a set of simulated estimates for the provided true cause fractions; Fit the bad model and the latent simplex model to this simulated data and calculate quality metrics. """ # generate simulation data X = data.sim_data_for_validation(1000, true_cf, true_std, std_bias) # fit bad model, calculate fit metrics bad_model = models.bad_model(X) bad_model_metrics = calc_quality_metrics(true_cf, true_std, std_bias, bad_model) retrieve_estimates(bad_model, True, 'bad_model', dir, i) # fit latent simplex model, calculate fit metrics m, latent_simplex = models.fit_latent_simplex(X) latent_simplex_metrics = calc_quality_metrics(true_cf, true_std, std_bias, latent_simplex) retrieve_estimates(latent_simplex, True, 'latent_simplex', dir, i) # either write results to disk or return them if save: pl.rec2csv(bad_model_metrics, '%s/metrics_bad_model_%i.csv' % (dir, i)) pl.rec2csv(latent_simplex_metrics, '%s/metrics_latent_simplex_%i.csv' % (dir, i)) else: return bad_model_metrics, latent_simplex_metrics
def validate_once(true_cf=[pl.ones(3) / 3.0, pl.ones(3) / 3.0], true_std=0.01 * pl.ones(3), std_bias=[1., 1., 1.], save=False, dir='', i=0): """ Generate a set of simulated estimates for the provided true cause fractions; Fit the bad model and the latent simplex model to this simulated data and calculate quality metrics. """ # generate simulation data X = data.sim_data_for_validation(1000, true_cf, true_std, std_bias) # fit bad model, calculate fit metrics bad_model = models.bad_model(X) bad_model_metrics = calc_quality_metrics(true_cf, true_std, std_bias, bad_model) retrieve_estimates(bad_model, True, 'bad_model', dir, i) # fit latent simplex model, calculate fit metrics m, latent_simplex = models.fit_latent_simplex(X) latent_simplex_metrics = calc_quality_metrics(true_cf, true_std, std_bias, latent_simplex) retrieve_estimates(latent_simplex, True, 'latent_simplex', dir, i) # either write results to disk or return them if save: pl.rec2csv(bad_model_metrics, '%s/metrics_bad_model_%i.csv' % (dir, i)) pl.rec2csv(latent_simplex_metrics, '%s/metrics_latent_simplex_%i.csv' % (dir, i)) else: return bad_model_metrics, latent_simplex_metrics