scipy.stats.mstats.

theilslopes#

scipy.stats.mstats.theilslopes(y, x=None, alpha=0.95, method='separate')[source]#

Computes the Theil-Sen estimator for a set of points (x, y).

theilslopes implements a method for robust linear regression. It computes the slope as the median of all slopes between paired values.

Parameters:
yarray_like

Dependent variable.

xarray_like or None, optional

Independent variable. If None, use arange(len(y)) instead.

alphafloat, optional

Confidence degree between 0 and 1. Default is 95% confidence. Note that alpha is symmetric around 0.5, i.e. both 0.1 and 0.9 are interpreted as “find the 90% confidence interval”.

method{‘joint’, ‘separate’}, optional

Method to be used for computing estimate for intercept. Following methods are supported,

  • ‘joint’: Uses np.median(y - slope * x) as intercept.

  • ‘separate’: Uses np.median(y) - slope * np.median(x)

    as intercept.

The default is ‘separate’.

Added in version 1.8.0.

Returns:
resultTheilslopesResult instance

The return value is an object with the following attributes:

slopefloat

Theil slope.

interceptfloat

Intercept of the Theil line.

low_slopefloat

Lower bound of the confidence interval on slope.

high_slopefloat

Upper bound of the confidence interval on slope.

See also

siegelslopes

a similar technique using repeated medians

Notes

For more details on theilslopes, see scipy.stats.theilslopes.