Список форумов neuroproject.ru neuroproject.ru
Форум сайта компании НейроПроект
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Вопрос про нейросетевой прогноз на n шагов вперед

 
Начать новую тему   Ответить на тему    Список форумов neuroproject.ru -> Нейронные сети
Предыдущая тема :: Следующая тема  
Автор Сообщение
alexey_mosc
Участник форума
Участник форума


Зарегистрирован: 31 Июл 2008
Сообщения: 64

СообщениеДобавлено: Пт Мар 05, 2010 2:42 pm    Заголовок сообщения: Вопрос про нейросетевой прогноз на n шагов вперед Ответить с цитатой

Доброго дня!

Подскажите, пожалуйста, можно ли так делать.

Я прогнозирую временной ряд и предполагаю, что оптимально достигаемая точность прогнозирования будет достигаться при прогнозировании на некоторое количество шагов вперед: на сколько точно - не знаю, но предполагаю, что не тривиальным образом, типа на первом шаге лучше всего, на втором хуже и т.д. Можно ли подать на выходы обучаемой с учителем нейронной сети несколько вариантов прогноза, соответствующие различному количеству шагов вперед и таким образом получить информацию о том, на каком шаге - наиболее точный прогноз? Справится ли нейронная сеть с такой задачей, которая сэкономит немало времени, в отличие от многократных проб с одним вариантом на выходном слое?

С уважением.
Алексей
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Victor G. Tsaregorodtsev
Эксперт
Эксперт


Зарегистрирован: 28 Июн 2005
Сообщения: 248
Откуда: Красноярск

СообщениеДобавлено: Пт Мар 05, 2010 6:14 pm    Заголовок сообщения: Ответить с цитатой

Попробуйте. 100% гарантии я бы не дал - и что средняя точность (в тех попугаях, в которых Вы меряете отклонения) для некоторого выхода многовыходной сети совпадет с той же точностью при одновыходной сети, и что упорядоченные по средней точности выходы многовыходной сети (т.е. упорядоченные точности прогнозов на все включенные в исследования шаги "вперед") совпадут с упорядоченным списком точностей прогноза при прогнозе одновыходной сетью.
Всё зависит от особенностей Вашей задачи и используемых нейросеток.

В принципе, в мире народ должен был экспериментально этот вопрос поисследовать. Например, см. диссер R.Caruana "Multitask learning" 97г и цитирующие этот диссер работы по поводу подводных камней, положительных эффектов, устойчивости результатов,... Еще в забугорном журнале по динамическим системам (не помню ни журнал, ни авторов, хотя эта статья у меня где-то в бумажных архивах валяется) году так в 2000 была статья по увеличению горизонта прогноза в будущее и улучшению точности прогноза (метод был двухшаговым - сначала на базе прогнозирующей на 1 шаг модели итеративно делался прикидочный прогноз на N шагов вперед, затем другой сети подавались эти N спрогнозированных значений и при необходимости некоторое число значений предыстории, и нейросетка прогнозировала ВЕКТОР из M>N значений, т.е. делала коррекцию прогноза и продолжение прогноза в будущее). Т.е. векторы значений народ без проблем от сети требует и получает - главное, чтобы Ваша задача позволяла обеспечивать нужные точности и нужные свойства решения для однозначного ответа на гипотезу о том, можно ли по многовыходной сети в Вашей задаче получать ту же качественную и количественную информацию, что и по набору одновыходных.
_________________
neuropro.ru - нейронные сети, анализ данных, прогнозирование
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
alexey_mosc
Участник форума
Участник форума


Зарегистрирован: 31 Июл 2008
Сообщения: 64

СообщениеДобавлено: Чт Мар 11, 2010 11:59 am    Заголовок сообщения: Ответить с цитатой

Спасибо за совет!

Я пока экспериментирую, но сразу заметил, что нейросетевая программа стала преждевременно сворачивать обучение сети, выдавая ошибку: "weights are rapidly converging... check learning rate... it is too high..." что-то такое. Это значит, что веса сходятся, становятся слишком большими или нулевыми... Я точно не понял. Но, видимо, когда отношение количества входных сигналов к выходным не большое - получается не хорошо ( у меня было 10 входов и 5 выходов).

