-
Notifications
You must be signed in to change notification settings - Fork 0
Comparison with giotto tda
Taiyou edited this page Jan 26, 2026
·
2 revisions
delay-embedding の結果を、既存の遅延埋め込みライブラリ giotto-tda (SingleTakensEmbedding) と比較しました。

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 | ❌ | ✅ |
-
多変量時系列のネイティブサポート — giotto-tda は
SingleTakensEmbeddingが単変量のみ対応。本ライブラリは(T, d)形式の多次元入力をそのまま処理可能 - 逆変換 — 埋め込み行列から元の時系列を復元可能(平均化による近似)
- 軽量 — 依存関係が NumPy のみ。giotto-tda は scikit-learn, giotto-ph など多数の依存パッケージが必要
- 高速 — NumPy のファンシーインデキシングによる効率的な実装
-
scikit-learn 互換 API —
fit_transformインターフェースにより sklearn パイプラインに統合可能 - トポロジカルデータ解析 — persistent homology など TDA のエコシステムと連携
-
自動パラメータ選択 —
parameters_type="search"で自動的に最適パラメータを探索