Skip to main content

Time Series analysis and evaluation tools

Project description

ts-eval Time Series analysis and evaluation tools

Code style: black pypi

A set of tools to help you analyse time series using Python.

🧩 Current features

  • N-step ahead evaluation widget for Jupyter
  • Absolute & relative metrics for point forecasts and prediction intervals (MSE, MAE, rMSE, rMAE, MIS, rMIS)
  • Fixed fourier series generation (fixed in time according to pandas index)
  • Naive/Seasonal models for baseline (with prediction intervals)
  • Helper functions to evaluate n-step ahead forecasts using Statsmodels models or naive/seasonal naive models.

📋 Release Planning:

  • Release 0.2
    • fix ipynb nbviewer preview
    • holiday/fourier features model
    • fix viz module to have less of important stuff
    • a gif with project visualization
    • check shapes of input arrays (target vs preds), now it doesn't raise an error
    • Baseline prediction using target dataset (without explicit calculation, but losing some time points)
    • Graph: plot confint
    • Nemenyi
    • Residual stats: since I have residuals => Ljung-Box, Heteroscedasticity test, Jarque-Bera – like in statsmodels results.

💡 Ideas

  • components
    • Graph: Visualize outliers from confidence interval
    • Multi-comparison component: scikit_posthocs lib or homecooked?
    • inspect true confidence interval coverage via sampling (was done in postings around bayesian dropout sampling)
    • xarrays: compare if compared datasets are actually equal (offets by dates, shapes, maybe even hashing)
    • bin together step performance, like steps 0-1, 2-5, 6-12, 13-24
    • highlight regions using a mask (holidays, etc.)
    • option to view interactively points using widget (plotly)?
    • diagnostics: bias to over / underestimate points
  • features
    • example notebook for fourier?
    • tests for fourier
    • nint generation
  • utils:
    • model adaptor (for different models, generic) which generates 3d prediction dataset. For stastmodels using dyn forecast or kalman filter
    • future importance calculator, but only if I can manipulate input features
    • feature selection using PACF / prewhiten?
  • project
  • sMAPE & MASE can be added for the jupyter evaluation tables
  • For multiple comparisons: import scikit_posthocs as sp sp.posthoc_nemenyi_friedman(pmm)

🤹🏼‍♂️ Development

Recommended development workflow:

pipenv install -e .[dev]
pipenv shell

The library doesn't use Flit/Poetry, so the suggested workflow is based on Pipenv (as per https://github.com/pypa/pipenv/issues/1911). Pipfile* are ignored in the .gitignore.

Changelog

0.1.0 (2019-10-04)

Features

  • N-step ahead evaluation widget for Jupyter
  • Absolute & relative metrics for point forecasts and prediction intervals (MSE, MAE, rMSE, rMAE, MIS, rMIS)
  • Naive/Seasonal models for baseline (with prediction intervals)
  • Helper functions to evaluate n-step ahead forecasts using Statsmodels models or naive/seasonal naive models.
  • Holiday features generation and model evaluation on holiday datetimes.

0.0.1 (2019-09-18)

Features

  • Fixed fourier series generation (fixed in time according to pandas index)

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

ts-eval-0.1.0.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

ts_eval-0.1.0-py2.py3-none-any.whl (28.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ts-eval-0.1.0.tar.gz.

File metadata

  • Download URL: ts-eval-0.1.0.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8

File hashes

Hashes for ts-eval-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b85cf4e01c34ea60fa673233359d6a5742093f7bcfc9ea03dfca38414576578a
MD5 4264bba4106f91ab2266694915a458b5
BLAKE2b-256 d60a6e120d5d6d7e8b247ed028f28460667dc1cf5d0690b1ee67f0767c96df19

See more details on using hashes here.

File details

Details for the file ts_eval-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: ts_eval-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 28.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8

File hashes

Hashes for ts_eval-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ba89fe47e92b2caf42ca496fefa29d9e95e12db010e54db9ade9fc1c01684f9d
MD5 fb2e10ae63e1e6e971999035531640dc
BLAKE2b-256 67a8f74f32c63d8ce2c1074340c39e00764fbab1a8f06a834bed8836a70afa17

See more details on using hashes here.

Supported by

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