Modeling and Fitting (DL4 to DL5)#
Models#
gammapy.modeling
contains all the functionality related to modeling and fitting
data. This includes spectral, spatial and temporal model classes, as well as the fit
and parameter API.
Assuming you have prepared your gamma-ray data as a set of
Dataset
objects, and
stored one or more datasets in a Datasets
container, you are
all set for modeling and fitting. Either via a YAML config file, or via Python
code, define the Models
to use, which is a list of
SkyModel
objects representing additive emission
components, usually sources or diffuse emission, although a single source can
also be modeled by multiple components if you want. The
SkyModel
is a factorised model with a
SpectralModel
component and a
SpatialModel
component. Most commonly used models in
gamma-ray astronomy are built-in, see the Model gallery.
It is easy to create user-defined models and
datasets, Gammapy is very flexible.
The Fit
class provides methods to fit, i.e. optimise
parameters and estimate parameter errors and correlations. It interfaces with a
Datasets
object, which in turn is connected to a
Models
object, which has a
Parameters
object, which contains the model parameters.
Currently iminuit
is used as modeling and fitting backend, in the future we
plan to support other optimiser and error estimation methods, e.g. from
scipy
. Models can be unique for a given dataset, or contribute to multiple
datasets and thus provide links, allowing e.g. to do a joint fit to multiple
IACT datasets, or to a joint IACT and Fermi-LAT dataset. Many examples are given
in the tutorials.
Built-in models#
Gammapy provides a large choice of spatial, spectral and temporal models. You may check out the whole list of built-in models in the Model gallery.
Custom models#
Gammapy provides an easy interface to create your own custom models
Using gammapy.modeling#
Gammapy tutorial notebooks that show examples using gammapy.modeling
: