F_mean = F_vals.mean() F_sigma = F_vals.std() F_min = F_vals.min() F_max = F_vals.max() nBins = 25 bin_edges = np.linspace(F_min * 0.99, F_max * 1.01, nBins) F_hist, bin_edges = np.histogram(F_vals, bins=bin_edges) bin_centers = (bin_edges[1:] + bin_edges[:-1]) / 2 F_hist = F_hist.astype(np.float) fraction_enclosed = 0.68 p_max, p_edge_l, p_edge_r, p_interval, y_interval = get_highest_probability_interval( bin_centers, F_hist, fraction_enclosed, n_points_interpolation=100000, interp='linear', center='max') p_max = -np.log(p_max) p_mean = -np.log(F_mean) p_edge_p = -np.log(p_edge_l) p_edge_m = -np.log(p_edge_r) data[uvb]['z'].append(current_z) data[uvb]['mean'].append(p_mean) data[uvb]['plus'].append(p_edge_p) data[uvb]['minus'].append(p_edge_m) data[uvb]['mean'] = np.array(data[uvb]['mean'])
for i in range(n_kSamples ): # i = 0 p_vals = power_all[:,i] power_mean.append( p_vals.mean() ) power_sigma.append( p_vals.std() ) # power_mean = np.array(power_mean) # power_sigma = np.array(power_sigma) power_hist, bin_edges = np.histogram( p_vals, bins=50 ) bin_centers = ( bin_edges[1:] + bin_edges[:-1] ) / 2. power_hist = power_hist.astype(np.float) fraction_enclosed = 0.70 p_mean, p_edge_l, p_edge_r, p_interval, y_interval = get_highest_probability_interval( bin_centers, power_hist, fraction_enclosed, n_points_interpolation=100 ) nrows = 1 ncols = 1 fig, ax_l = plt.subplots(nrows=nrows, ncols=ncols, figsize=(10*ncols,10*nrows)) fs = 17 plt.plot( bin_centers, power_hist ) # plt.plot( bins_interpolated, power_hist_interpolation ) plt.fill_between( p_interval, y_interval, facecolor='orange', alpha=0.9 )