Multiple Nonlinear Regression Equation using Neural Network Toolbox
조회 수: 7 (최근 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!