title: 'tvdiff: R package for total-variation regularized numerical differentiation for noisy, nonsmooth data' tags: - machine learning - differentiation - clustering - noisy data authors: - name: Nathaniel B Price^[Corresponding author] orcid: 0000-0002-6450-617X affiliation: 1 - name: Jessica L. Burnett orcid: 0000-0002-0896-5099 affiliation: "1, 2, 3" - name: Christopher Chizinski orcid: 0000-0001-9294-2588 affiliation: 1 affiliations: - name: School of Natural Resources, University of Nebraska-Lincoln, Lincoln, NE index: 1 - name: Nebraska Cooperative Fish and Wildlife Research Unit, University of Nebraska-Lincoln, Lincoln, NE index: 2 - name: Core Science Systems Science Analytics and Synthesis, U.S. Geological Survey, Lakewood, CO index: 3 date: 31 December 2020 bibliography: paper.bib
The tvdiff package is an R translation of the Matlab implementation of the Total Variation Regularized Numerical Differentiation algorithm [@chartrand2011numerical]. This algorithm is also available as Python code [@tvregdiff]. Our package, tvdiff
, comprises a single function for implementing this algorithm, TVRegDiffR, and two datasets reproduced from @chartrand2011numerical. The original publication [@chartrand2011numerical] presents two approaches to using this algorithm: 'small-scale' and 'large-scale'. The 'large-scale' implementation is extremely computationally expensive, and is therefore not implemented in this package. Both datasets are, however, provided in this package.
The Total Variation Regularized Differentiation algorithm has been applied to numerous systems in disciplines which ubiquitously use Python and MatLab for scientific computing. This algorithm has been shown to be valuable in environmental and ecological sciences [@burnett2019regime], whose practitioners are largely familiar with R programming. As such, this package allows R users who are unfamiliar with Python or MatLab programming to easily implement this complex differentiation method.
This example uses a small-scale dataset which is based on the function \begin{equation}\label{eq:smalldata} f(x) = \mid x - 0.5\mid \end{equation} with Gaussian noise of standard deviation 0.05 ( \autoref{fig:data}). The derivative is estimated from the noisy observations using Total Variation Regularized Differentiation [@chartrand2011numerical]. A prediction of the original function is obtained from the estimated derivative through numerical integration (\autoref{fig:dxdt}). The code for obtaining the figures in this example is provided in a vignette.
This draft manuscript is distributed solely for purposes of scientific peer review. Its content is deliberative and predecisional, so it must not be disclosed or released by reviewers. Because the manuscript has not yet been approved for publication by the U.S. Geological Survey (USGS), it does not represent any official USGS finding or policy.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.