Skip to main content

TimeDiffusion - Unified Framework for Multiple Time Series Tasks

Project description

TimeDiffusion - Unified Framework for Multiple Time Series Tasks

Supports 2D (image) and 3D (video) data as input for research purposes.

Install

pip install timediffusion

Quick Start

Forecasting time series

# train sequence in shape [channels, sequence_length]
model = TD(input_dims=train.shape).to(device=device)
training_losses = model.fit(train)
predictions = model.forecast(horizon)

Creating synthetic time series

# sequence in shape [channels, sequence_length]
model = TD(input_dims=seq.shape).to(device=device)
training_losses = model.fit(seq)
# proximity - how close to original, samples - total synthetic time series
synthetic_data = model.synth(proximity=0.9, samples=3, batch_size=2, step_granulation=100)

Time series Imputation

# sequence in shape [channels, sequence_length]
model = TD(input_dims=seq.shape).to(device=device)
# mask - binary array of same shape, as sequence, with 1 in positions, that needed to be overlooked
training_losses = model.fit(seq, mask=mask)
restored_seq = model.restore(example=seq, mask=mask)

Examples

Time series tasks example

Philosophy

Main synopsis behind TimeDiffusion model is that in reality, when working with time series we don’t have many samples, as it could be in other machine learning fields (e.g. cv, nlp). Thus, classical autoregressive approaches like ARIMA has the most suitable approach of fitting / training only on original sequence (maybe with some exogenous data).

TimeDiffusion takes inspiration from these established methods and only trains on the input sample. Model incorporates most powerful modern deep learning techniques such as diffusion process, exponential dilated convolutions, residual connections and attention mechanism

Model architecture

Presented below are diagrams depicting model components, each new scheme representing a higher level of abstraction.

  • Temporal Block

Temporal Block Architecture image

  • TimeDiffusionProjector

TimeDiffusionProjector Architecture image

  • TimeDiffusion

TimeDiffusion Architecture image

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

timediffusion-0.2.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

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

timediffusion-0.2-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file timediffusion-0.2.tar.gz.

File metadata

  • Download URL: timediffusion-0.2.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for timediffusion-0.2.tar.gz
Algorithm Hash digest
SHA256 b14c60ac6ffe5e6ce75a533c0ecc5ef3fb0133dbbfb3f25cdb9ae27b1eeec37d
MD5 790455c03221a70c37771e43b65619af
BLAKE2b-256 aae989e31984260cc32ef1dcc5bf4abc950a4557bc2daa78d689b6dcaf9b172e

See more details on using hashes here.

File details

Details for the file timediffusion-0.2-py3-none-any.whl.

File metadata

  • Download URL: timediffusion-0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for timediffusion-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6f1a330ec6f206082a8339540ad87c9354a0206881bbdfb930b98649ba48f0a2
MD5 7695d1d7a1c2812ba32011e774b671b7
BLAKE2b-256 607d8b9f94fcf652c6fa6abf4724e87e4661e22343d770424357afac54726ac3

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