pybop.costs.log_likelihoods#

Classes#

GaussianLogLikelihood

This class represents a Gaussian log-likelihood, which evaluates the log-likelihood under

GaussianLogLikelihoodKnownSigma

This class represents a Gaussian log-likelihood with a known sigma, which evaluates the

LogLikelihood

Base class for likelihoods.

Module Contents#

class pybop.costs.log_likelihoods.GaussianLogLikelihood(dataset: pybop.processing.dataset.Dataset, sigma: float | list[float] | list[pybop.parameters.parameter.Parameter] = 0.01, target: str | list[str] = None)[source]#

Bases: LogLikelihood

This class represents a Gaussian log-likelihood, which evaluates the log-likelihood under the assumption that measurement noise on the target data follows a Gaussian distribution.

This class estimates the standard deviation of the Gaussian distribution alongside the parameters of the model.

_logpi#

Precomputed offset value for the log-likelihood function.

Type:

float

__call__(r: numpy.ndarray, dy: numpy.ndarray | None = None, inputs: pybop.parameters.parameter.Inputs | None = None) float | tuple[float, numpy.ndarray][source]#

Compute the Gaussian log-likelihood for the given parameters.

_add_single_sigma(index, value)[source]#
_pad_sigma(sigma)[source]#
set_sigma(sigma: float | list[float] | list[pybop.parameters.parameter.Parameter])[source]#

Set the noise variance (sigma) after checking its validity.

_logpi#
class pybop.costs.log_likelihoods.GaussianLogLikelihoodKnownSigma(dataset: pybop.processing.dataset.Dataset, sigma: list[float] | float, target: str | list[str] = None)[source]#

Bases: LogLikelihood

This class represents a Gaussian log-likelihood with a known sigma, which evaluates the log-likelihood under the assumption that measurement noise on the target data follows a Gaussian distribution.

Parameters:

sigma (scalar or array) – Initial standard deviation around x0. Either a scalar value (one standard deviation for all coordinates) or an array with one entry per dimension.

__call__(r: numpy.ndarray, dy: numpy.ndarray | None = None, inputs: pybop.parameters.parameter.Inputs | None = None) float | tuple[float, numpy.ndarray][source]#

Compute the Gaussian log-likelihood for the given parameters with known sigma.

set_sigma(sigma: numpy.ndarray | float)[source]#

Set sigma after checking its validity.

class pybop.costs.log_likelihoods.LogLikelihood(dataset: pybop.processing.dataset.Dataset, target: str | list[str] = None)[source]#

Bases: pybop.costs.error_measures.ErrorMeasure

Base class for likelihoods.

Exists to distinguish between error measures and likelihood-based costs.

abstractmethod set_sigma(sigma: numpy.ndarray | float, n_outputs: int, n_data: int)[source]#

Set the noise variance (sigma) after checking its validity.

minimising = False#
parameters#
sigma = None#