Невронни мрежи за многоетапно прогнозиране

Работил съм с инструментариума за невронни мрежи на matlab. Тук използвам мрежата NARX. Имам набор от данни, състоящ се от цените на даден обект, както и количеството на закупения обект за определен период от време. По същество тази мрежа прави едноетапно прогнозиране, което се дефинира математически, както следва:

y(t)= f (y(t −1),y(t −2),...,y(t −ny),x(t −1),x(t −2),...,x(t −nx))

Тук y(t) е цената в момент t, а x е сумата. Така че входните функции, които използвам, са цена и сума, а целта е цената в момент t+1. Да предположим, че имам 100 записа на такива транзакции и всяка транзакция се състои от цената и сумата. Тогава по същество моята невронна мрежа може да предвиди цената на 101-вата транзакция. Това работи добре за едностъпкови прогнози. Ако обаче искам да направя многоетапни прогнози, така че да кажем, че искам да предвидя 10 транзакции напред (110-та транзакция), тогава предполагам, че правя едноетапно прогнозиране на цената и след това подавам това обратно в невронната мрежа. Продължавам да правя това, докато стигна до 110-та прогноза. В този сценарий обаче, след като предвидя 101-вата цена, мога да заведа тази цена в невронната мрежа, за да предскажа 102-рата цена, но не знам сумата на обекта при 101-вата транзакция. Как да направя това? Мислех да задам моите цели да бъдат цените на транзакциите, които са с 10 транзакции пред текущата, така че когато прогнозирам 101-вата транзакция, по същество прогнозирам цената на 110-та транзакция. Това жизнеспособно решение ли е или го правя по напълно грешен начин. Благодаря предварително за всяка помощ


person kushaldsouza    schedule 26.04.2012    source източник


Отговори (2)


Предполагам, че можете да използвате отделна невронна мрежа, за да направите прогнозиране на времеви редове за x, за да произведете x(t+1) до x(t+10) и след това да използвате тези стойности, за да захраните друга ANN за прогнозиране на y(t).

person kostas    schedule 26.04.2012

Подобно на казаното от kostas, след като имате предвидената цена 101, можете да използвате всичките си данни, за да предвидите сумата 101, след това да използвате това, за да предвидите цената 102, след това да използвате цената 102, за да предвидите сумата 102 и т.н. Въпреки това, това усложнява всяка грешка във вашите прогнози за всяка променлива. За да смекчите това, можете да добавите няколко други функции, като намаляваща отстъпка за минали стойности или мярка за грешка, която да използвате в прогнозата (търсете обучение с времеви разлики за подобни идеи в областта на ученето с подсилване).

person wwwslinger    schedule 12.09.2013