NARXnet non-integer delays problem
Mostrar comentarios más antiguos
I have read quite a bit on the crosscorr and autocorr and nncorr
I just dont get what this statement means:
Use the significant lags of the target autocorrelation function and the target/input crosscorrelation function to determine ID and FD.
could you please explain further?
From the code below, 1. What does the value 35 mean? 2. Do i just use the values: inputdelays and feedackdelays and input them straight into the net like this?:
net = narxnet( inputdelays , feedbackdelays ,hiddenLayerSize,'open',trainFcn)
...............
The delays were gotten with this code
x = OilRate; % 1×1500 cell
t = GasProduced; % 1×1500 cell
X = zscore(cell2mat(x));
T = zscore(cell2mat(t));
[ I N ] = size(X)
[ O N ] = size(T)
crosscorrXT = nncorr(X,T,N-1);
autocorrT = nncorr(T,T,N-1);
crosscorrXT(1:N-1) = []; % Delete negative delays
autocorrT(1:N-1) = [];
sigthresh95 = 0.21 % Significance threshold
sigcrossind = crosscorrXT( crosscorrXT >= sigthresh95 )
sigautoind = autocorrT( autocorrT >= sigthresh95 )
inputdelays = sigcrossind(sigcrossind <= 35)
feedbackdelays = sigautoind(sigautoind <= 35)
feedbackdelays(1)=[] % Delete zero delay
2. When I run the code above I get inputdelays(1×200 double) and fedbackdelays(1×154 double)
When I try to use this in my NARXnet code I get this error:
Parameters.InputDelays contains a non integer value
Which is true since
inputdelays has Min: 0.2181 & Max:0.5974
feedbackdelays has Min: 0.2103 Max:0.8725
How do I resolve this?
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Linear Algebra en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!