Skip to main content

A package for exploration of regularly sampled time series.

Project description

Time Series Explorer (tseda)

An application for time series exploration.

Overview

tseda lets you explore regularly sampled time series with a sampling frequency of one hour or greater. It is currently limited to 2,000 samples (this is configurable).

Three-Step Exploration Workflow

(a) Initial Assessment

Explore the distribution and spread of values using a kernel density estimate and box plot. You get to see the raw distribution of the values. The PACF and ACF provide clues about seasonality and autoregressive components.

(b) Decomposition Using Singular Spectral Analysis

On the basis of the sampling frequency, a window for SSA is determined. This is a heuristic assignment. For example:

Sampling Frequency Window Size
Hourly 24
Monthly 12
Quarterly 4

This can be changed in the UI. Based on the eigen value distribution, observations from the ACF plot and the eigen vector plot, the seasonal components can be determined if present. Based on these initial plots, the user needs to input a set of groupings and reconstruct the series with these groupings. The reconstruction plots are shown. If there is structure in the series, then change point analysis can be done using the fact that the components are smooth. A change point plot is shown. The explained variance from signal and noise components and the assessment of the noise structure (independent or correlated) is provided.

(c) Observation Logging

The SSA is based on the eigen decomposition of the trajectory matrix. Though the raw signal is correlated, the eigenvectors are uncorrelated. If we assume that the signal is Gaussian, this also implies independence. We can use the Akaike Information Criterion for model selection and determine the AIC as a function of the rank of the model. This is shown in the observation page. An automatic summary of all the observations is provided.

Notebook Interface

The package also provides a notebook interface to these features. If you have a new dataset that you want to analyze, look at the data loader directory for examples. Download your dataset, clean it, produce your time series, and analyze it with tseda.

Getting Started

1. Install Dependencies

Create and activate a virtual environment, then install the required packages:

python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -r requirements.txt

Or, if you are using the package in editable/development mode:

pip install -e .

2. Run the App

python src/tseda/user_interface/ts_analyze_ui.py

The app will start a local web server. Open your browser and navigate to the URL printed in the terminal (typically http://127.0.0.1:8050).

3. Upload Your Data

  • Click "Drag and Drop or Select Files" in the Initial Assessment panel.
  • Your file must be a CSV or Excel file with at least two columns: a timestamp column (first) and a numeric value column (second).
  • The data must be regularly sampled at hourly or lower frequency (e.g., hourly, daily, monthly).
  • The dataset must contain no missing values (NA / NaN). Clean your data before uploading.
  • Files are limited to 2,000 rows (configurable via MAX_FILE_LINES in ts_analyze_ui.py).

4. Explore in Three Steps

Step Panel What to do
1 Initial Assessment of Time Series Review distribution plots (KDE, box plot) and the ACF / PACF for autocorrelation patterns.
2 Time Series Decomposition Review the eigenvalue plot, then enter component groupings (e.g., Trend, Seasonal, Noise) and click Apply Grouping.
3 Observation Logging Review the AIC rank diagnostics, read the auto-generated summary, and add your own observations before saving the report.

Build And Publish With uv

  1. Build source and wheel distributions:
uv build
  1. Validate distributions before upload:
uvx twine check dist/*
  1. Publish to PyPI using an API token:
export UV_PUBLISH_TOKEN="pypi-..."
uv publish
  1. Publish to TestPyPI first (recommended):
export UV_PUBLISH_TOKEN="pypi-..."
uv publish --publish-url https://test.pypi.org/legacy/

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

tseda-0.1.0.tar.gz (848.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tseda-0.1.0-py3-none-any.whl (851.3 kB view details)

Uploaded Python 3

File details

Details for the file tseda-0.1.0.tar.gz.

File metadata

  • Download URL: tseda-0.1.0.tar.gz
  • Upload date:
  • Size: 848.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for tseda-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cfb14ceb2acb42616d80c38b470ddf2df79fbd735ed6051b4b7eae85d7bd1f7d
MD5 63f2fb0ad5c34bdfaec9c5fd8b392c34
BLAKE2b-256 52c0dcef2443098e68c0eb564ed4888e19d2a8abebdf93362225f068b12f0769

See more details on using hashes here.

File details

Details for the file tseda-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tseda-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 851.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for tseda-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3aaaafc7d20d435cbae3857b8b267feca7395cfe72f8d74963da891db309e395
MD5 e0b9bc7e74dd4a5e9f76612d431b31dd
BLAKE2b-256 699d42839f3c3ce6f82e4bb86419c0841d5e2469c398f03fc3c8e46b7310ebac

See more details on using hashes here.

Supported by

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