scipy.signal.detrend

scipy.signal.detrend(data, axis=- 1, type='linear', bp=0, overwrite_data=False)[源代码]

从数据中删除沿轴的线性趋势。

参数
dataarray_like

输入数据。

axis整型,可选

要沿其对数据进行反趋势分析的轴。默认情况下,这是最后一个轴(-1)。

type{‘线性’,‘常量’},可选

去势的类型。如果 type == 'linear' (默认),线性最小二乘拟合的结果 datadata 。如果 type == 'constant' ,仅为的平均值 data 被减去了。

bp整数的array_like,可选

一系列断点。如果给定,则对的每个部分执行单独的线性拟合 data 在两个断点之间。断点作为索引指定到 data 。此参数仅在以下情况下有效 type == 'linear'

overwrite_data布尔值,可选

如果为True,则就地执行趋势分析并避免复制。默认值为False

退货
retndarray

去趋势的输入数据。

示例

>>> from scipy import signal
>>> from numpy.random import default_rng
>>> rng = default_rng()
>>> npoints = 1000
>>> noise = rng.standard_normal(npoints)
>>> x = 3 + 2*np.linspace(0, 1, npoints) + noise
>>> (signal.detrend(x) - noise).max()
0.06  # random