Я хочу использовать нейронные сети для прогнозирования временного ряда 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].
Мы должны видеть код и реальные данные временных рядов,. –
Я только что добавил код выше. –
Сразу же задумался о http://www.imdb.com/title/tt0138704/quotes?qt=qt0188423 – timday