Skip to main content

No project description provided

Project description

Tabular Time Series

Summary

This repo was created as I did not find a function able to transform a time-series (1D) into a tabular format (X, y).

Usage

TimeSeriesGenerator

The docstring is as follows. Given a 1D array data = [0, 1, 2, 3, 4, 5, 6], generates X, y following the parameters p(autoregressive), s (seasonal) and n (lenght of y).

Therefore, it makes it possible to train a neural network (e.g.) that 2 autoregressive entries (e.g. p = 2) and predicts the next two (n = 2) using 2 (n = 2) entries with lag 4 (s = 4).

>> data = [0, 1, 2, 3, 4, 5, 6]
>> p, n = 2, 2
>> ts = TimeSeriesGenerator(data, p, n)
>> for _, X, y in ts:
...    print(X, y)
    [0, 1] [2, 3]
    [1, 2] [3, 4]
    [2, 3] [4, 5]
    [3, 4] [5, 6]
>> p, n, s = 2, 2, 4
>> ts = TimeSeriesGenerator(data, p, n, s)
>> for X, y in ts:
...    # both y have their respective seasonal entry
...    print(data.index(y[0]) - data.index(X[0]) == s, data.index(y[1]) - data.index(X[1]) == s)
...    print(X, y)
    [0, 1], [2, 3] [4, 5]
    [1, 2], [3, 4] [5, 6]

TimeSeriesGeneratorOnline

To support online learning (and streaming) applications, TimeSeriesGeneratorOnline enables applications to give real time measurements and returns a bool b stating if it was possible to generate features, considering the given seasonal s, autoregressive ar and output y.

>>> from tabular_time_series.tsgeneratoronline import TimeSeriesGeneratorOnline
>>> data = [i for i in range(10)]
>>> p, n, s = 2, 2, 4
>>> tsgo = TimeSeriesGeneratorOnline(p, n, s)
>>> for X in data:
...     b, (s, ar, y) = tsgo(X)
...     print(X, '|', b, s, ar, y)
...
0 | False None None None
1 | False None None None
2 | False None None None
3 | False None None None
4 | False None None None
5 | False None None None
6 | True [0, 1] [2, 3] [4, 5]
7 | True [1, 2] [3, 4] [5, 6]
8 | True [2, 3] [4, 5] [6, 7]
9 | True [3, 4] [5, 6] [7, 8]

timeseries2df

Considering that many times a batch array is needed for training, timeseries2df can be used to generate a pandas DataFrame that will contain columns in the format:

>>> from tabular_time_series.tsdf import timeseries2df
>>> data = list(range(10))
>>> p, n, s = 2, 2, 4
>>> df = timeseries2df(data, p, n, s)
>>> df
   y(ts4)_1  y(ts4)_2  y(t-1)  y(t-0)  y(t+1)  y(t+2)
0         0         1       2       3       4       5
1         1         2       3       4       5       6
2         2         3       4       5       6       7
3         3         4       5       6       7       8
4         4         5       6       7       8       9

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

tabular-time-series-1.1.3.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

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

tabular_time_series-1.1.3-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file tabular-time-series-1.1.3.tar.gz.

File metadata

  • Download URL: tabular-time-series-1.1.3.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.8 CPython/3.8.2 Linux/5.8.0-1040-azure

File hashes

Hashes for tabular-time-series-1.1.3.tar.gz
Algorithm Hash digest
SHA256 9fbfce82f9cf6489d8094f178df2ed3f66b1a94235ac83dffd0d40f7df5af0df
MD5 b8bb90116e00873e9154040f053ed454
BLAKE2b-256 23aca447291fd6b43191380757f1e2ca1e9e818c0f7d3c907729e8a76f9d9818

See more details on using hashes here.

File details

Details for the file tabular_time_series-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: tabular_time_series-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.8 CPython/3.8.2 Linux/5.8.0-1040-azure

File hashes

Hashes for tabular_time_series-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4eadb8e841c80269e0e3b8f0fc3d54f5f0e7644d99278829fad955433ebd4209
MD5 3ee10c79e170d9fe7136b4dcb6ed69a9
BLAKE2b-256 3475b500242da1687903517ba7de8db275364cb821d32d7d39d046ff4b03fd53

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