stanbkt.fits.VBFitOptions#

class stanbkt.fits.VBFitOptions(seed=None, extra_kwargs=<factory>, algorithm='meanfield', iter=None, grad_samples=1, elbo_samples=None, eta=None, draws=None, require_converged=True)#

Bases: BaseFitOptions

Common options for cmdstanpy.CmdStanModel.variational().

Parameters:
  • algorithm (str) – Variational algorithm (for example, "meanfield" or "fullrank").

  • iter (int | None) – Maximum number of iterations.

  • grad_samples (int | None) – Number of Monte Carlo gradient samples.

  • elbo_samples (int | None) – Number of Monte Carlo ELBO samples.

  • eta (float | None) – Stepsize scaling parameter.

  • draws (int | None) – Number of approximate posterior draws to save.

  • seed (int | None) – RNG seed.

  • extra_kwargs (dict[str, Any])

  • require_converged (bool)

algorithm: str = 'meanfield'#
draws: int | None = None#
elbo_samples: int | None = None#
eta: float | None = None#
extra_kwargs: dict[str, Any]#
classmethod from_dict(d)#

Create fit options from a dictionary.

Known dataclass fields are extracted and used for instantiation. Remaining keys are stored in extra_kwargs for CmdStanPy.

Parameters:

d (dict[str, Any]) – Dictionary containing fit options. Keys matching dataclass fields are assigned to those fields; remaining keys go to extra_kwargs.

Returns:

New instance of the fit options class with fields populated from dict.

Return type:

Self

grad_samples: int | None = 1#
iter: int | None = None#
require_converged: bool = True#
seed: int | None = None#
to_dict()#

Convert options to a CmdStanPy kwargs dictionary.

None values are removed so CmdStanPy can apply its own defaults.

Returns:

Flat kwargs dictionary for CmdStanPy APIs.

Return type:

dict[str, Any]