NARX neural network - how to use different time series for train, validation and testing the network?

6 views (last 30 days)
Dear Matlab experts, actually I'm using Deep Learning Toolbox to create a Narx network to predict the dynamic response of a part of an internal combustion engine. I'm using 'catsamples' to use different data acquisition for train the network whith a complete DoE, but I have a problem:
I would like to use all these acquisitions to train the network, and take a separate acquisition for validation and testing without using 'divideblock'. It's possible to do that?
Furthermore, I'm using 'trainlm' and 'divideblock' (80/10/10) to divide the dataset into train/validation/test data, but I have not understood how this division works with multiple acquisition (catsasamples).
I'd really appreciate anyone who can help me.

Answers (1)

Vimal Rathod
Vimal Rathod on 28 Feb 2020
Firstly, You can train the model without using divideblock and supply your own testing and validation data(It is not a compulsion). To answer your second question, "divideblock" divides the data into set of blocks of indices (which is serial not random). To generate take samples randomly you could use dividerand. You could use divideint to use interleaved indices for training,testing and validation.
Torsten K
Torsten K on 15 Oct 2020
Hello Matlab-Experts,
I have the exact same problem. It is not clear to me how to split a collection of 100 different time series into a training set, a validation set and a test set without tearing the time series apart. That is, I want to use 70 out of 100 time series for training and another 15 out of 100 time series each for validation and testing. How can I program this in Matlab?
I would be very grateful if you could give me a hint!
Best regards

Sign in to comment.


Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!