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