2.1.6.1.9. sf_tools.signal.regression module

REGRESSION ROUTINES

This module contains methods for linear regression.

Author:Samuel Farrens <samuel.farrens@gmail.com>
Version:1.0
Date:04/04/2017
sf_tools.signal.regression.linear_fit(B, x)[source]

Linear fit

This method defines the equation of a straight line.

Parameters:
  • B (tuple) – Slope (m) and intercept (b) of the line.
  • x (list or np.ndarray) – The 1D data vector
Returns:

Return type:

np.ndarray 1D array of corresponding y values

Notes

This equation of a stright line is given by

\[y = mx + b\]
sf_tools.signal.regression.polynomial(x, a)[source]

Polynomial

This method defines the equation of a polynomial line.

Parameters:
  • x (list or np.ndarray) – The 1D data vector
  • a (list or np.ndarray) – The 1D polynomial coefficient vector
Returns:

Return type:

np.ndarray 1D array of corresponding y values

Notes

This equation of a stright line is given by

\[y = a_0 + a_1x + a_2x^2 + \dots + a_kx^k\]
sf_tools.signal.regression.polynomial_fit(x, y, k=1)[source]

Polynomial fit

This method finds the coefficients for a polynomial line fit to the input data using least squares.

Parameters:
  • x (list or np.ndarray) – The 1D independent data vector
  • y (list or np.ndarray) – The 1D dependent data vector
  • k (int, optional) – Number of degrees of freedom. Default (k=1)
Returns:

Return type:

np.ndarray 1D array of coefficients a

sf_tools.signal.regression.least_squares(X, y)[source]

Least squares

This method performs an analytical least squares regression. Returns the values of the coefficients, a, given the input matrix X and the corresponding y values.

Parameters:
  • X (np.ndarray) – The 2D independent data matrix.
  • y (np.ndarray) – The 1D dependent data vector
Returns:

Return type:

np.ndarray 1D array of coefficients a

Raises:

ValueError – If inputs are not numpy arrays

Todo

Add equation and example

sf_tools.signal.regression.x_matrix(x, k)[source]

Define X matrix

This method defines the matrix X for a given vector x corresponding to a polynomial with k degrees of freedom.

Parameters:
  • x (list or np.ndarray) – The 1D independent data vector
  • k (int) – Number of degrees of freedom
Returns:

Return type:

np.ndarray the 2D independent variable matrix X

sf_tools.signal.regression.fit_odr(x, y, xerr, yerr, fit)[source]

Fit via ODR

This method performs an orthogonal distance regression fit.

Parameters:
  • x (list or np.ndarray) – The 1D independent data vector
  • y (list or np.ndarray) – The 1D dependent data vector
  • x_err (list or np.ndarray) – 1D data vector of x value errors
  • y_err (list or np.ndarray) – 1D data vector of y value errors
  • fit (function) – Fitting function
Returns:

Return type:

tuple best fit parameters