eztaox.fitter

This module contains the fitter functions that fits a model to data.

Functions

random_search(→ tuple[dict[str, ...)

Fit a model using random search plus optimization.

simpleOptimizer(→ tuple[dict[str, ...)

Fit a model using a simple optimizer.

Module Contents

Fit a model using random search plus optimization.

Parameters:
  • model (UniVarModel | MultiVarModel) – EzTaoX Light curve model.

  • initSampler (Callable) – Function to sample initial parameters.

  • prng_key (jax.random.PRNGKey) – Random number generator key.

  • nSample (int) – Number of random samples to draw.

  • nBest (int) – Number of best samples (selected based on their likelihod values) to keep for optimization.

  • jaxoptMethod (str, optional) – Optimization algorithm. Defaults to “SLSQP”.

  • batch_size (int, optional) – The batch size used in evaluating likehood of randomly drawn samples. Defaults to 1000.

Returns:

Best parameters and their log likelihood.

Return type:

tuple[dict[str, JAXArray], JAXArray]

simpleOptimizer(model: eztaox.models.UniVarModel | eztaox.models.MultiVarModel, optimizer: optax.GradientTransformation, initSample: dict[str, tinygp.helpers.JAXArray], nStep: int) tuple[dict[str, tinygp.helpers.JAXArray], tuple[dict[str, tinygp.helpers.JAXArray], tinygp.helpers.JAXArray, dict[str, tinygp.helpers.JAXArray]]][source]

Fit a model using a simple optimizer.

Parameters:
  • model (UniVarModel | MultiVarModel) – EzTaoX Light curve model.

  • optimizer (optax.GradientTransformation) – Optimizer to use.

  • initSample (dict[str, JAXArray]) – The initial guess of parameters.

  • nStep (int) – Number of optimization steps.

Returns:

Best parameters, (parameter history, loss history, gradient history).

Return type:

tuple[dict, tuple[dict, JAXArray, dict]]