Skip to content

Verification

Taiyou edited this page Jan 26, 2026 · 1 revision

Verification — 動作検証と可視化

ライブラリの正常動作を確認するために5つの可視化テストを実施しました。

検証スクリプト: examples/verify_embedding.py


1. Lorenz アトラクタの再構成

Lorenz 系の x 成分のみ(スカラー観測)から、遅延埋め込みにより3次元アトラクタ構造を再構成します。

Lorenz Reconstruction

結果: 最適遅延 τ=15 で、元のバタフライアトラクタと位相的に同値な構造が復元されています。これは Takens の定理の直接的な実証です。


2. 多変量時系列の埋め込み

2次元時系列 (sin t, cos t) に対して m=3, τ=10 で遅延埋め込みを適用。各チャネルの遅延コピーが円構造を保持していることを確認します。

Multivariate Embedding

結果: 元の円軌道の構造が、各チャネルの遅延埋め込みでも保存されています。


3. 逆変換のラウンドトリップ誤差

transforminverse_transform のラウンドトリップで元の時系列が復元されることを検証します。

Inverse Roundtrip

結果: 全てのパラメータ設定で最大誤差が 0 または計算機イプシロン(~1.11e-16)です。逆変換が数値的に正確であることが確認されました。

パラメータ 最大誤差
m=2, τ=1 0.00e+00
m=3, τ=2 1.11e-16
m=4, τ=3 1.11e-16
m=5, τ=5 1.11e-16

4. 最適パラメータ選択

Lorenz 系の x(t) に対して、自己相互情報量 (AMI) と偽最近傍法 (FNN) によるパラメータ推定を実行。

Optimal Parameters

結果:

  • 最適遅延 τ=15: AMI の最初の極小値として正しく検出
  • 最適次元 m=3: Lorenz 系は3次元力学系であり、FNN が正しく m=3 を推定

5. giotto-tda との比較

Comparison with giotto-tda ページで詳細な比較を記載しています。