Skip to main content

Timeseries cross-validation for Neural Networks

Project description

Time-Series Cross-Validation

This python package aims to implement Time-Series Cross Validation Techniques.

The idea is given a training dataset, the package will split it into Train, Validation and Test sets, by means of either Forward Chaining, K-Fold or Group K-Fold.

As parameters the user can not only select the number of inputs (n_steps_input) and outputs (n_steps_forecast), but also the number of samples (n_steps_jump) to jump in the data to train.

The best way to install the package is as follows:

pip install git+https://github.com/DidierRLopes/TimeSeriesCrossValidation

This can be seen more intuitively using the jupyter notebook: "example.ipynb" Below you can find an example of the usage of each function for the following Time-Series:

timeSeries = array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26])


Split Train

split_train

from TimeSeriesCrossValidation.splitTrain import split_train

X, y = split_train(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)

train

split_train_variableInput

from TimeSeriesCrossValidation.splitTrain import split_train_variableInput

X, y = split_train_variableInput(timeSeries, minSamplesTrain=10, n_steps_forecast=3, n_steps_jump=3)

split_train_variableInput


Split Train Val

split_train_val_forwardChaining

from TimeSeriesCrossValidation.splitTrainVal import split_train_val_forwardChaining

X, y, Xcv, ycv = split_train_val_forwardChaining(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)

trainVal - forwardChaining

split_train_val_kFold

from TimeSeriesCrossValidation.splitTrainVal import split_train_val_kFold

X, y, Xcv, ycv = split_train_val_kFold(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)

trainVal - kFold

split_train_val_groupKFold

from TimeSeriesCrossValidation.splitTrainVal import split_train_val_groupKFold

X, y, Xcv, ycv = split_train_val_groupKFold(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)

trainVal - groupKFold

Split Train Val Test

split_train_val_test_forwardChaining

from TimeSeriesCrossValidation.splitTrainValTest import split_train_val_test_forwardChaining

X, y, Xcv, ycv, Xtest, ytest = split_train_val_test_forwardChaining(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)

trainValTest - forwardChaining

split_train_val_test_kFold

from TimeSeriesCrossValidation.splitTrainValTest import split_train_val_test_kFold

X, y, Xcv, ycv, Xtest, ytest = split_train_val_test_kFold(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)

trainValTest - kFold

split_train_val_test_groupKFold

from TimeSeriesCrossValidation.splitTrainValTest import split_train_val_test_groupKFold

X, y, Xcv, ycv, Xtest, ytest = split_train_val_test_groupKFold(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)

trainValTest - groupKFold

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

timeseries-cv-0.1.3.tar.gz (6.7 kB view hashes)

Uploaded Source

Built Distribution

timeseries_cv-0.1.3-py3-none-any.whl (7.6 kB view hashes)

Uploaded Python 3

Supported by

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