LevMarLSQFitter

class astropy.modeling.fitting.LevMarLSQFitter[source] [edit on github]

Bases: object

Levenberg-Marquardt algorithm and least squares statistic.

Notes

The fit_info dictionary contains the values returned by scipy.optimize.leastsq for the most recent fit, including the values from the infodict dictionary it returns. See the scipy.optimize.leastsq documentation for details on the meaning of these values. Note that the x return value is not included (as it is instead the parameter values of the returned model).

Additionally, one additional element of fit_info is computed whenever a model is fit, with the key ‘param_cov’. The corresponding value is the covariance matrix of the parameters as a 2D numpy array. The order of the matrix elements matches the order of the parameters in the fitted model (i.e., the same order as model.param_names).

Attributes:
fit_info : dict

The scipy.optimize.leastsq result for the most recent fit (see notes).

Attributes Summary

supported_constraints The constraint types supported by this fitter type.

Methods Summary

__call__(model, x, y[, z, weights, maxiter, …]) Fit data to this model.
objective_function(fps, *args) Function to minimize.

Attributes Documentation

supported_constraints = ['fixed', 'tied', 'bounds']

The constraint types supported by this fitter type.

Methods Documentation

__call__(model, x, y, z=None, weights=None, maxiter=100, acc=1e-07, epsilon=1.4901161193847656e-08, estimate_jacobian=False)[source] [edit on github]

Fit data to this model.

Parameters:
model : FittableModel

model to fit to x, y, z

x : array

input coordinates

y : array

input coordinates

z : array (optional)

input coordinates

weights : array (optional)

Weights for fitting. For data with Gaussian uncertainties, the weights should be 1/sigma.

maxiter : int

maximum number of iterations

acc : float

Relative error desired in the approximate solution

epsilon : float

A suitable step length for the forward-difference approximation of the Jacobian (if model.fjac=None). If epsfcn is less than the machine precision, it is assumed that the relative errors in the functions are of the order of the machine precision.

estimate_jacobian : bool

If False (default) and if the model has a fit_deriv method, it will be used. Otherwise the Jacobian will be estimated. If True, the Jacobian will be estimated in any case.

equivalencies : list or None, optional and keyword-only argument

List of additional equivalencies that are should be applied in case x, y and/or z have units. Default is None.

Returns:
model_copy : FittableModel

a copy of the input model with parameters set by the fitter

objective_function(fps, *args)[source] [edit on github]

Function to minimize.

Parameters:
fps : list

parameters returned by the fitter

args : list

[model, [weights], [input coordinates]]