Skip to main content

A Python port of R's stl function

Project description

rstl

A Python port of R's stl function. Translated rather literally from the original R/Fortran source and vectorized with NumPy.

For more information see the R manual.

Compatible with Python 2 and 3.

Installation

pip install --user rstl

Usage

Import the STL class and call its constructor.

import numpy as np
from rstl import STL

ts = np.arange(144)
freq = 12

stl = STL(ts, freq, "periodic")

trend = stl.trend

Documentation

The code itself is mostly uncommented due to it being a literal translation.

class STL(ts, freq, s_window, s_degree=0, t_window=None,
          t_degree=1, l_window=None, l_degree=None, s_jump=None,
          t_jump=None, l_jump=None, robust=False, inner=None, outer=None):

Note that a value of None means that the default R value will be used. (These could not be specified in the signature because Python does not allow referencing other parameters).

Args:

  • ts: The time series (numpy array).
  • freq: The frequency of the time series.
  • s_window: Either the character string "periodic" or the span (in lags) of the loess window for seasonal extraction, which should be odd and at least 7, according to Cleveland et al.

Optional args:

  • s_degree, t_window, t_degree, l_window, l_degree, s_jump, t_jump, l_jump, robust, inner and outer. See the R manual for their meanings and defaults.

Attributes:

  • trend: The trend component of the time series (numpy array).

  • seasonal: The seasonal component of the time series (numpy array).

  • remainder: The remainder of the time series not explained by trend and seasonal components (numpy array).

  • weights: The final robust weights (all one if fitting is not done robustly) (numpy array).

  • s_window, s_degree, t_window, t_degree, l_window, l_degree, s_jump, t_jump, l_jump, inner and outer. Note that these may have been altered by the program.

Performance

According to tests a runtime increase of factor ~3-5 should be expected.

Copyright and License

Python port Copyright 2018 Eric Rauch.

Original source Copyright 2014 B.D. Ripley; Fortran code by Cleveland et al (1990) from ‘netlib’.

Licensed under the GPLv3.

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

rstl-0.1.3.tar.gz (4.6 kB view details)

Uploaded Source

Built Distributions

rstl-0.1.3-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

rstl-0.1.3-py2-none-any.whl (5.2 kB view details)

Uploaded Python 2

File details

Details for the file rstl-0.1.3.tar.gz.

File metadata

  • Download URL: rstl-0.1.3.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.15

File hashes

Hashes for rstl-0.1.3.tar.gz
Algorithm Hash digest
SHA256 6d8ae0ccf8d05cb8d8f02d2562a0aee1ec05f00590febd39decd7bf35a17908e
MD5 0990489656ddb4802ec8c805813ea80c
BLAKE2b-256 0f3daba48cae8e8374596f7f4a81b434c7036c004b8de72fa897ac20045fd1f7

See more details on using hashes here.

File details

Details for the file rstl-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: rstl-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.15

File hashes

Hashes for rstl-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1d7e5e0cf25d47d13c87f92d981d947578890c3f7de126ea6e8b3cfdf0c5785b
MD5 ab5cdac2aba7860ab2b4b4d68835bdc4
BLAKE2b-256 2f9503821bfcb59d5e4cb9dd5e2ffce5bf1ec7da53c51b247b202bcfea03d81f

See more details on using hashes here.

File details

Details for the file rstl-0.1.3-py2-none-any.whl.

File metadata

  • Download URL: rstl-0.1.3-py2-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/2.7.15

File hashes

Hashes for rstl-0.1.3-py2-none-any.whl
Algorithm Hash digest
SHA256 c778d031dfb9f8dd655f75c493e98d2e842c920b9e93675f61fa006e6878a5db
MD5 b639a9e8635244dffd397ad5e0e086d0
BLAKE2b-256 970919adf441a30c3d9260c1b3d77f6c6d2b1cf8e5505fa01299d5b6b64bdc37

See more details on using hashes here.

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