Conditional time series forecasting with convolutional neural networks. Inspired from:
- Conditional time series forecasting with convolutional neural networks by Anastasia Borovykh, Sander Bohte and Cornelis W. Oosterlee (2018)
- Probabilistic Forecasting with Temporal Convolutional Neural Network by Yitian Chena, Yanfei Kangb, Yixiong Chenc, Zizhuo Wangd (2020)
- TCNs exhibit longer memory than recurrent architectures with the same capacity.
- Constantly performs better than LSTM/GRU architectures on a vast range of tasks (Seq. MNIST, Adding Problem, Copy Memory, Word-level PTB...).
- Parallelism, flexible receptive field size, stable gradients, low memory requirements for training, variable length inputs...
Visualization of a stack of dilated causal convolutional layers (Wavenet, 2016)
dataset
: pandas.Dataframe. The networks are trained to predict information from this datasetdataset2
: pandas.Dataframe. This dataset is used as additional information to help predict values from the first datasetdevice
: cpu or gpuepochs
: Integer. Number of training epochkernel_size
: Integer. Size of the kernel used in convolutionscheckpoint
: Integer. Number of epoch after which networks are saved.receptive_field
: Integer. Number of previous dates information used to forecast the futuren_layers_encod
: Integer. Number of layer of the encodern_outputs
: list of Integer. Number of channel of convolutions of the encoderdilation
: Integer. Dilatation parameter of the convolutionstride
: Integer. Stride parameter of convolutionn_inputs
: Integer. Number of assetn_channel_decod
: Integer. Number of channel of the decoderfuture_size
: Integer. Number of step forecasted in the futurelearning_rate
: Float. Learning rate used for parameter optimizationsep_train_test
: Integer. Index of separation between training set and test setoutf
: String. Folder where networks are saved.resume
: Boolean. True if networks have previously been trained and one wishes to resume training