FittingWithOutlierRemoval(fitter, outlier_func, niter=3, **outlier_kwargs)¶
This class combines an outlier removal technique with a fitting procedure. Basically, given a maximum number of iterations
niter, outliers are removed and fitting is performed for each iteration, until no new outliers are found or
- fitterAn Astropy fitter
An instance of any Astropy fitter, i.e., LinearLSQFitter, LevMarLSQFitter, SLSQPLSQFitter, SimplexLSQFitter, JointFitter. For model set fitting, this must understand masked input data (as indicated by the fitter class attribute
A function for outlier removal. If this accepts an
axisparameter like the
numpyfunctions, the appropriate value will be supplied automatically when fitting model sets (unless overridden in
outlier_kwargs), to find outliers for each model separately; otherwise, the same filtering must be performed in a loop over models, which is almost an order of magnitude slower.
- niterint, optional
Maximum number of iterations.
- outlier_kwargsdict, optional
Keyword arguments for outlier_func.
fit_info(if any) from the last iteration of the wrapped
fitterduring the most recent fit. An entry is also added with the keyword
niterthat records the actual number of fitting iterations performed (as opposed to the user-specified maximum).
__call__(model, x, y[, z, weights])
__call__(model, x, y, z=None, weights=None, **kwargs)¶
An analytic model which will be fit to the provided data. This also contains the initial guess for an optimization algorithm.
Data measurements (1D case) or input coordinates (2D case).
- zarray_like, optional
Data measurements (2D case).
- weightsarray_like, optional
Weights to be passed to the fitter.
- kwargsdict, optional
Keyword arguments to be passed to the fitter.
Fitted model after outlier removal.
Boolean mask array, identifying which points were used in the final fitting iteration (False) and which were found to be outliers or were masked in the input (True).