Best-Fit Bias
Compute systematic bias on parameters from neglecting contributions in the model.
Method
Best-fit bias is computed via get_fish by passing a bias_list argument specifying the neglected term(s). The resulting FisherMat object stores the bias values in its .bias attribute.
fisher = forecast.get_fish(
param_list,
terms='NPP',
pkln=[0, 2],
bias_list='WS' # neglected term(s)
)
# Access bias values
fisher.bias
Usage
import cosmo_wap as cw
from cosmo_wap.lib import utils
from cosmo_wap.forecast import FullForecast
cosmo = utils.get_cosmo(h=0.67, Omega_m=0.31)
survey = cw.SurveyParams.Euclid(cosmo)
cosmo_funcs = cw.ClassWAP(cosmo, survey)
forecast = FullForecast(cosmo_funcs, kmax_func=0.15, N_bins=4)
# Bias on fNL from neglecting wide-separation
fisher = forecast.get_fish(
["fNL", "A_s", "n_s"],
terms=["NPP", "Loc"],
pkln=[0, 2],
bias_list="WS"
)
for param in ["fNL", "A_s", "n_s"]:
print(f"Bias on {param}: {fisher.bias[param]:.4e}")
# Bias from neglecting GR effects
fisher_gr = forecast.get_fish(
["fNL", "A_s", "n_s"],
terms=["NPP", "Loc"],
pkln=[0, 2],
bias_list="GR1"
)
Alternative: best_fit_bias
Bias can also be computed directly via the standalone method:
- FullForecast.best_fit_bias(param, bias_term, terms='NPP', pkln=None, bkln=None, verbose=True, sigma=None)
Compute parameter bias from neglecting a contribution.
- Parameters:
param – Parameter(s) to compute bias for (string or list)
bias_term – Neglected term(s) (see Available Terms)
terms (str) – Base terms (see Available Terms, default:
'NPP')pkln (list) – Pk multipoles
bkln (list) – Bk multipoles
verbose (bool) – Show progress
sigma (float) – FoG damping
- Returns:
Tuple of (bias_dict, fisher_diagonal)
bias, fisher_diag = forecast.best_fit_bias(
["fNL", "A_s", "n_s"],
bias_term="WS",
terms=["NPP", "Loc"],
pkln=[0, 2]
)
for param in ["fNL", "A_s", "n_s"]:
print(f"Bias on {param}: {bias[param]:.4e}")