PyDaddy (Python Data-Driven Dynamics)

PyDaddy is a comprehensive and easy to use python package to discover data-derived stochastic differential equations from time series data. PyDaddy takes the time series of state variable \(x\), scalar or 2-dimensional vector, as input and discovers an SDE of the form:

\[\frac{dx}{dt} = f(x) + g(x) \cdot \eta(t)\]

where \(\eta(t)\) is uncorrelated white noise. The function \(f\) is called the drift, and governs the deterministic part of the dynamics. \(g^2\) is called the diffusion and governs the stochastic part of the dynamics.

_images/PyDaddyExample.jpg

An example summary plot generated by PyDaddy, for a vector time series dataset.

PyDaddy also provides a range of functionality such as equation-learning for the drift and diffusion functions using sparse regresssion and a suite of diagnostic functions.

_images/PyDaddySchematic.jpg

Schematic illustration of PyDaddy functionality.

Get Started

Citation

If you are using this package in your research, please cite the associated paper as follows:

Nabeel, A., Karichannavar, A., Palathingal, S., Jhawar, J., Brückner, D. B., Danny Raj, M., & Guttal, V., “Discovering stochastic dynamical equations from ecological time series data”, arXiv preprint arXiv:2205.02645, to appear in The American Naturalist.

Contents