stanbkt.fits.FitFactory#

class stanbkt.fits.FitFactory#

Bases: object

Factory for creating fit classes and options based on fit method.

FIT_METHOD_TO_OPTION_MAPPING: dict[FitMethod, type[MCMCFitOptions | VBFitOptions | MLEFitOptions | PFFitOptions]] = {FitMethod.MCMC: <class 'stanbkt.fits.fit_options.MCMCFitOptions'>, FitMethod.MLE: <class 'stanbkt.fits.fit_options.MLEFitOptions'>, FitMethod.PATHFINDER: <class 'stanbkt.fits.fit_options.PFFitOptions'>, FitMethod.VB: <class 'stanbkt.fits.fit_options.VBFitOptions'>}#
static create_default_fit_options(fit_method)#

Get default fit options for a given fit method.

Parameters:

fit_method (FitMethod) – Fit method for which to get default options.

Returns:

Default fit options for the specified method.

Return type:

Union[MCMCFitOptions, VBFitOptions, MLEFitOptions, PFFitOptions]

Raises:

ValueError – If fit method is unsupported.

static create_fit_options_from_dict(fit_option_dict, fit_method)#

Create fit options from a dictionary for a given fit method.

Parameters:
  • fit_option_dict (dict) – Dictionary containing fit option parameters.

  • fit_method (FitMethod) – Fit method for which to create options.

Returns:

Fit options instance created from the dictionary.

Return type:

Union[MCMCFitOptions, VBFitOptions, MLEFitOptions, PFFitOptions]

Raises:

ValueError – If fit method is unsupported.

static get_fit_class_from_method(fit_method)#

Get the expected CmdStan fit class for this fit method.

Returns:

Expected CmdStan fit class corresponding to this fit method.

Return type:

type[FitBase]

Raises:

ValueError – If fit method is unsupported.

Parameters:

fit_method (FitMethod)

static verify_fit_options_compatibility(fit_options, fit_method, cpp_compile_kwargs={})#

Verify that provided fit options are compatible with the specified fit method.

Parameters:
  • fit_options (Union[MCMCFitOptions, VBFitOptions, MLEFitOptions, PFFitOptions]) – Fit options to verify.

  • fit_method (FitMethod) – Fit method for which to verify compatibility.

  • cpp_compile_kwargs (dict) – C++ compile kwargs to check for compatibility with fit options (e.g. for MCMC multi-threading), by default {}

Raises:
  • TypeError – If fit options are not compatible with the specified fit method.

  • ValueError – If fit method is unsupported.

Return type:

None