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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fbfce82f9cf6489d8094f178df2ed3f66b1a94235ac83dffd0d40f7df5af0df
|
|
| MD5 |
b8bb90116e00873e9154040f053ed454
|
|
| BLAKE2b-256 |
23aca447291fd6b43191380757f1e2ca1e9e818c0f7d3c907729e8a76f9d9818
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4eadb8e841c80269e0e3b8f0fc3d54f5f0e7644d99278829fad955433ebd4209
|
|
| MD5 |
3ee10c79e170d9fe7136b4dcb6ed69a9
|
|
| BLAKE2b-256 |
3475b500242da1687903517ba7de8db275364cb821d32d7d39d046ff4b03fd53
|