class sakkara.model.Likelihood(generator: Callable, observed: DataComponent, name: str = 'likelihood', group: str | Tuple[str, ...] = 'obs', nan_param_mask: Dict[str, Any] | None = None, nan_data_mask: Any | None = None, **kwargs: Any)#

Component for a likelihood distribution, e.g, with observed data.

Parameters:
  • generator – PyMC callable for distribution to use.

  • observed – Data to input as observed keyword in PyMC.

  • name – Name of the corresponding variable to register in PyMC.

  • group – Group of which the component is defined for.

  • nan_param_mask – Masked distribution parameters to use for rows with Nan, must be defined for each keyword argument entered. Required if there are Nan in observed.

  • nan_data_mask – Masked observed value to use for rows with Nan. Required if there are Nan in observed.

class sakkara.model.MinibatchLikelihood(generator: Callable, observed: DataComponent, batch_size: int, name: str = 'likelihood', group: str = 'obs', nan_param_mask: Dict[str, Any] | None = None, nan_data_mask: Any | None = None, **kwargs: Any)#

Likelihood to use if minibatch is used. Requires iid data.

Parameters:
  • generator – PyMC callable for distribution to use.

  • observed – Data to input as observed keyword in PyMC.

  • batch_size – Size of mini-batch (# of observations per evaluation)

  • name – Name of the corresponding variable to register in PyMC.

  • group – Group of which the component is defined for.

  • nan_param_mask – Masked distribution parameters to use for rows with Nan, must be defined for each keyword argument entered. Required if there are Nan in observed.

  • nan_data_mask – Masked observed value to use for rows with Nan. Required if there are Nan in observed.