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
def test_getErrorbars(): class p: def __init__(self, ngroups): self.JK_NGROUPS = ngroups howManyJKiterations = 50000 fakePars = p(howManyJKiterations) res = np.random.normal(size=[howManyJKiterations, 20]) errorbars = JK_tools.getErrorbars(res, fakePars) std_res = np.std(res, axis=0) * np.sqrt(howManyJKiterations - 1) diff_sq = (std_res - errorbars)**2 assert diff_sq.sum() < 1e-10