# Fit¶

class sherpa.fit.Fit(data, model, stat=None, method=None, estmethod=None, itermethod_opts=None)[source]

Fit a model to a data set.

Parameters: data (sherpa.data.Data or sherpa.data.DataSimulFit instance) – The data to be fit. model (sherpa.models.model.Model or sherpa.models.model.SimulFitModel instance) – The model to fit to the data. It should match the data parameter (i.e. be a SimulFitModel object when data is a DataSimulFit). stat (sherpa.stats.Stat instance or None, optional) – The statistic object to use. If not given then Chi2Gehrels is used. method (sherpa.optmethods.OptMethod instance or None, optional) – The optimiser to use. If not given then LevMar is used. estmethod (sherpa.estmethod.EstMethod instance or None, optional) – The class used to calculate errors. If not given then Covariance is used. itermethod_opts (dict or None, optional) – If set, defines the iterated-fit method and options to use. It is passed through to IterFit.

Methods Summary

 calc_chisqr() Calculate the per-bin chi-squared statistic. calc_stat() Calculate the statistic value. calc_stat_info() Calculate the statistic value and related information. est_errors([methoddict, parlist]) Estimate errors. fit([outfile, clobber]) Fit the model to the data. guess(\*\*kwargs) Guess parameter values and limits. simulfit(\*others) Fit multiple data sets and models simultaneously.

Methods Documentation

calc_chisqr()[source]

Calculate the per-bin chi-squared statistic.

Evaluate the per-bin statistic for the current model and data settings (e.g. parameter values and data filters).

Returns: chisq – The chi-square value for each bin of the data, using the current statistic (as set by set_stat). A value of None is returned if the statistic is not a chi-square distribution. array or None
calc_stat()[source]

Calculate the statistic value.

Evaluate the statistic for the current model and data settings (e.g. parameter values and data filters).

Returns: stat – The current statistic value. number
calc_stat_info()[source]

Calculate the statistic value and related information.

Evaluate the statistic for the current model and data settings (e.g. parameter values and data filters).

Returns: statinfo – The current statistic value. StatInfoResults instance
est_errors(methoddict=None, parlist=None)[source]

Estimate errors.

Calculate the low and high errors for one or more of the thawed parameters in the fit.

Parameters: methoddict (dict or None, optional) – A dictionary mapping from lower-cased method name to the associated optimisation method instance to use. This is only used if the method is changed, as described in the Notes section below. parlist (seqquence of sherpa.model.parameter.Parameter instances or None, optional) – The names of the parameters for which the errors should be calculated. If set to None then all the thawed parameters are used. res ErrorEstResults instance sherpa.utils.err.EstErr – If any parameter in parlist is not valid (i.e. is not thawed or is not a member of the model expression being fit), or if the statistic is LeastSq, or if the reduced chi-square value of the current parameter values is larger than the max_rstat option (for chi-square statistics).

Notes

If a new minimum is found for any parameter then the calculation is automatically started for all the parameters using this new best-fit location. This can repeat until the maxfits option is reached.

Unless the Covariance estimator is being used, ot the fast option is unset, then the method will be changed to NelderMead (for likelihood-based statistics) or LevMar (for chi-square based statistics) whilst calculating the errors.

fit(outfile=None, clobber=False)[source]

Fit the model to the data.

Parameters: outfile (str or None, optional) – If not None then information on the fit is written to this file. clobber (bool, optional) – Determines if the output file can be overwritten. fitres FitResults instance sherpa.utils.err.FitErr – This is raised if clobber is False and outfile already exists or if all the bins have been masked out of the fit.

Notes

The file created when outfile is set is a simple ASCII file with a header line containing the text “# nfev statistic” and then a list of the thawed parameters, and then one line for each iteration, with the values separated by spaces.

guess(**kwargs)[source]

Guess parameter values and limits.

The model’s guess() method is called with the data values (the dependent axis of the data set) and the kwargs arguments.

simulfit(*others)[source]

Fit multiple data sets and models simultaneously.

The current fit object is combined with the other fit objects and a simultaneous fit is made, using the object’s statistic and optimisation method.

Parameters: *others (sherpa.fit.Fit instances) – The data and model attributes of these arguments are used, along with those from the object. fitres FitResults instance