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)
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 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)
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)
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)
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)
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)
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)
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
Built Distribution
Hashes for timeseries_cv-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef542aae5e3eab7de1f5572d3695cff46cd5f6a636e3de304ccf8e6ff23dc9da |
|
MD5 | 8d2949bb40b459dba81964e615efe098 |
|
BLAKE2b-256 | 9e71887f48dfb424891e1f827f368450ab50f8d83cac5fcc14c53e43aa3a377d |