def construct_bestfit_err_mat(self, full_mat, bestfit_full_mat, paths, plot=False): r""" Construct the average best fit matrix using the sum of the files, and generate the corresponding labels using the paths provided. (Helper function) """ full_mat_var = np.delete(full_mat, np.s_[5::4], axis=1) bestfit_full_mat_var = np.delete(bestfit_full_mat, np.s_[5::4], axis=1) full_mat_var_cov = np.cov(full_mat_var.T) full_mat_diag = np.diag(full_mat_var_cov) err = np.sqrt(full_mat_diag) label = larch_score.generate_labels(paths)[0] # bestFit = np.mean(bestfit_full_mat_var,axis=0) bestFit = np.mean(full_mat_var, axis=0) self.label = label self.full_mat_diag = full_mat_diag if plot: plt.figure(figsize=(8, 5)) plt.xticks(np.arange(len(full_mat_diag)), label, rotation=70) plt.bar(np.arange(len(full_mat_diag)), np.sqrt(full_mat_diag)) return bestFit, err
def test_generate_label_1(self): """ Test Labels with one label """ data = [1] result_label = ['s02_1', 'e0', 'sigma_1', 'deltaR_1'] result_s02_label = [] result = larch_score.generate_labels(data) self.assertEqual(result[0], result_label) self.assertEqual(result[1], ['s02_1']) self.assertEqual(result[2], ['sigma_1']) self.assertEqual(result[3], ['deltaR_1'])
def test_generate_label_2(self): """ Test labels with multiple paths """ data = [1, 2] result_label = [ 's02_1', 'e0', 'sigma_1', 'deltaR_1', 's02_2', 'sigma_2', 'deltaR_2' ] result_s02_label = [] result = larch_score.generate_labels(data) self.assertEqual(result[0], result_label) self.assertEqual(result[1], ['s02_1', 's02_2']) self.assertEqual(result[2], ['sigma_1', 'sigma_2']) self.assertEqual(result[3], ['deltaR_1', 'deltaR_2'])
def __init__(self, paths, dirs, params): self.paths = paths # Generate Label for plotting self.label = larch_score.generate_labels(self.paths)[0] self.params = params self.dirs = dirs self.num_paths = len(paths) self.num_params = 3 * self.num_paths + 1 self.return_str = "" if 'optimize' not in params: self.params['optimize'] = False if 'series' not in params: self.series = False else: self.series = self.params['series'] self.series_index = self.params['series_index']