forecasting using neural network
1 view (last 30 days)
Show older comments
hello all, in my application i have to forecast water demand based of climatic variables(temperature and humidity) using neural nwetwork. now i have few question in my mind 1)IS IT NECESSARY THAT THE INPUTS SHOULD HAVE A RELATION WITH OUTPUT AS IN MY CASE FOR SOME VAIRABLES I AM GETTING GOOD REGRESSION BUT FOR SOME ITS NOT GOOD. 2)WHICH TRAINING FUNCTION IS GOOD TRAINLM OR TRAINDM
0 Comments
Accepted Answer
Greg Heath
on 27 Mar 2012
1. In order for a net to perform well on nondesign data, the input and output variables must be well correlated. However, the significant correlations need not be linear. Nevertheless, I always check the static linear correlations via corrcoef before designing regression and classification nets. Similarly, I always check the auto and cross correlation functions when designing time-series nets.
2. The MATLAB documentation recommends the Levenberg-Marquardt, Conjugate-Gradient and Resilient Backpropagation algorithms. LM tends to be faster for small data sets and RPROP is better for huge data sets.
For important work it may be best to heed the words of Confuscious: "Try all. Choose best!"
Hope this helps.
Greg
0 Comments
More Answers (3)
Greg Heath
on 27 Mar 2012
1. Either the author lied or you missinterpreted what was written.
2. Terminology: The term "A regression of 0.9" can be interpreted as a " coefficient of determination " of 0.9. For linear dependence it is the square of the correlation coefficient. See Wikipedia.
3. Variables can have a significant nonlinear correlation when the linear correlation coefficient is insignificant. Therefore, linear correlation insignificance is not a sufficient reason for removing an input variable.
4. Sometimes I have included terms like (xi-meanxi)^2 (i = 1,2,...)in a linear (in coefficients) regression to estimate nonlinear variable significance. See the function STEPWISEFIT.
5. Unless you have a ridiculous number of input variables, use all input variables for design. When the design is complete you can test each input for significance by monitoring the decrease in performance when the corresponding input matrix row is randomized by shuffling.
Hope this helps.
Greg
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!