Toolbox for Time Series analysis and integration with Machine Learning.
Project description
giotto-time
giotto-time is a machine learning based time series forecasting toolbox in Python. It is part of the Giotto collection of open-source projects and aims to provide feature extraction, analysis, causality testing and forecasting models based on scikit-learn API.
License
giotto-time is distributed under the AGPLv3 license. If you need a different distribution license, please contact the L2F team at business@l2f.ch.
Documentation
- API reference (stable release): https://giotto-ai.github.io/giotto-time/
Getting started
Get started with giotto-time by following the installation steps below. Simple tutorials and real-world use cases can be found in example folder as notebooks.
Installation
User installation
Run this command in your favourite python environment
pip install giotto-time
Developer installation
Get the latest state of the source code with the command
git clone https://github.com/giotto-ai/giotto-time.git
cd giotto-time
pip install -e ".[tests, doc]"
Example
from gtime import *
from gtime.feature_extraction import *
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
# Create random DataFrame with DatetimeIndex
X_dt = pd.DataFrame(np.random.randint(4, size=(20)),
index=pd.date_range("2019-12-20", "2020-01-08"),
columns=['time_series'])
# Convert the DatetimeIndex to PeriodIndex and create y matrix
X = preprocessing.TimeSeriesPreparation().transform(X_dt)
y = model_selection.horizon_shift(X, horizon=2)
# Create some features
cal = feature_generation.Calendar(region="europe", country="Switzerland", kernel=np.array([1, 2]))
X_f = compose.FeatureCreation(
[('s_2', Shift(2), ['time_series']),
('ma_3', MovingAverage(window_size=3), ['time_series']),
('cal', cal, ['time_series'])]).fit_transform(X)
# Train/test split
X_train, y_train, X_test, y_test = model_selection.FeatureSplitter().transform(X_f, y)
# Try sklearn's MultiOutputRegressor as time-series forecasting model
gar = forecasting.GAR(LinearRegression())
gar.fit(X_train, y_train).predict(X_test)
Contributing
We welcome new contributors of all experience levels. The Giotto community goals are to be helpful, welcoming, and effective. To learn more about making a contribution to giotto-time, please see the CONTRIBUTING.rst file.
Links
- Official source code repo: https://github.com/giotto-ai/giotto-time
- Download releases: https://pypi.org/project/giotto-time/
- Issue tracker: https://github.com/giotto-ai/giotto-time/issues
Community
Giotto Slack workspace: https://slack.giotto.ai/
Contacts
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
File details
Details for the file giotto-time-0.2.2.tar.gz
.
File metadata
- Download URL: giotto-time-0.2.2.tar.gz
- Upload date:
- Size: 113.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d85341ff253bbfb6ad03ab133c6cba4ce58b495a2292319b50974e85745cac2c |
|
MD5 | 2ac59e81d3a98c8dc31432132879d41b |
|
BLAKE2b-256 | 08459abf18a3e43745fbbb619334f15d2fc0f10566791548a7a0554de80740b1 |
File details
Details for the file giotto_time-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: giotto_time-0.2.2-py3-none-any.whl
- Upload date:
- Size: 155.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9117e02b436b0e825885c156910d56e216b796f0330ff7625a45e5bc80870e3f |
|
MD5 | 9f266d8f11b1c16563264511aa405bfb |
|
BLAKE2b-256 | b86500bbd6e44af82460d6425028fca8f9ab1f14d37f1a73f6a2230f06e3dfb0 |