jax.scipy.signal.detrend#

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

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

scipy.signal.detrend() 的 JAX 实现。

参数:
  • 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.]