Multiple Nonlinear Regression Equation using Neural Network Toolbox
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
Hossein
2014-4-4
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.
采纳的回答
Greg Heath
2013-11-11
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 个评论
Greg Heath
2013-11-27
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
更多回答(1 个)
azie
2013-11-27
u can try 'regress' function.
help regress
by taking your neural network output data as y values.
1 个评论
Greg Heath
2018-8-23
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Modeling and Prediction with NARX and Time-Delay Networks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!