jesterTOV.inference.likelihoods.nicer.NICERKDELikelihood#
- class NICERKDELikelihood(
- psr_name,
- amsterdam_samples_file,
- maryland_samples_file,
- penalty_value=-99999.0,
- N_masses_evaluation=20,
- N_masses_batch_size=10,
Bases:
LikelihoodBaseNICER likelihood using KDE (Kernel Density Estimation) approach.
This is the original NICER likelihood implementation that uses KDE on M-R posterior samples. For the flow-based version, see NICERLikelihood.
TODO: Generalize to e.g. only one group, weights between different hotspot models,…
This likelihood loads posterior samples from Amsterdam and Maryland groups, constructs KDEs, and evaluates the likelihood by: 1. Sampling masses from the NICER posterior samples 2. Interpolating radius from the EOS for those masses 3. Evaluating the KDE log probability at (mass, radius) 4. Averaging over all samples
- Parameters:
psr_name (str) – Pulsar name (e.g., “J0030”, “J0740”)
amsterdam_samples_file (str) – Path to npz file with Amsterdam group posterior samples Expected to contain ‘mass’ (Msun) and ‘radius’ (km) arrays
maryland_samples_file (str) – Path to npz file with Maryland group posterior samples Expected to contain ‘mass’ (Msun) and ‘radius’ (km) arrays
penalty_value (float, optional) – Penalty value for samples where mass exceeds Mtov (default: -99999.0)
N_masses_evaluation (int, optional) – Number of mass samples per likelihood evaluation (default: 20)
N_masses_batch_size (int, optional) – Batch size for processing mass samples (default: 10)
- Variables:
psr_name (str) – Pulsar name
penalty_value (float) – Penalty value for samples where mass exceeds Mtov
N_masses_evaluation (int) – Number of mass samples per likelihood evaluation
N_masses_batch_size (int) – Batch size for processing mass samples
amsterdam_masses (Float[Array, " n_amsterdam"]) – Mass samples from Amsterdam group
maryland_masses (Float[Array, " n_maryland"]) – Mass samples from Maryland group
amsterdam_posterior (gaussian_kde) – KDE of Amsterdam (mass, radius) posterior
maryland_posterior (gaussian_kde) – KDE of Maryland (mass, radius) posterior
- __init__(
- psr_name,
- amsterdam_samples_file,
- maryland_samples_file,
- penalty_value=-99999.0,
- N_masses_evaluation=20,
- N_masses_batch_size=10,
Methods
__init__(psr_name, amsterdam_samples_file, ...)evaluate(params)Evaluate log likelihood for given EOS parameters
Attributes
dataThe data for the likelihood.
modelThe model for the likelihood.
- amsterdam_masses: Float[Array, 'n_amsterdam']#
- amsterdam_posterior: gaussian_kde#
- evaluate(params)[source]#
Evaluate log likelihood for given EOS parameters
- Parameters:
params (dict[str, Float | Array]) – Must contain: - ‘_random_key’: Random seed for mass sampling (cast to int64) - ‘masses_EOS’: Array of neutron star masses from EOS - ‘radii_EOS’: Array of neutron star radii from EOS
- Return type:
Float- Returns:
Float – Log likelihood value for this NICER observation
- maryland_masses: Float[Array, 'n_maryland']#
- maryland_posterior: gaussian_kde#