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