problem with closeloop narx
1 次查看(过去 30 天)
显示 更早的评论
I am spanish and i can't writte well english but i will try explain my problem. I want to create a RED NARX for predict values of future. I imported two records (inputs) and (targets). I prepared data with command preparets and i create the narxnet with one delay and 16 hiddenlayers. After, i train narxnet and simulated the data i got the outputs. But this outputs are delayed and i want values in future for example one day. I must use closeloop for obtain data in future. My problem is how iterate twice with closeloop because i does not got targets in future. how as would be the code of this part (closeloop) for iterate two times.
Many thanks
2 个评论
采纳的回答
Shashank Prasanna
2013-1-30
This is what an open loop looks like during training:
Since it is NARX you will have one y(t) as the target and x(t) as the eXogenous input.
When you close the loop as follows:
you will ONLY need to provide the eXogenous inputs, y(t) will be predicted by the output.
Scroll down to see the code of how this is done:
If you don't have an eXogenous input x(t) then you need to be using NAR network.
更多回答(1 个)
Greg Heath
2013-3-13
You can iterate as long as you have exogeneous inputs. If your last exogeneous input value is at t = tf, your last predicted output is at t = tf + LDB where
LDB = max([ID,FD])
is the length of your delay buffer.
However, there is a limited amount of good predictions beyond the end of the training series caused by the accumulation of prediction errors. Therefore, it is imperative that you do not overtrain an overfit (Nw > Ntrneq) openloop net.
Hope this helps.
Thank you for formally accepting my answer
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!