Hi there, I am using Neural Network for making predictions. I have been using the default 'dividerand' with 70%, 15%, 15% of the data for training, validation and testing, respectively. Here is the simple code I use: net = newff (x,y,20); net.perform
1 view (last 30 days)
Show older comments
Hi there, I am using Neural Network for making predictions. I have been using the default 'dividerand' with 70%, 15%, 15% of the data for training, validation and testing, respectively. Here is the simple code I use: net = newff (x,y,20); net.performFcn = 'mse'; net.trainParam.goal = 1e-6; net.trainParam.min_grad = 1e-20; net.trainParam.epochs = 1000; net.trainParam.max_fail =50; net=init(net); net=train(net,inputs,target); I use geophysical data (spans over low, high and moderate solar activity). I tried to simulate using new data and I found that the Network was biased towards low solar activity. I thought the problem could be that the percentage for validation and testing does not cover the entire solar cycle. I want to divide the data myself so that all the 3 solar cycles are well represented in the training, validation and testing sets. How can I do this? Found online that I could use the 'divideblock' but how does it work? Thank you Racheal
3 Comments
Greg Heath
on 4 Jul 2015
What are the other 5 inputs?
How many measurements per day?
12627/365.25/24 = 1.44 ?
Is there any time delay between input and output?
You may need to have several models.
If sunspotnum <= ss1 then ..
etc
If so, try no data division with dividetrain to determine the minimum number of hidden nodes.
Then plot error rate vs
a. each of the 8 inputs
b. each of the 8 principal components (PCA)
c. each of the 8 principal coordinates (PLS)
>> lookfor principal
Hope this helps
Greg
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!