pmrf.fitting.BayesianContext

class pmrf.fitting.BayesianContext(model, measured, frequency, features, measured_features, output_path=None, output_root=None, sparam_kind=None, logger=None, likelihood_kind=None, likelihood_params=None, feature_sigmas=None)[source]

Bases: FitContext

Context object for Bayesian fitting, containing likelihood configurations.

Parameters:
  • model (Model)

  • measured (Network | NetworkCollection)

  • frequency (Frequency)

  • features (list[tuple[str, str, tuple[int, int]]])

  • measured_features (ndarray)

  • output_path (str | None)

  • output_root (str | None)

  • sparam_kind (str | None)

  • logger (Logger | None)

  • likelihood_kind (str)

  • likelihood_params (dict[str, Parameter])

  • feature_sigmas (list[str] | None)

likelihood_kind

The type of likelihood function (e.g., ‘gaussian’, ‘multivariate_gaussian’).

Type:

str or None

likelihood_params

Parameters governing the likelihood function (e.g., noise standard deviation).

Type:

dict[str, Parameter] or None

feature_sigmas

Mapping of feature names to likelihood parameter names for multivariate cases.

Type:

list[str] or None

__init__(model, measured, frequency, features, measured_features, output_path=None, output_root=None, sparam_kind=None, logger=None, likelihood_kind=None, likelihood_params=None, feature_sigmas=None)
Parameters:
  • model (Model)

  • measured (Network | NetworkCollection)

  • frequency (Frequency)

  • features (list[tuple[str, str, tuple[int, int]]])

  • measured_features (ndarray)

  • output_path (str | None)

  • output_root (str | None)

  • sparam_kind (str | None)

  • logger (Logger | None)

  • likelihood_kind (str | None)

  • likelihood_params (dict[str, Parameter] | None)

  • feature_sigmas (list[str] | None)

Return type:

None

Methods

__delattr__(name, /)

Implement delattr(self, name).

__dir__()

Default dir() implementation.

__eq__(other)

Return self==value.

__format__(format_spec, /)

Default object formatter.

__ge__(value, /)

Return self>=value.

__getattribute__(name, /)

Return getattr(self, name).

__gt__(value, /)

Return self>value.

__init__(model, measured, frequency, ...[, ...])

__init_subclass__

This method is called when a class is subclassed.

__le__(value, /)

Return self<=value.

__lt__(value, /)

Return self<value.

__ne__(value, /)

Return self!=value.

__new__(**kwargs)

__reduce__()

Helper for pickle.

__reduce_ex__(protocol, /)

Helper for pickle.

__repr__()

Return repr(self).

__setattr__(name, value, /)

Implement setattr(self, name, value).

__sizeof__()

Size of object in memory, in bytes.

__str__()

Return str(self).

__subclasshook__

Abstract classes can override this to customize issubclass().

flat_param_names()

Get names of all parameters (model and likelihood).

likelihood_param_names()

Get names of the likelihood parameters.

make_feature_function([as_numpy])

Create a JIT-compiled function to extract features from model parameters.

make_gaussian_log_likelihood_fn()

Create a simple Gaussian log-likelihood function (single sigma).

make_log_likelihood_fn([as_numpy])

Create the log-likelihood function based on the context configuration.

make_log_prior_fn([as_numpy])

Create the log-prior probability density function.

make_multivariate_gaussian_log_likelihood_fn()

Create a multivariate Gaussian log-likelihood function (multiple sigmas).

make_prior_transform_fn([as_numpy])

Create the prior transform function (unit hypercube to parameter space).

model_param_names()

Get the names of the flat parameters of the model.

settings([solver_kwargs, fitter_kwargs])

Create a FitSettings object from the current context.

Attributes

__annotations__

__dataclass_fields__

__dataclass_params__

__dict__

__doc__

__hash__

__match_args__

__module__

__weakref__

list of weak references to the object (if defined)

feature_sigmas

likelihood_kind

likelihood_params

logger

num_likelihood_params

Number of parameters in the likelihood function.

num_model_params

Number of flat parameters in the model.

num_params

Total number of parameters (model + likelihood).

output_path

output_root

sparam_kind

model

measured

frequency

features

measured_features

likelihood_kind: str = None
likelihood_params: dict[str, Parameter] = None
feature_sigmas: list[str] | None = None
property num_params: int

Total number of parameters (model + likelihood).

Type:

int

property num_model_params: int

Number of flat parameters in the model.

Type:

int

property num_likelihood_params: int

Number of parameters in the likelihood function.

Type:

int

likelihood_param_names()[source]

Get names of the likelihood parameters.

Returns:

The names of the likelihood parameters.

Return type:

list of str

flat_param_names()[source]

Get names of all parameters (model and likelihood).

Returns:

Combined list of parameter names.

Return type:

list of str

make_prior_transform_fn(as_numpy=False)[source]

Create the prior transform function (unit hypercube to parameter space).

Parameters:

as_numpy (bool, optional, default=False) – If True, returns a function compatible with NumPy arrays; otherwise JAX arrays.

Returns:

Function transforming a unit hypercube vector u to parameter vector theta.

Return type:

callable

make_log_prior_fn(as_numpy=False)[source]

Create the log-prior probability density function.

Parameters:

as_numpy (bool, optional, default=False) – If True, returns a function compatible with NumPy arrays.

Returns:

Function returning the log-probability of the given parameters.

Return type:

callable

make_log_likelihood_fn(as_numpy=False)[source]

Create the log-likelihood function based on the context configuration.

Parameters:

as_numpy (bool, optional, default=False) – If True, returns a function compatible with NumPy arrays.

Returns:

Function returning the log-likelihood of the parameters given the data.

Return type:

callable

Raises:

Exception – If the likelihood_kind is unsupported.

make_gaussian_log_likelihood_fn()[source]

Create a simple Gaussian log-likelihood function (single sigma).

Returns:

JIT-compiled log-likelihood function.

Return type:

callable

make_multivariate_gaussian_log_likelihood_fn()[source]

Create a multivariate Gaussian log-likelihood function (multiple sigmas).

Returns:

JIT-compiled log-likelihood function.

Return type:

callable

__init__(model, measured, frequency, features, measured_features, output_path=None, output_root=None, sparam_kind=None, logger=None, likelihood_kind=None, likelihood_params=None, feature_sigmas=None)
Parameters:
  • model (Model)

  • measured (Network | NetworkCollection)

  • frequency (Frequency)

  • features (list[tuple[str, str, tuple[int, int]]])

  • measured_features (ndarray)

  • output_path (str | None)

  • output_root (str | None)

  • sparam_kind (str | None)

  • logger (Logger | None)

  • likelihood_kind (str | None)

  • likelihood_params (dict[str, Parameter] | None)

  • feature_sigmas (list[str] | None)

Return type:

None