Data organisation for a Time Series Neural Network
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
David O'Leary
le 24 Août 2019
Commenté : David O'Leary
le 30 Août 2019
Hi there,
I would like to use the Deep Learning Tool box on Matlab to train a time series neural network, mostly likely using NARX, however I am having trouble with the data organsation for my specific problem.
My input data consists of several years of daily weather in the form of 12 independant variables from a site. I also have satellite derived Soil Mositure data for the site, however, due to Ireland being cloudy at lot, I only have these date for 16 days over the same time period. I would like to train a NARX network to try to predict Soil mositure using weather data as input.
I have easily being able to do this for say a single day, using a Fitting Neural Network, however we don't think that this form of network correctly mirrors the physical world in terms of our problem as it's expected that soil moisture is a function of several days of previous weather due to poor drainage on our site.
Therefore I would like to use NARX. However I do not understand how I can organise my input data. Basically I want to be able to train a network with say 7 days of weather data, which would result in a particular target value of soil moisture, for each of my 16 measured soil moisture days. To start with I ahve extracted a single pixel of data from my satellite images to test the theory.
My question is, is this possible using NARX? To have 7 days of an input time series which results in a single target output. From my reading of the help documents, NARX requires that both the input data and the target data need to be in a similar time series step. Is this the case or have I misunderstood the data structures?
Any help would be much apprecaited!
Thanks,
Dave
Note, I do have some codes for this problem but they are used for a fitting neural network whereas I would like to use a timeseries.
0 commentaires
Réponse acceptée
Mahesh Taparia
le 28 Août 2019
Hi,
You can train your NARX model with multi-dimensional input data. You can do this task in two ways, first using ‘narxnet’ function in MATLAB, you can follow the below link for reference:
https://www.mathworks.com/help/deeplearning/ug/design-time-series-narx-feedback-neural-networks.html
Secondly, you can use Neural Time Series Tool in MATLAB. You can launch the tool by the following command
ntstool
Regarding dataset organization, you can create a cell array of (1XNumber of samples) where each cell will consist of (1XD) vector, where D is the number of dimensions in dataset. You can load the existing dataset of ‘Pollution Mortality’ from the app in order to understand the dataset format.
7 commentaires
Mahesh Taparia
le 30 Août 2019
Hi David,
If you have 16 labelled data, then you can use Neural Time Series tool. You should train your model with those data.
Regarding number of steps, it all depends on problem to problem. You can make it a hyperparameter and vary the number of steps and select the particular step which is giving more accurate result.
16 is very very less, try to increase your data if possible (atleast 200).
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Sequence and Numeric Feature Data Workflows dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!