Ionics Fits
Python data fitting library with an emphasis on Atomic Molecular and Optical Physics.
ionics_fits
was inspired by the Oxford Ion Trap Group fitting library originally authored by
@tballance.
Overview
There are four main types of object in ionics_fits
:
The main source of documentation is the ionics-fits API manual. This has documentation for
all classes in ionics_fits
, with worked examples.
ionics_fits
aims to provide extensive, user-friendly documentation. If you can’t
easily find the information you need to use it, we consider that a bug so please
open an issue.
Model Parameters
A ModelParameter
represents a parameter of the model, along
with metadata such as the limits the parameter is allowed to vary over, wheter it is
fixed to a constant value or floated during the fit, etc.
Models
A Model
represents a fit function along with a dictionary of
its parameters and heuristics used to find a good starting point for the fitter.
Model
s are agnostic about the statistics of the datasets
they are used to fit.
Model
provides a callable interface to make it covenient
to use them outside of fits. See ionics_fits.common.Model.__call__()
for details.
Transformations are a special class of models which modify the behaviour of other models, for example allowing a model to be reparametrized or combining existing models to create a new model with greater dimensionality.
Fitters
Fitter
s perform maximum-likelihood parameter estimation to
fit datasets to models. A number of Fitters are provided to handle common
statistical distributions, such as Normal and Binomial distributions.
Validators
It’s not enough to just fit the data, we want to know if we can trust the fit results
before acting on them. This is the job of
FitValidator
s. See the Validators API
documentation for details.