Multiple Nonlinear Regression Equation using Neural Network Toolbox
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Zia Tahir
am 10 Nov. 2013
Kommentiert: Greg Heath
am 23 Aug. 2018
I am analysing data with six inputs and one output. I had trained a network using Neural Network Toolbox. I want this network to predict the mathematical model or a regression equation. For instance I have six inputs as x1, x2, x3, x4, x5, x6 and one output y. I had trained a network which gives me R=0.999 which seems very good.
Now I want that network provide me an equation in the form.
y= a1*x1^b1 + a2*x2^b2 + a3*x3^b3 + a4*x4^b4 + a5*x5^b5+ a6*x6^b6
How I can get the constants a's and b's.
Regards and thanks in advance.
1 Kommentar
Hossein
am 4 Apr. 2014
Dear Zia, Please note that the whole idea of using neural networks, is relevant when you do not know the equation you want to fit on. For instance, you have so many inputs with interrelations. Any you do not know the response behavior. If you have an idea of the equation, it is more than wrong to use neural network. You are better off with the conventional regression methods. Hope that this is helpful.
Akzeptierte Antwort
Greg Heath
am 11 Nov. 2013
R = 0.999 doesn't mean much unless you can convince us that you did not over-train an over-fit net:
size(x) = [ I N ] % I = 6, N = ?
size(t) = [ O N ] % O =1, N = ?
How was the data divided? Ntrn, Nval, Ntst = ?
Did you use TRAINBR, TRAINLM or TRAINSCG?
Number of training equations Ntrneq = Ntrn*O = ?
How many nodes in the hidden layer? H = ?
Number of unknown weights and biases Nw = {I+1)*H+(H+1)*O = O + (I+O+1)*H = ?
Number of estimation degrees of freedom = Nw - Ntrneq = ?
What are the normalized mean-square errors for the train, val and test subsets? For example,
ttrn = t(trainInd), etc
NMSEtrn = mse(ttrn -ytrn) / var(ttrn,1)
R2trn = 1 - NMSEtrn
Rtrn = sqrt(R2trn)
is Rtst = 0.999?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A neural net is trained on known input/target examples. I do not see any way you can estimate the as and bs with a neural net.
Hope this helps.
Thank you for formally accepting my answer
Greg
2 Kommentare
Greg Heath
am 27 Nov. 2013
You have wasted a lot of space by specifying values which are already defaults. Type, without the ending semicolon,
net = feedforwardnet
and see what the defaults are. To get an idea of how to use the defaults, see the help and doc examples
help feedforwardnet
doc feedforwardnet
however, these examples are a little too sparse. Check out some of my code by searching on
greg fitnet Ntrials
greg patternnet Ntrials
Hope this helps
Weitere Antworten (1)
azie
am 27 Nov. 2013
u can try 'regress' function.
help regress
by taking your neural network output data as y values.
1 Kommentar
Greg Heath
am 23 Aug. 2018
BOTTOM LINE:
Your model is a polynomial. Use REGRESS to get the answer.
Trying to use a NN doesn't make much sense, even for practice.
Greg
Siehe auch
Kategorien
Mehr zu Modeling and Prediction with NARX and Time-Delay Networks finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!