Better numerical derivatives for data

Trend-filtered derivative from noisy absolute value data.

Derivative is an open-source project I started in 2019-2020 that turned into a collaboration with Markus Quade (Github, @Ohjeah) and Brian de Silva (Github, @briandesilva). It is a standalone suite of numerical differentiation methods for noisy time series data written in Python.

The goal is to provide some common numerical differentiation techniques that showcase improvements that can be made on finite differences when data is noisy. The package binds these common differentiation methods to a single easily implemented differentiation interface to encourage user adaptation.

Derivative is a contribution to PySINDy

DOI Documentation Status GitHub stars

PySINDy is an open source Python package for the Sparse Identification of Nonlinear Dynamical systems (SINDy).

At some point, I’ll write a post about my version of total variational regularization (see the figure above). I adapted a technique from The solution path of the generalized lasso (DOI: 10.1214/11-AOS878) by R.J. Tibshirani & J. Taylor to write a nice variation of the classic algorithm in Numerical Differentiation of Noisy, Nonsmooth Data (DOI: 10.5402/2011/164564) by Rick Chartrand.

Andy J. Goldschmidt
Andy J. Goldschmidt
Ph.D. student in Physics