Deep Learning Error - how to fix code?

2 vues (au cours des 30 derniers jours)
Manny
Manny le 27 Fév 2024
Réponse apportée : Venu le 7 Mar 2024
I am using this link to implement a deep learning algorithim:
I followed most of the steps but modified slightly to fit my data. I am getting an error. How do I fix it?
Here is my code:
FilteredCIV = CIV(strcmp(CIV.SYMBOL,UnderlyingSymbols.SYMBOL(i)),:);
FilteredCIV = FilteredCIV(FilteredCIV{:,2} <= datenum(2024,2,5),:);
FilteredCIVOnly = table2array(FilteredCIV(:,"COMPOSITE_IMPLIED_VOLATILITY"));
net = narnet(1:2,10,'none','trainbr');
[Xs,Xi,Ai,Ts] = preparets(net,{},{},FilteredCIVOnly);
net = train(net,Xs,Ts,Xi,Ai);
[Y,Xf,Af] = net(Xs,Xi,Ai);
[netc,Xic,Aic] = closeloop(net,Xf,Af);
Yc = netc(cell(0,20),Xic,Aic);
Here is CIV table:
>> CIV
CIV =
2452×3 table
SYMBOL TRADE_DATE COMPOSITE_IMPLIED_VOLATILITY
_______ __________ ____________________________
{'SPX'} 7.3585e+05 12.596
{'SPX'} 7.3585e+05 13.243
{'SPX'} 7.3585e+05 13.868
{'SPX'} 7.3585e+05 13.621
{'SPX'} 7.3585e+05 14.706
Here is error:
Index in position 2 exceeds array bounds. Index must not exceed 1.
Error in preparets (line 317)
xi = xx(:,FBS+((1-net.numInputDelays):0));
Error in ForecastModel (line 58)
[Xs,Xi,Ai,Ts] = preparets(net,{},{},FilteredCIVOnly);
Thank you

Réponses (1)

Venu
Venu le 7 Mar 2024
Hi @Manny,
To pass the data properly to preparets, make these two adjustments in your code.
  • Pass FilteredCIVOnly as a cell array; FilteredCIVOnlyCell = num2cell(FilteredCIVOnly);
  • Transpose FilteredCIVOnlyCell to ensure that the data is correctly interpreted as a sequence of timesteps by the function; [Xs,Xi,Ai,Ts] = preparets(net, {}, {}, FilteredCIVOnlyCell');
Hope this helps!

Catégories

En savoir plus sur Sequence and Numeric Feature Data Workflows dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by