Esempio n. 1
0
    def runJK(self, df, params, distributed):
        t1 = time.time()
        if distributed is True:
            resampling_method = params.JK_RESAMPLING_METHOD.lower()
            do_massboosted = resampling_method == 'bs_dt_mass_boosted_est'
            do_massboosted_debiased = resampling_method == 'bs_dt_mass_boosted_est_debiased'  # noqa
            if do_massboosted or do_massboosted_debiased:
                res = run_JK_distributed_massboosted(df, params)  # noqa
            else:
                res = distributed_JK_kSZ.run_JK_distributed(df, params,
                                                            randomize=True)
        else:
            res = singleMachine_JK_kSZ.run_JK_local(df, params,
                                                    randomize=True)
        t2 = time.time()
        fullDataset_results, jk_results = res
        rsep = fullDataset_results[0]
        p_uk = fullDataset_results[1]

        jk_results = [jk_results[j][1] for j in range(len(jk_results))]
        jk_results = np.array(jk_results)

        self.rsep = rsep
        self.bin_edges = params.BIN_EDGES
        self.bin_names = JK_tools.getBinNamesFromBinEdges(params.BIN_EDGES)
        self.kSZ_curveFullDataset = p_uk
        self.kSZ_curveJK_realizations = jk_results
        self.errorbars = getErrorbars(jk_results, params)
        self.runtime = t2 - t1
Esempio n. 2
0
    def run_resample(self, df1, df2, params):
        t1 = time.time()
        res = cross_distributed.run_error_estimation_distributed(
            df1, df2, params)
        t2 = time.time()

        fullDataset_results11 = res['full11']
        fullDataset_results12 = res['full12']
        fullDataset_results22 = res['full22']

        rsep = fullDataset_results11[0]
        p_uk11 = fullDataset_results11[1]
        p_uk12 = fullDataset_results12[1]
        p_uk22 = fullDataset_results22[1]

        resampled_results11 = [
            res['resampled11'][j][1] for j in range(params.JK_NGROUPS)
        ]
        resampled_results12 = [
            res['resampled12'][j][1] for j in range(params.JK_NGROUPS)
        ]
        resampled_results22 = [
            res['resampled22'][j][1] for j in range(params.JK_NGROUPS)
        ]

        resampled_results11 = np.array(resampled_results11)
        resampled_results12 = np.array(resampled_results12)
        resampled_results22 = np.array(resampled_results22)

        self.rsep = rsep
        self.bin_edges = params.BIN_EDGES
        self.bin_names = JK_tools.getBinNamesFromBinEdges(params.BIN_EDGES)

        self.kSZ_curveFullDataset11 = p_uk11
        self.kSZ_curveFullDataset12 = p_uk12
        self.kSZ_curveFullDataset22 = p_uk22

        self.kSZ_curveJK_realizations11 = resampled_results11
        self.kSZ_curveJK_realizations12 = resampled_results12
        self.kSZ_curveJK_realizations22 = resampled_results22

        self.errorbars11 = JK_tools.getErrorbars(resampled_results11, params)
        self.errorbars12 = JK_tools.getErrorbars(resampled_results12, params)
        self.errorbars22 = JK_tools.getErrorbars(resampled_results22, params)

        self.runtime = t2 - t1