Skip to content

API Reference

Taiyou edited this page Jan 26, 2026 · 2 revisions

API Reference

DelayEmbedding クラス

多次元時系列に対する遅延埋め込みを実行するメインクラスです。

コンストラクタ

DelayEmbedding(dimension=2, delay=1)
パラメータ デフォルト 説明
dimension int 2 埋め込み次元 m(遅延コピーの数)。1以上の整数
delay int 1 時間遅延 τ(コピー間のステップ数)。1以上の整数

transform(X)

時系列に遅延埋め込みを適用します。

emb = DelayEmbedding(dimension=3, delay=2)
result = emb.transform(X)
パラメータ 説明
X array-like, shape (T,) or (T, d) 入力時系列。T はタイムステップ数、d はチャネル数

戻り値: np.ndarray, shape (T - (m-1)*tau, d*m)

1次元配列は単変量時系列として扱われます。

inverse_transform(embedded, d=1)

埋め込み行列から元の時系列を復元します(平均化による近似)。

reconstructed = emb.inverse_transform(embedded, d=2)
パラメータ 説明
embedded array-like, shape (N, d*m) 埋め込み行列
d int 元の時系列のチャネル数

戻り値: np.ndarray, shape (T, d)


optimal_delay(X, max_delay=50, bins=64)

自己相互情報量 (AMI) の最初の極小値に基づいて最適な遅延 τ を選択します。

from delay_embedding import optimal_delay
tau = optimal_delay(X, max_delay=100)
パラメータ デフォルト 説明
X array-like 入力時系列
max_delay int 50 探索する最大遅延
bins int 64 エントロピー推定用のヒストグラムビン数

戻り値: int — 最適な遅延(1以上)

多変量時系列の場合、全チャネルの相互情報量を平均して使用します。


optimal_dimension(X, delay=1, max_dim=10, fnn_threshold=0.01, rtol=15.0, atol=2.0)

偽最近傍法 (FNN) により最適な埋め込み次元 m を選択します。

from delay_embedding import optimal_dimension
m = optimal_dimension(X, delay=tau, max_dim=8)
パラメータ デフォルト 説明
X array-like 入力時系列
delay int 1 使用する遅延
max_dim int 10 テストする最大次元
fnn_threshold float 0.01 FNN 割合がこの値を下回った次元を採用
rtol float 15.0 FNN 相対許容誤差
atol float 2.0 FNN 絶対許容誤差

戻り値: int — 最適な埋め込み次元(1以上)

Clone this wiki locally