A Python implementation of seasonal trend with Loess (STL) time series decomposition
Project description
This is a relatively naive Python implementation of the “Seasonal and Trend decomposition using Loess” time series decomposition (“STL decomposition,” Cleveland et al. 1990 [pdf]).
This implementation is a variation of (and takes inspiration from) the current implementation of the seasonal_decompose method in statsmodels. In this implementation, the trend component is calculated by substituting a configurable Loess regression for the convolutional method used in seasonal_decompose. It also extends the existing DecomposeResult from statsmodels to allow for forecasting based on the calculated decomposition.
Usage
The stldecompose package is relatively lightweight. It uses pandas.Dataframe for inputs and outputs, and exposes only a couple of primary methods - decompose() and forecast() - as well as a handful of built-in forecasting functions.
See the included IPython notebook for more details and usage examples.
Installation
A Python 3 virtual environment is recommended.
The preferred method of installation is via pip:
(env) $ pip install stldecompose
If you’d like the bleeding-edge version, you can also install from this Github repo:
(env) $ git clone git@github.com:jrmontag/STLDecompose.git (env) $ cd STLDecompose; pip install .
More Resources
statsmodels Time Series analysis package
Hyndman’s OTexts reference on STL decomposition
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
Built Distribution
Hashes for stldecompose-0.0.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8b720b9180ea379e6dbd90de3052c94b18f426f08edbe431d82f1b9854d4775 |
|
MD5 | 0c16aa1e265d60b9d446672775688083 |
|
BLAKE2b-256 | a1c363ffef266dfd136f35b52659abc3b0b7bb6341b7e6c16e0a67a1be1667db |