set_iter_method
- sherpa.ui.set_iter_method(meth)
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.
- Parameters:
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.
- Raises:
TypeError – When the
meth
argument is not recognized.
See also
fit
Fit a model to one or more data sets.
get_iter_method_name
Return the name of the iterative fitting scheme.
get_iter_method_opt
Return one or all options for the iterative-fitting scheme.
list_iter_methods
List the iterative fitting schemes.
set_iter_method_opt
Set an option for the iterative-fitting scheme.
set_stat
Set the statistical method.
Notes
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 which is inherent in chi-square statistics ([2]).
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 IRAFsfit
function [2], 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.References
Examples
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')