# Deeptime: a Python library for machine learning dynamical models from time series data

arXiv: https://arxiv.org/abs/2110.15013 · HTML: https://mlsanity.com/paper/2110.15013/

## Key facts

- Cited by 38 papers in the map (data through 14 Oct 2026).
- Builds on 26 of its 142 references that are in the map.
- First posted on arXiv 28 Oct 2021.

## Builds on (most cited first, 26 of 26)

- [Adam: A Method for Stochastic Optimization](https://mlsanity.com/paper/1412.6980/) (2014)
- [PyTorch: An Imperative Style, High-Performance Deep Learning Library](https://mlsanity.com/paper/1912.01703/) (2019)
- [Auto-Encoding Variational Bayes](https://mlsanity.com/paper/1312.6114/) (2013)
- [Deep learning for universal linear embeddings of nonlinear dynamics](https://mlsanity.com/paper/1712.09707/) (2017)
- [Modern Koopman Theory for Dynamical Systems](https://mlsanity.com/paper/2102.12086/) (2021)
- [Learning Koopman Invariant Subspaces for Dynamic Mode Decomposition](https://mlsanity.com/paper/1710.04340/) (2017)
- [Linearly-Recurrent Autoencoder Networks for Learning Dynamics](https://mlsanity.com/paper/1712.01378/) (2017)
- [Sparse identification of nonlinear dynamics for model predictive control in the low-data limit](https://mlsanity.com/paper/1711.05501/) (2017)
- [VAMPnets: Deep learning of molecular kinetics](https://mlsanity.com/paper/1710.06012/) (2017)
- [Dynamic mode decomposition with control](https://mlsanity.com/paper/1409.6358/) (2014)
- [Learning Deep Neural Network Representations for Koopman Operators of Nonlinear Dynamical Systems](https://mlsanity.com/paper/1708.06850/) (2017)
- [sktime: A Unified Interface for Machine Learning with Time Series](https://mlsanity.com/paper/1909.07872/) (2019)
- [Data-driven approximation of the Koopman generator: Model reduction, system identification, and control](https://mlsanity.com/paper/1909.10638/) (2019)
- [Sparse learning of stochastic dynamic equations](https://mlsanity.com/paper/1712.02432/) (2017)
- [Time-lagged autoencoders: Deep learning of slow collective variables for molecular kinetics](https://mlsanity.com/paper/1710.11239/) (2017)
- [Variational approach for learning Markov processes from time series data](https://mlsanity.com/paper/1707.04659/) (2017)
- [On the Convergence of the SINDy Algorithm](https://mlsanity.com/paper/1805.06445/) (2018)
- [A unified sparse optimization framework to learn parsimonious physics-informed models from data](https://mlsanity.com/paper/1906.10612/) (2019)
- [Eigendecompositions of Transfer Operators in Reproducing Kernel Hilbert Spaces](https://mlsanity.com/paper/1712.01572/) (2017)
- [Sparsity-promoting dynamic mode decomposition](https://mlsanity.com/paper/1309.4165/) (2013)
- [Molecular enhanced sampling with autoencoders: On-the-fly collective variable discovery and accelerated free energy landscape exploration](https://mlsanity.com/paper/1801.00203/) (2017)
- [Variational Encoding of Complex Dynamics](https://mlsanity.com/paper/1711.08576/) (2017)
- [Deep Generative Markov State Models](https://mlsanity.com/paper/1805.07601/) (2018)
- [Kernel methods for detecting coherent structures in dynamical data](https://mlsanity.com/paper/1904.07752/) (2019)
- [Variational Selection of Features for Molecular Kinetics](https://mlsanity.com/paper/1811.11714/) (2018)
- [Simultaneous Coherent Structure Coloring facilitates interpretable clustering of scientific data by amplifying dissimilarity](https://mlsanity.com/paper/1807.04427/) (2018)

## Built on by (most cited first, 30 of 38)

- [Two for One: Diffusion Models and Force Fields for Coarse-Grained Molecular Dynamics](https://mlsanity.com/paper/2302.00600/) (2023)
- [Protein Conformation Generation via Force-Guided SE(3) Diffusion Models](https://mlsanity.com/paper/2403.14088/) (2024)
- [Flow-matching -- efficient coarse-graining of molecular dynamics without forces](https://mlsanity.com/paper/2203.11167/) (2022)
- [Str2Str: A Score-based Framework for Zero-shot Protein Conformation Sampling](https://mlsanity.com/paper/2306.03117/) (2023)
- [Consistent Sampling and Simulation: Molecular Dynamics with Energy-Based Diffusion Models](https://mlsanity.com/paper/2506.17139/) (2025)
- [Structure Language Models for Protein Conformation Generation](https://mlsanity.com/paper/2410.18403/) (2024)
- [Implicit Transfer Operator Learning: Multiple Time-Resolution Surrogates for Molecular Dynamics](https://mlsanity.com/paper/2305.18046/) (2023)
- [PyKoopman: A Python Package for Data-Driven Approximation of the Koopman Operator](https://mlsanity.com/paper/2306.12962/) (2023)
- [GraphVAMPNet, using graph neural networks and variational approach to markov processes for dynamical modeling of biomolecules](https://mlsanity.com/paper/2201.04609/) (2022)
- [BoltzNCE: Learning Likelihoods for Boltzmann Generation with Stochastic Interpolants and Noise Contrastive Estimation](https://mlsanity.com/paper/2507.00846/) (2025)
- [Thermodynamics-inspired Explanations of Artificial Intelligence](https://mlsanity.com/paper/2206.13475/) (2022)
- [Reaction coordinate flows for model reduction of molecular kinetics](https://mlsanity.com/paper/2309.05878/) (2023)
- [Latent Representation and Simulation of Markov Processes via Time-Lagged Information Bottleneck](https://mlsanity.com/paper/2309.07200/) (2023)
- [Force-Guided Bridge Matching for Full-Atom Time-Coarsened Dynamics of Peptides](https://mlsanity.com/paper/2408.15126/) (2024)
- [MarS-FM: Generative Modeling of Molecular Dynamics via Markov State Models](https://mlsanity.com/paper/2509.24779/) (2025)
- [Learning noise-induced transitions by multi-scaling reservoir computing](https://mlsanity.com/paper/2309.05413/) (2023)
- [Collective variable discovery in the age of machine learning: reality, hype and everything in between](https://mlsanity.com/paper/2112.03202/) (2021)
- [Flow Matching for Optimal Reaction Coordinates of Biomolecular System](https://mlsanity.com/paper/2408.17139/) (2024)
- [How deep is your network? Deep vs. shallow learning of transfer operators](https://mlsanity.com/paper/2509.19930/) (2025)
- [Unified Biomolecular Trajectory Generation via Pretrained Variational Bridge](https://mlsanity.com/paper/2602.07588/) (2026)
- [Internal-Coordinate Density Modelling of Protein Structure: Covariance Matters](https://mlsanity.com/paper/2302.13711/) (2023)
- [SimbaML: Connecting Mechanistic Models and Machine Learning with Augmented Data](https://mlsanity.com/paper/2304.04000/) (2023)
- [Fusing Neural and Physical: Augment Protein Conformation Sampling with Tractable Simulations](https://mlsanity.com/paper/2402.10433/) (2024)
- [Optimizing adaptive sampling via Policy Ranking](https://mlsanity.com/paper/2410.15259/) (2024)
- [Addressing Challenges in Time Series Forecasting: A Comprehensive Comparison of Machine Learning Techniques](https://mlsanity.com/paper/2503.20148/) (2025)
- [Minimum-Excess-Work Guidance](https://mlsanity.com/paper/2505.13375/) (2025)
- [Learning Collective Variables from BioEmu with Time-Lagged Generation](https://mlsanity.com/paper/2507.07390/) (2025)
- [A Standardized Benchmark for Machine-Learned Molecular Dynamics using Weighted Ensemble Sampling](https://mlsanity.com/paper/2510.17187/) (2025)
- [The Past as a Stochastic Process](https://mlsanity.com/paper/2112.05876/) (2021)
- [Building Robust Machine Learning Models for Small Chemical Science Data: The Case of Shear Viscosity](https://mlsanity.com/paper/2208.10784/) (2022)

## Abstract (arXiv)

Generation and analysis of time-series data is relevant to many quantitative fields ranging from economics to fluid mechanics. In the physical sciences, structures such as metastable and coherent sets, slow relaxation processes, collective variables dominant transition pathways or manifolds and channels of probability flow can be of great importance for understanding and characterizing the kinetic, thermodynamic and mechanistic properties of the system. Deeptime is a general purpose Python library offering various tools to estimate dynamical models based on time-series data including conventional linear learning methods, such as Markov state models (MSMs), Hidden Markov Models and Koopman models, as well as kernel and deep learning approaches such as VAMPnets and deep MSMs. The library is largely compatible with scikit-learn, having a range of Estimator classes for these different models, but in contrast to scikit-learn also provides deep Model classes, e.g. in the case of an MSM, which provide a multitude of analysis methods to compute interesting thermodynamic, kinetic and dynamical quantities, such as free energies, relaxation times and transition paths. The library is designed for ease of use but also easily maintainable and extensible code. In this paper we introduce the main features and structure of the deeptime software.
