Set the iterative-fitting scheme used in the fit.

Control whether an iterative scheme should be applied to the fit.

Changed in version 4.14.1: The “primini” scheme has been removed from Sherpa.


meth ({ 'none', 'sigmarej' }) – The name of the scheme used during the fit; ‘none’ means no scheme is used. It is only valid to change the scheme when a chi-square statistic is in use.


TypeError – When the meth argument is not recognized.

See also


Fit a model to one or more data sets.


Return the name of the iterative fitting scheme.


Return one or all options for the iterative-fitting scheme.


List the iterative fitting schemes.


Set an option for the iterative-fitting scheme.


Set the statistical method.


The parameters of the schemes are described in set_iter_method_opt.

This is a chi-square statistic where the variance is computed from model amplitudes derived in the previous iteration of the fit. This ‘Iterative Weighting’ ([1]) attempts to remove biased estimates of model parameters.

The variance in bin i is estimated to be:

sigma^2_i^j = S(i, t_s^(j-1)) + (A_s/A_b)^2 B_off(i, t_b^(j-1))

where j is the number of iterations that have been carried out in the fitting process, B_off is the background model amplitude in bin i of the off-source region, and t_s^(j-1) and t_b^(j-1) are the set of source and background model parameter values derived during the iteration previous to the current one. The variances are set to an array of ones on the first iteration.

In addition to reducing parameter estimate bias, this statistic can be used even when the number of counts in each bin is small (< 5), although the user should proceed with caution.

The sigmarej scheme is based on the IRAF ``sfit` function <>`_, where after a fit data points are excluded if the value of (data-model)/error) exceeds a threshold, and the data re-fit. This removal of data points continues until the fit has converged. The error removal can be asymmetric, since there are separate parameters for the lower and upper limits.


  1. “Multiparameter linear least-squares fitting to Poisson data one count at a time”, Wheaton et al. 1995, ApJ 438, 322


Switch to the ‘sigmarej’ scheme for iterative fitting and change the low and high rejection limits to 4 and 3 respectively:

>>> set_iter_method('sigmarej')
>>> set_iter_method_opt('lrej') = 4
>>> set_iter_method_opt('hrej') = 3

Remove any iterative-fitting method:

>>> set_iter_method('none')