obspy.signal.regression.linear_regression¶
-
linear_regression
(xdata, ydata, weights=None, p0=None, intercept_origin=True, **kwargs)[source]¶ Use linear least squares to fit a function, f, to data. This method is a generalized version of
scipy.optimize.minpack.curve_fit()
; allowing for Ordinary Least Square and Weighted Least Square regressions:- OLS through origin:
linear_regression(xdata, ydata)
- OLS with any intercept:
linear_regression(xdata, ydata, intercept_origin=False)
- WLS through origin:
linear_regression(xdata, ydata, weights)
- WLS with any intercept:
linear_regression(xdata, ydata, weights, intercept_origin=False)
If the expected values of slope (and intercept) are different from 0.0, provide the p0 value(s).
Parameters: - xdata – The independent variable where the data is measured.
- ydata – The dependent data - nominally f(xdata, …)
- weights – If not None, the uncertainties in the ydata array. These
are used as weights in the least-squares problem. If
None
, the uncertainties are assumed to be 1. In SciPy vocabulary, our weights are 1/sigma. - p0 – Initial guess for the parameters. If
None
, then the initial values will all be 0 (Different from SciPy where all are 1) - intercept_origin – If
True
: solvesy=a*x
(default); ifFalse
: solvesy=a*x+b
.
Extra keword arguments will be passed to
scipy.optimize.minpack.curve_fit()
.Return type: tuple Returns: (slope, std_slope) if intercept_origin
isTrue
; (slope, intercept, std_slope, std_intercept) ifFalse
.- OLS through origin: