Skip to main content

Estimate trend and seasonal effects in a timeseries

Project description

Robustly estimate and remove trend and periodicity in a timeseries.

Seasonal can recover sharp trend and period estimates from noisy timeseries data with only a few periods. It is intended for estimating season, trend, and level when initializing structural timeseries models like Holt-Winters. Input samples are assumed evenly-spaced from a continuous-time signal with noise but no anomalies.

In this package, trend removal is in service of isolating and estimating periodic (non-trend) variation. “trend” is in the sense of Cleveland’s STL decomposition – a lowpass smoothing of the data, rather than a single linear trend (though you can opt for this). Detrending is accomplishd by a coarse fitted spline or a median filter.

The seasonal estimate will be a list of period-over-period averages at each seasonal offset. You may specify a period length, or have it estimated from the data. The latter is an interesting capability of this package.

See README.md for details on installation, API, theory, and examples.

Dependencies

package: numpy, scipy extras: pandas, matplotlib

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seasonal-0.3.0.tar.gz (14.2 kB view hashes)

Uploaded Source

Built Distribution

seasonal-0.3.0-py2.py3-none-any.whl (18.1 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page