Azzera filtri
Azzera filtri

forecasting using neural network

2 visualizzazioni (ultimi 30 giorni)
niranjan sane
niranjan sane il 26 Mar 2012
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

Risposta accettata

Greg Heath
Greg Heath il 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

Più risposte (3)

niranjan sane
niranjan sane il 27 Mar 2012
HELLO GREG THANKS FOR YOUR ANSWER BUT I STILL HAVE SOME DOUBTS
1)i have read some were that for forecasting using statistical methods their must exit a correlation between the variables but for advance techniques such as neural network the network tries to built a relation of what data we present to the network is it true....
2)in my data set i have some variables whose regression is 0.9 and for some its 0.25 - 0.3 so cant i use the inputs having a correlation of 0.25.

Greg Heath
Greg Heath il 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

niranjan sane
niranjan sane il 27 Mar 2012
hey greg are you saying that i must calculate R^2 for finding relation between inputs and outputs.... i tried to use this code for finding regression between inputs and outputs
%a=input,b=output matrix
plot(a,b,'o')
p=polyfit(b,a,1)
R=corrcoef(b,a)
R(1,2)
i am not able to understand your points(2,3,4,5)could you explain which some details i am just a beginner and not able to understand.. thanks a lot for helping

Community Treasure Hunt

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

Start Hunting!

Translated by