jax.scipy.signal.detrend

目录

jax.scipy.signal.detrend#

jax.scipy.signal.detrend(data, axis=-1, type='linear', bp=0, overwrite_data=None)[source]#

从数据中去除线性或分段线性趋势。

JAX 实现 scipy.signal.detrend().

参数:
  • data (ArrayLike) – 包含要进行去趋势数据的输入数组。

  • axis (int) – 要进行去趋势的轴。默认值为 -1(最后一个轴)。

  • type (str) –

    去趋势的类型。可以是

    • 'linear': 为整个数据拟合单个线性趋势。

    • 'constant': 去除数据的平均值。

  • bp (int) – 分段线性趋势拟合的断点序列。如果给出,则在这些断点之间拟合分段线性趋势。

  • overwrite_data (None | None) – 此参数不受 JAX 实现支持。

返回:

去趋势后的数据数组。

返回类型:

数组

示例

一维的简单去趋势操作

>>> data = jnp.array([1., 4., 8., 8., 9.])

从数据中去除线性趋势

>>> detrended = jax.scipy.signal.detrend(data)
>>> with jnp.printoptions(precision=3, suppress=True):  # suppress float error
...   print("Detrended:", detrended)
...   print("Underlying trend:", data - detrended)
Detrended: [-1. -0.  2. -0. -1.]
Underlying trend: [ 2.  4.  6.  8. 10.]

从数据中去除恒定趋势

>>> detrended = jax.scipy.signal.detrend(data, type='constant')
>>> with jnp.printoptions(precision=3):  # suppress float error
...   print("Detrended:", detrended)
...   print("Underlying trend:", data - detrended)
Detrended: [-5. -2.  2.  2.  3.]
Underlying trend: [6. 6. 6. 6. 6.]