Compare Alternatives
DeTime is useful when the project needs one decomposition workflow across Python, CLI, saved artifacts, and machine-readable metadata. Specialist packages remain the better choice when you only need their deepest family- specific API.
Before and after
Specialist glue
different configs, result objects, filenames, and backend rules per package
DeTime layer
one
DecompositionConfig, one DecompResult, one CLI artifact contract
Reviewable output
summary/meta/full JSON modes, method catalog, schemas, and reproducible figures
Software matrix
| Axis | DeTime | statsmodels |
PyEMD |
PyWavelets |
PySDKit |
SSALib |
sktime |
|---|---|---|---|---|---|---|---|
| Best fit | cross-method workflow | classical decomposition/statistics | EMD-family work | wavelet transforms | broad signal decomposition | SSA-focused work | broader time-series ecosystem |
| Shared config/result contract | yes | partial | no | no | partial | SSA-specific | no |
| CLI, batch, profiling | yes | no | no | no | limited | no | partial |
| Machine-readable catalog/schemas | yes | no | no | no | no | no | no |
| Multivariate under one surface | yes | limited | family-specific | transform-specific | yes | no | partial |
| Where it is deeper | workflow reproducibility | statistical modeling | EMD variants | wavelet tooling | decomposition breadth | SSA workflows | ecosystem breadth |
Package-by-package reading
| Package | Use it directly when | Use DeTime when |
|---|---|---|
statsmodels |
you need the full statistical modeling stack | you want STL / MSTL output in the same contract as other methods |
PyEMD |
you need deeper EMD-family controls | you want EMD / CEEMDAN beside SSA, STD, VMD, and CLI artifacts |
PyWavelets |
you need transform-specific wavelet APIs | you want wavelet decomposition as one option in a broader workflow |
PySDKit |
you need its broad signal-decomposition catalog | you want selected optional multivariate backends behind DeTime metadata and I/O |
SSALib |
you only need SSA-family tooling | you want SSA as one flagship method in a cross-family package |
sktime |
you need a large time-series ML ecosystem | you want decomposition outputs with DeTime's artifact and schema contract |
Runtime snapshot
The release evidence includes a reproducible runtime snapshot generated by
scripts/generate_performance_snapshot.py. The current committed snapshot was
generated on Windows 10, Python 3.11.9, AMD64, with native SSA, STD,
STDR, MA_BASELINE, MSSA, VMD, and GABOR_CLUSTER capabilities
available.
| Method | Python mean runtime (ms) | Native mean runtime (ms) | Speedup |
|---|---|---|---|
SSA |
13.668 | 1.906 | 7.172x |
STD |
0.153 | 0.024 | 6.484x |
STDR |
0.176 | 0.018 | 9.916x |
MA_BASELINE |
0.071 | 0.015 | 4.771x |
MSSA |
70.039 | 25.727 | 2.722x |
VMD |
50.140 | 14.482 | 3.462x |
GABOR_CLUSTER |
2.694 | 0.195 | 13.806x |
These numbers are a release smoke snapshot, not a universal benchmark.
Evidence appendix
Generated comparison files
- [`comparison_evidence.json`](assets/generated/evidence/comparison_evidence.json) - [`comparison_capability_matrix.csv`](assets/generated/evidence/comparison_capability_matrix.csv) - [`comparison_install_matrix.csv`](assets/generated/evidence/comparison_install_matrix.csv) - [`comparison_family_fairness.csv`](assets/generated/evidence/comparison_family_fairness.csv) - [`comparison_agent_matrix.csv`](assets/generated/evidence/comparison_agent_matrix.csv) - [`workflow_comparison.json`](assets/generated/evidence/workflow_comparison.json) Regenerate them with:python benchmarks/software_comparison/generate_comparison_evidence.py
python examples/workflow_comparisons/compare_specialist_glue_vs_detime.py