Embedding

Construct high dimensional time-delayed embedding (Hankel matrix)

tohubohu.embedding.construct(sequence: jax.Array, *, delay: int = 1, length: int | None = None, dimension: int | None = None) jax.Array[source]

Construct high dimensional time delayed embedding (Hankel matrix representation)

Given a sequence [x[0], x[1], x[2], x[3], …, x[n-1]] and delay T:

matrix = [

[x[0*T], x[1*T] , …], [x[1*T], x[2*T], …], [x[2*T], x[3*T], …], …

]

matrix.shape = (dimension, length)

Parameters:
  • sequence (Array) – input sequence

  • delay (int, default=1) – delay

  • length (Optional[int]) – subsequence length

  • dimension (Optional[int]) – number of subsequences

Return type:

Array

tohubohu.embedding.reconstruct(matrix: jax.Array) jax.Array[source]

Reconstruct sequence from embedding matrix representation (average over skew diagonals)

Parameters:

matrix (Array) – input embedding matrix

Return type:

Array