Skip to content

Comparison with giotto tda

Taiyou edited this page Jan 26, 2026 · 2 revisions

Comparison with giotto-tda

delay-embedding の結果を、既存の遅延埋め込みライブラリ giotto-tda (SingleTakensEmbedding) と比較しました。

Comparison


数値的正確性

sin(t) に対して m=3, τ=7 で両ライブラリの出力を要素ごとに比較した結果:

指標
最大絶対差 0.00e+00
平均絶対差 0.00e+00

完全一致 — 両ライブラリは全く同じ数値結果を生成します。


パフォーマンス比較

20回の平均実行時間(m=3, τ=7):

時系列長 delay-embedding giotto-tda
500 高速 低速
1,000 高速 低速
5,000 高速 低速
10,000 高速 低速
20,000 高速 低速

上の図(右上パネル)に示す通り、delay-embedding は giotto-tda よりも高速です。これは NumPy のベクトル化インデキシングを直接使用しているためです。


機能比較

機能 delay-embedding giotto-tda
単変量埋め込み
多変量埋め込み ❌ (単変量のみ)
逆変換
最適遅延 (AMI) ✅ (内部)
最適次元 (FNN) ✅ (内部)
依存関係 NumPy のみ NumPy, scikit-learn, giotto-ph, etc.
scikit-learn 互換 API

delay-embedding の利点

  1. 多変量時系列のネイティブサポート — giotto-tda は SingleTakensEmbedding が単変量のみ対応。本ライブラリは (T, d) 形式の多次元入力をそのまま処理可能
  2. 逆変換 — 埋め込み行列から元の時系列を復元可能(平均化による近似)
  3. 軽量 — 依存関係が NumPy のみ。giotto-tda は scikit-learn, giotto-ph など多数の依存パッケージが必要
  4. 高速 — NumPy のファンシーインデキシングによる効率的な実装

giotto-tda の利点

  1. scikit-learn 互換 APIfit_transform インターフェースにより sklearn パイプラインに統合可能
  2. トポロジカルデータ解析 — persistent homology など TDA のエコシステムと連携
  3. 自動パラメータ選択parameters_type="search" で自動的に最適パラメータを探索

Clone this wiki locally