tsgm.optimization.abc

Module Contents

class ABCAlgorithm[source]

A base class for ABC algorithms.

class RejectionSampler(simulator: tsgm.simulator.ModelBasedSimulator, data: tsgm.dataset.Dataset, statistics: List, epsilon: float, discrepancy: Callable, priors: Dict = None, **kwargs)[source]

Bases: ABCAlgorithm

Rejection sampling algorithm for approximate Bayesian computation.

Parameters:
  • simulator (class tsgm.simulator.ModelBasedSimulator) – A model based simulator

  • data (class tsgm.dataset.Dataset) – Historical dataset storage

  • statistics (list) – contains a list of summary statistics

  • epsilon (float) – tolerance of synthetically generated data to a set of summary statistics

  • discrepancy (Callable) – discrepancy measure function

  • priors – set of priors for each of the simulator parametors, defaults to DEFAULT_PRIOR

sample_parameters(n_samples: int) List[source]

Samples parameters from the rejection sampler.

Parameters:

n_samples – Number of samples

Returns:

A list of samples. Each sample is represent as dict.

Return type:

T.List[T.Dict]

prior_samples(priors: Dict, params: List) Dict[source]

Generate prior samples for the specified parameters.

Parameters:
  • priors (T.Dict) – A dictionary containing probability distributions for each parameter. Keys are parameter names, and values are instances of probability distribution classes. If a parameter is not present in the dictionary, a default prior distribution is used.

  • params (T.List) – A list of parameter names for which prior samples are to be generated.

Returns:

A dictionary where keys are parameter names and values are samples drawn from their respective prior distributions.

Return type:

T.Dict

Example:

priors = {'mean': NormalDistribution(0, 1), 'std_dev': UniformDistribution(0, 2)}
params = ['mean', 'std_dev']
samples = prior_samples(priors, params)