jax.scipy.signal.detrend#

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

從資料中移除線性或分段線性趨勢。

JAX 實作的 scipy.signal.detrend()

參數:
  • data (ArrayLike) – 包含要去除趨勢之資料的輸入陣列。

  • axis (int) – 要沿其去除趨勢的軸。預設值為 -1(最後一個軸)。

  • type (str) –

    去除趨勢的類型。可以是

    • 'linear':為整個資料擬合單一線性趨勢。

    • 'constant':移除資料的平均值。

  • bp (int) – 斷點序列。如果給定,則在這些斷點之間擬合分段線性趨勢。

  • overwrite_data (None | None) – JAX 的實作不支援此引數。

返回:

去除趨勢的資料陣列。

返回類型:

Array

範例

一維中的簡單去除趨勢操作

>>> 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.]