mvpa2.misc.fx.least_sq_fit

mvpa2.misc.fx.least_sq_fit(fx, params, y, x=None, **kwargs)

Simple convenience wrapper around SciPy’s optimize.leastsq.

The advantage of using this wrapper instead of optimize.leastsq directly is, that it automatically constructs an appropriate error function and easily deals with 2d data arrays, i.e. each column with multiple values for the same function argument (x-value).

Parameters:

fx : functor

Function to be fitted to the data. It has to take a vector with function arguments (x-values) as the first argument, followed by an arbitrary number of (to be fitted) parameters.

params : sequence

Sequence of start values for all to be fitted parameters. During fitting all parameters in this sequences are passed to the function in the order in which they appear in this sequence.

y : 1d or 2d array

The data the function is fitted to. In the case of a 2d array, each column in the array is considered to be multiple observations or measurements of function values for the same x-value.

x : Corresponding function arguments (x-values) for each datapoint, i.e.

element in y or columns in y', in the case of `y being a 2d array. If x is not provided it will be generated by np.arange(m), where m is either the length of y or the number of columns in y, if y is a 2d array.

**kwargs

All additonal keyword arguments are passed to fx.

Returns:

tuple : as returned by scipy.optimize.leastsq

i.e. 2-tuple with list of final (fitted) parameters of fx and an integer value indicating success or failure of the fitting procedure (see leastsq docs for more information).