/supersmoother

Efficient pure Python implementation of Friedman's Supersmoother

Primary LanguagePythonBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Python SuperSmoother

This is an efficient implementation of Friedman's SuperSmoother [1] algorithm in pure Python. It makes use of numpy for fast numerical computation.

DOI version status build status license

Installation

Installation is simple: To install the released version, type

$ pip install supersmoother

To install the bleeding-edge source, download the source code from http://github.com/jakevdp/supersmoother and type:

$ python setup.py install

The only package dependency is numpy; scipy is also required if you want to run the unit tests.

Example

The package includes several example notebooks showing the code in action. You can see these in the examples/ directory, or view them statically on nbviewer

Testing

This code has full unit tests implemented in nose. With nose installed, you can run the test suite using

$ nosetests supersmoother

The package is tested with Python versions 2.7, 3.4, 3.5, and 3.6.

Authors

supersmoother was created by Jake VanderPlas

Citing This Work

If you use this code in an academic publication, please consider including a citation to our work. Citation information in a variety of formats can be found on zenodo.

References

[1] Friedman, J. H. (1984) A variable span scatterplot smoother. Laboratory for Computational Statistics, Stanford University Technical Report No. 5. (pdf)