MapFit¶
-
class
gammapy.cube.
MapFit
(model, counts, exposure, background=None, mask=None, psf=None, edisp=None)[source]¶ Bases:
gammapy.utils.fitting.Fit
Perform sky model likelihood fit on maps.
This is the first go at such a class. It’s geared to the
SpectrumFit
class which does the 1D spectrum fit.Parameters: model :
SkyModel
Fit model
counts :
WcsNDMap
Counts cube
exposure :
WcsNDMap
Exposure cube
background :
WcsNDMap
Background Cube
mask :
WcsNDMap
Mask to apply for the fit. All the pixels that contain 1 or True are included in the fit, all others are ignored.
psf :
PSFKernel
PSF kernel
edisp :
EnergyDispersion
Energy dispersion
Attributes Summary
stat
Likelihood per bin given the current model parameters Methods Summary
likelihood_profile
(model, parameter[, …])Compute likelihood profile for a single parameter of the model. likelihood_profiles
(model[, parameters])Compute likelihood profiles for multiple parameters. optimize
([backend])Run the optimization run
([steps, optimize_opts, profile_opts])Run all fitting steps. total_stat
(parameters)Total likelihood given the current model parameters Attributes Documentation
-
stat
¶ Likelihood per bin given the current model parameters
Methods Documentation
-
likelihood_profile
(model, parameter, values=None, bounds=2, nvalues=11)¶ Compute likelihood profile for a single parameter of the model.
Parameters: model :
SpectralModel
Model to compute the likelihood profile for.
parameter : str
Parameter to calculate profile for
values :
Quantity
(optional)Parameter values to evaluate the likelihood for.
bounds : int or tuple of float
When an
int
is passed the bounds are computed frombounds * sigma
from the best fit value of the parameter, wheresigma
corresponds to the one sigma error on the parameter. If a tuple of floats is given those are taken as the min and max values andnvalues
are linearly spaced between those.nvalues : int
Number of parameter grid points to use.
Returns: likelihood_profile : dict
Dict of parameter values and likelihood values.
-
likelihood_profiles
(model, parameters='all')¶ Compute likelihood profiles for multiple parameters.
Parameters: model :
SpectralModel
orSkyModel
Model to compute the likelihood profile for.
parameters : list of str or “all”
For which parameters to compute likelihood profiles.
-
optimize
(backend='minuit', **kwargs)¶ Run the optimization
Parameters: backend : {“minuit”, “sherpa”}
Which fitting backend to use.
**kwargs : dict
Keyword arguments passed to the optimizer. For the
"minuit"
backend see https://iminuit.readthedocs.io/en/latest/api.html#iminuit.Minuit for a detailed description of the available options. For the"sherpa"
backend you can from the optionsmethod = {"simplex", "levmar", "moncar", "gridsearch"}
Those methods are described and compared in detail on http://cxc.cfa.harvard.edu/sherpa/methods/index.html. The available options of the optimization methods are described on the following pages in detail:Returns: fit_result :
dict
Optimize info dict with the best fit model and additional information.
-
run
(steps='all', optimize_opts=None, profile_opts=None)¶ Run all fitting steps.
Parameters: steps : {“all”, “optimize”, “errors”, “profiles”}
Which fitting steps to run.
optimize_opts : dict
Options passed to
Fit.optimize
.profile_opts : dict
Options passed to
Fit.likelihood_profiles
.Returns: fit_result :
FitResult
Fit result object with the best fit model and additional information.
-