eztaox.fitter
This module contains the fitter functions that fits a model to data.
Functions
|
Fit a model using random search plus optimization. |
|
Fit a model using a simple optimizer. |
Module Contents
- random_search(model: eztaox.models.UniVarModel | eztaox.models.MultiVarModel, initSampler: collections.abc.Callable, prng_key: jax.random.PRNGKey, nSample: int, nBest: int, jaxoptMethod: str = 'SLSQP', batch_size: int = 1000) tuple[dict[str, tinygp.helpers.JAXArray], tinygp.helpers.JAXArray][source]
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]]