Skip to main content
`Ctrl`+`K`

# numpy.polynomial.polynomial.Polynomial.fit

method

classmethod polynomial.polynomial.Polynomial.fit(x, y, deg, domain=None, rcond=None, full=False, w=None, window=None, symbol='x')

  Least squares fit to data.

  Return a series instance that is the least squares fit to the data y sampled at x. The domain of the returned instance can be specified and this will often result in a superior fit with less chance of ill conditioning.

  Parameters:
    x array_like, shape (M,)

      x-coordinates of the M sample points `(x[i], y[i])`.

    y array_like, shape (M,)

      y-coordinates of the M sample points `(x[i], y[i])`.

    deg int or 1-D array_like

      Degree(s) of the fitting polynomials. If deg is a single integer all terms up to and including the deg’th term are included in the fit. For NumPy versions >= 1.11.0 a list of integers specifying the degrees of the terms to include may be used instead.

    domain{None, [beg, end], []}, optional

      Domain to use for the returned series. If `None`, then a minimal domain that covers the points x is chosen. If `[]` the class domain is used. The default value was the class domain in NumPy 1.4 and `None` in later versions. The `[]` option was added in numpy 1.5.0.

    rcond float, optional

      Relative condition number of the fit. Singular values smaller than this relative to the largest singular value will be ignored. The default value is `len(x)*eps`, where eps is the relative precision of the float type, about 2e-16 in most cases.

    full bool, optional

      Switch determining nature of return value. When it is False (the default) just the coefficients are returned, when True diagnostic information from the singular value decomposition is also returned.

    w array_like, shape (M,), optional

      Weights. If not None, the weight `w[i]` applies to the unsquared residual `y[i] - y_hat[i]` at `x[i]`. Ideally the weights are chosen so that the errors of the products `w[i]*y[i]` all have the same variance. When using inverse-variance weighting, use `w[i] = 1/sigma(y[i])`. The default value is None.

    window{[beg, end]}, optional

      Window to use for the returned series. The default value is the default class domain

    symbol str, optional

      Symbol representing the independent variable. Default is ‘x’.

  Returns:
    new_series series

      A series that represents the least squares fit to the data and has the domain and window specified in the call. If the coefficients for the unscaled and unshifted basis polynomials are of interest, do `new_series.convert().coef`.

    [resid, rank, sv, rcond]list

      These values are only returned if `full == True`

      - resid – sum of squared residuals of the least squares fit

      - rank – the numerical rank of the scaled Vandermonde matrix

      - sv – singular values of the scaled Vandermonde matrix

      - rcond – value of rcond.

      For more details, see `linalg.lstsq`.