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 cellX = 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?
Best Answer