И отдельное спасибо за идею с созданием дополнительной нейросети для прогноза на большее число шагов, с использованием предыдущего, полученного на НС, сигнала. Я про это слышал, но как то не пробовал применять.

Алексей
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Shumi2010
Новый посетитель
Новый посетитель


Зарегистрирован: 29 Авг 2010
Сообщения: 2

СообщениеДобавлено: Вт Сен 07, 2010 6:16 pm    Заголовок сообщения: Ответить с цитатой

Вообще-то ошибка будет накапливаться, то есть если первая сеть прогнозирует на 1 шаг вперед с ошибкой, то на вторую сеть будет подаваться уже значение с ошибкой, и так далее. Так что осторожнейSmile

Могу порекомендовать попробывать так - на вход подаем t, t-1,t-2,... на выходе снимаем t+2, t+3...
http://apsheronsk.bozo.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
alexey_mosc
Участник форума
Участник форума


Зарегистрирован: 31 Июл 2008
Сообщения: 64

СообщениеДобавлено: Ср Сен 08, 2010 6:36 pm    Заголовок сообщения: Ответить с цитатой

Спасибо за ответ.

Я так и хотел попробовать, то есть посмотреть, сможет ли сеть выдавать на выходных нейронах прогнозы, соответствующие разным шагам по времени вперед. Пока не получилось чисто технически. Пакет НС в Statistica сворачивает обучение и выдает ошибку. Попробую другую программу. Недавно наткнулся на прикольную программулину: http://www.membrain-nn.de/main_en.htm Там вручную рисуется топология сети и все связи между нейронами. Можно делать динамические НС, рекуррентные. В этой программе попробую сделать разные вида прогноза.

Есть идея подать на НС такие паттерны, которые на выходе выдают один и то же результат (речь идет про прогноз временного ряда). Может потом можно будет сделать вывод, например, под какие выходные значения сеть лучше обучается, или какие примеры являются более значимыми для сети. Надо подумать )
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
alexey_mosc
Участник форума
Участник форума


Зарегистрирован: 31 Июл 2008
Сообщения: 64

СообщениеДобавлено: Пн Мар 07, 2011 12:46 pm    Заголовок сообщения: Ответить с цитатой

Добрый день!

А вот есть такой вопросик. Нашел дискуссию в интернете, где люди обсуждают как для нейронной сети входы подготавливать и в основном беседуют о том, чтобы изменять входные значения, которые распределены по закону близкому к нормальному, на равномерное распределение. А эта техника вообще актуальная для НС? Разве ошибочно подавать на сеть нормально распределенные данные?

Алексей
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
alexey_mosc
Участник форума
Участник форума


Зарегистрирован: 31 Июл 2008
Сообщения: 64

СообщениеДобавлено: Пн Мар 07, 2011 1:24 pm    Заголовок сообщения: Ответить с цитатой

К предыдущему посту: лекция на тему предобработки данных для НС. http://neurolec.chat.ru/lecture4.htm

Как я понял, превращение распределения входных данных в что-то напоминающее равномерное распределение действительно важно когда есть выбросы, приводящие к тому, что нормализованные значения в диапазоне [0,1] буду в основном где то ближе к нулю. Наверное, это и для нормального распределения входов значимо. Но как некоторые люди закопались в эту тему - аппроксимируют функцию плотности распределения, и т.д.

Курю в сторонке.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
alexey_mosc
Участник форума
Участник форума


Зарегистрирован: 31 Июл 2008
Сообщения: 64

СообщениеДобавлено: Чт Мар 31, 2011 7:01 pm    Заголовок сообщения: Ответить с цитатой

Добрый день!

Тестировал очередную идею построения нейросети для предсказания будущих значений временного ряда. Получил на тестовой выбрке такую интересную картинку (ожидал элипсоидное облако...):





Похоже на аттрактор, причем в пространстве ожидаемых выходных значений и аппроксимируемых сетью. Я просто в шоке. Думаю, как это интерпретировать, ибо вижу такое впервые...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов neuroproject.ru -> Нейронные сети Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Rambler's Top100 Rambler's Top100