evofr.posterior package

Submodules

evofr.posterior.posterior_handler module

class MultiPosterior(posteriors=None, posterior=None)

Bases: object

Parameters:
add_posterior(posterior)

Add PosteriorHandler to MultiPosterior by its name.

Parameters:

posterior (PosteriorHandler)

add_posteriors(posteriors)

Add multiple PosteriorHandlers to MultiPosterior by name.

Parameters:

posteriors (List[PosteriorHandler])

get(name)

Return PosteriorHandler by name

class PosteriorHandler(samples=None, data=None, name=None)

Bases: object

Parameters:
  • samples (Dict | None)

  • data (DataSpec | None)

  • name (str | None)

get_data_dict()

Convert dataspec to corresponding dictionary.

get_site(site)

Get samples at a given site from PosteriorHandler.

Parameters:

site (str)

load_posterior(filepath, method=None)

Load posterior samples from a given filepath.

Parameters:

filepath (str)

save_posterior(filepath, method=None)
Parameters:

filepath (str)

unpack_posterior()

Return samples and dataspec from PosteriorHandler.

determine_method(filepath)

Determines the serialization method based on the file extension.

Parameters:

filepath (str) – The path of the file including its extension.

Returns:

The serialization method (“json” or “pickle”).

Return type:

str

Raises:

ValueError – If the file extension is not recognized.

load_data(filename, method='json')

Load data from a file using either JSON or pickle based on the user’s choice.

Parameters: - filename: The filename from which the data will be loaded. - method: The serialization method (‘json’ or ‘pickle’).

Returns: - The data loaded from the file.

Raises: - ValueError: If the provided method is not supported.

save_data(data, filename, method='json')

Save data to a file using either JSON or pickle based on the user’s choice.

Parameters: - data: The data to be serialized and saved. - filename: The filename where the data will be saved. - method: The serialization method (‘json’ or ‘pickle’).

Raises: - ValueError: If the provided method is not supported.

evofr.posterior.posterior_helpers module

class EvofrEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)

Bases: JSONEncoder

default(obj)

Implement this method in a subclass such that it returns a serializable object for o, or calls the base implementation (to raise a TypeError).

For example, to support arbitrary iterators, you could implement default like this:

def default(self, o):
    try:
        iterable = iter(o)
    except TypeError:
        pass
    else:
        return list(iterable)
    # Let the base class default method raise the TypeError
    return super().default(o)
combine_sites_tidy(tidy_dicts)
get_freq(samples, data, ps, name, forecast=False)
Parameters:
get_growth_advantage(samples, data, ps, name, rel_to=None)
get_median(samples, site)

Returns median value across all samples for a site

Parameters:

samples (Dict)

get_quantile(samples, p, site)

Returns credible interval of size ‘p’ from ‘samples’ at ‘site’.

Parameters:
  • samples (Dict) – Dictionary with keys being site or variable names. Values are Arrays with shape (sample_number, site_shape).

  • p – Percent credible interval to return.

  • site – Name of variable to generate credible interval for.

Return type:

Array of shape (site_shape).

get_quantiles(samples, ps, site)

Returns credible interval of sizes ‘ps’ from ‘samples’ at ‘site’.

Parameters:

samples (Dict)

get_site_by_variant(samples, data, ps, name, site, forecast=False)
Parameters:
get_sites_quantiles_json(samples, data, sites, ps, name=None)
Parameters:
  • samples (Dict)

  • data (DataSpec)

  • sites (List[str])

  • name (str | None)

get_sites_variants_json(samples, data, sites, ps, name=None)
Parameters:
  • samples (Dict)

  • data (DataSpec)

  • sites (List[str])

  • name (str | None)

get_sites_variants_tidy(samples, data, sites, dated, forecasts, ps, name=None)
Parameters:
  • samples (Dict)

  • data (DataSpec)

  • sites (List[str])

  • dated (List[bool])

  • forecasts (List[bool])

  • name (str | None)

save_json(out, path)
Parameters:

out (dict)

Return type:

None

Module contents