4

Я хочу использовать нейронные сети для прогнозирования временного ряда B в ближайшие 30 дней с этого момента на основе серии A (у меня есть полная история серия A) и список событий E в течение следующих 30 дней (E - список двоичных единиц). Зная, что B линейно пропорционален A и когда происходит событие в день i (E [i] = 1), он вызывает всплеск на B (отношение неизвестно). У меня есть данные обучения, содержащие кортежи (A, E, B). Я протестировал с помощью сети прямой передачи, но он не работает очень хорошо (не предсказывая правильные всплески). Должен ли я использовать повторяющиеся сети и как я могу сделать это neurolab или pybrain? Благодарю.Как предсказать спайк с использованием нейронной сети (желательно с помощью нейролаба или пирамина в питоне)

Вы можете посмотреть пример here.

Редактировать: код немного сложный, поэтому я не могу вставить здесь. Однако идея заключается в том, что я подаю A + E в качестве входов и предсказываю B, поэтому есть 30 + 30 единиц ввода, 30 единиц вывода, нет скрытого слоя (я тестировал с 1 скрытым слоем, включая 30 единиц и 90 единиц, t лучше). Данные таймсеров показаны в приведенной выше ссылке. (Красная линия B, A имеет одинаковую форму без шипов).

A_list, B_list, E_list = input() 
X, Y = [A + E for A, E in zip(A_list, E_list)], B_list 
indim, outdim = len(X[0]), len(Y[0]) 
network = nl.net.newp([[-1, 1]]*indim, outdim, transf=nl.trans.LogSig())  

errors = network.train(norm_X(X),               
         norm_Y(Y), 
         epochs=4000, show=1000, 
         lr=0.01) 

Где NORM_X (X), весы X на [-1,1] и norm_Y масштабирует Y на [0, 1].

+7

Мы должны видеть код и реальные данные временных рядов,. –

+0

Я только что добавил код выше. –

+0

Сразу же задумался о http://www.imdb.com/title/tt0138704/quotes?qt=qt0188423 – timday

ответ

2

Попробуйте использовать neurolab.net.newff с train_bfgs:

network = nl.net.newff([[-1, 1]]*indim, [10,outdim], transf=nl.trans.LogSig()) 
network.trainf = nl.train.train_bfgs 
network.train(...) 

Использование recurent сети вы можете увидеть, что: http://packages.python.org/neurolab/ex_newelm.html