2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Прогнозирование веменных рядов с помощью нейронных сетей
Сообщение21.03.2010, 21:28 
Аватара пользователя


21/03/10
4
Здравствуйте!
Подскажите пожалуйста, как можно учесть сезонность при прогнозировании временных рядов с помощью нейронный сетей? Например, как в задаче прогнозирования нагрузок энергетической системы в книге Осовского "Нейронные сети" (стр. 124, изд-е 2002г). Для моделирования НС использую Neural Network Toolbox в Matlab.

 Профиль  
                  
 
 Re: Прогнозирование веменных рядов с помощью нейронных сетей
Сообщение22.03.2010, 00:23 
Аватара пользователя


20/12/08
236
изниоткуда
вам, вероятно, стоило бы поставить вопрос более конкретно. методов прогнозирования временных рядов с помощью НС достаточно много.

 Профиль  
                  
 
 Re: Прогнозирование веменных рядов с помощью нейронных сетей
Сообщение24.03.2010, 03:28 
Аватара пользователя


21/03/10
4
Прошу меня извинить, с нейронными сетями я пока "на вы", и понимаю, что существует множество различных способов. Но вот что имею в виду я, например:
Код:
P=[1 2 3 4 5 6 7 8 9 10];
T=[57.3 63.6 63.5 48.3 62.4 53.5 59.9 62.1 42.4 62.5];

net = newff([0 38],[100 1],{'tansig', 'purelin'});
net.trainParam.epochs = 200;
net = train(net,P,T);

Y = sim(net,P);

P1=[1 2 3 4 5 6 7 8 9 10 11];
Y1 = sim(net,P1);
plot(P,T,'*',P1,Y1,'o');

Мне хотелось бы знать, возможно ли организовать входные данные так, чтобы можно было учесть, например, то, что первые пять значений получены в будние дни, следующие два - в выходные и т.д.

 Профиль  
                  
 
 Re: Прогнозирование веменных рядов с помощью нейронных сетей
Сообщение24.03.2010, 09:42 
Аватара пользователя


20/12/08
236
изниоткуда
Сразу два вопроса:
Какой смысл входных данных? Это важно, чтобы встроить туда временную информацию.
Я правильно понимаю, что вы пытаетесь тренировать сеть на одном примере P? На одном примере принципиально ничего не получится. Иначе, сколько входов, выходов и промежуточных слоев в перцептроне вы хотите использовать?

 Профиль  
                  
 
 Re: Прогнозирование веменных рядов с помощью нейронных сетей
Сообщение24.03.2010, 13:00 


22/09/09
275
mad bat в сообщении #300595 писал(а):
Здравствуйте!
Подскажите пожалуйста, как можно учесть сезонность при прогнозировании временных рядов с помощью нейронный сетей? Например, как в задаче прогнозирования нагрузок энергетической системы в книге Осовского "Нейронные сети" (стр. 124, изд-е 2002г). Для моделирования НС использую Neural Network Toolbox в Matlab.

Эта задача давно решена в Дедукторе:
http://www.neuroproject.ru/aboutproduct ... fo=dedinfo

 Профиль  
                  
 
 Re: Прогнозирование веменных рядов с помощью нейронных сетей
Сообщение28.03.2010, 18:04 
Аватара пользователя


21/03/10
4
allchemist в сообщении #301666 писал(а):
Какой смысл входных данных? Это важно, чтобы встроить туда временную информацию.
Да, встроить временную информацию очень желательно, поскольку данные представляют собой понедельный расход предприятием газа. То есть в приведенном примере я пытаюсь по имеющимся данным за 10 недель составить прогноз расхода на одиннадцатую.
allchemist в сообщении #301666 писал(а):
Я правильно понимаю, что вы пытаетесь тренировать сеть на одном примере P? На одном примере принципиально ничего не получится. Иначе, сколько входов, выходов и промежуточных слоев в перцептроне вы хотите использовать?
Да, сеть тренируется на одном примере Р, один промежуточный слой, один выходной (для прогнозируемого значения).
Поясните пожалуйста, почему ничего не получится с одним примером Р?

-- Вс мар 28, 2010 18:49:05 --

Ajabsandal, спасибо за совет. Обязательно посмотрю эту программу.

 Профиль  
                  
 
 Re: Прогнозирование веменных рядов с помощью нейронных сетей
Сообщение02.04.2010, 22:37 
Аватара пользователя


20/12/08
236
изниоткуда
Цитата:
Да, сеть тренируется на одном примере Р, один промежуточный слой, один выходной (для прогнозируемого значения).
Поясните пожалуйста, почему ничего не получится с одним примером Р?

Ууупс...
Сеть строит обобщение на основе примеров. Но как можно построить обобщение на одном примере? почитайте другую литературу, Ежова-Шумского возьмите - сгодится как хорошее введение.
Что такое пример? Это набор входных данных (многомерный вектор, как правило), для которого известен желаемый результат (выход сети). Количество нейронов входного слоя должно быть равно размерности входного вектора. Чтобы сеть научилась обобщению, нужно иметь много примеров. Для перцептрона нужно очень много примеров. В вашем случае примеров 10 (по количеству недель), это очень мало. Даже если смотреть на задачу абстрактно (без нейронной сети), то колебания тут годовые, и без данных по нескольким годам ни один метод не поможет.
И вот еще, в вашем случае явный учет времени вовсе не нужен, временную координату можно закодировать и использовать так же, как и другие входные переменные. Про кодирование времени вроде тоже у Ежова-Шумского было.

 Профиль  
                  
 
 Re: Прогнозирование веменных рядов с помощью нейронных сетей
Сообщение13.05.2010, 22:15 
Аватара пользователя


11/05/10
2
А если рассматривается такой случай:
есть временной ряд. С 2000 по 2010 год. Это значения, связанными с приёмом и выпуском из вуза. И необходимо выстроить прогноз на период, скажем, до 2013(15) года. Какую нейронную сеть тут предпочтительнее применять? И на чём обучать её?
Пробовал лишь аппроксимировать сетью GRN. Но как выстроить обучающее множество к этому примеру - поставило меня в тупик.
Подскажите, пожалуйста.

 Профиль  
                  
 
 Re: Прогнозирование веменных рядов с помощью нейронных сетей
Сообщение24.06.2010, 19:00 
Аватара пользователя


21/03/10
4
Возвращаясь к предыдущей задаче (с газом), могу сказать, что удалось собрать данные понедельного расхода приблизительно за год. Общий алгоритм прогноза остался как в приведенном примере. То есть, сеть обучается на всем множестве данных и прогнозирует значение на следующую неделю.
kowalsky, так же не понимаю, какое обучающее подмножество можно использовать в подобных задачах. Если бы еще распределение данных подчинялось бы какому-нибудь закону, то выбрать обучающее множество еще можно было бы. Но как быть со случайными данными? По поводу сетей: мной были использованы сети радиально-базисная (RBF), обобщенно-регрессионная (GRNN) и сеть многослойный персептрон. Наибольшая точность прогноза была при использовании многослойного персептрона. А вообще, если используете Matlab, то вам будет очень легко поэкспериментировать с различными сетями. Можно так же посмотреть книгу Медведева, Потемкина "Нейронные сети. Matlab 6", там есть пример решения задачи прогнозирования.

 Профиль  
                  
 
 Re: Прогнозирование веменных рядов с помощью нейронных сетей
Сообщение26.07.2010, 09:47 


27/10/09
25
mad bat в сообщении #334677 писал(а):
Возвращаясь к предыдущей задаче (с газом), могу сказать, что удалось собрать данные понедельного расхода приблизительно за год. Общий алгоритм прогноза остался как в приведенном примере. То есть, сеть обучается на всем множестве данных и прогнозирует значение на следующую неделю.

Предлагаю посмотреть такой метод подготовки данных, если у вас есть возможность разбить понедельные данные по дням, то методом скользящего окна. На вход сети подать данные за 5 дней, на выходе ждать данные 6-ого дня, и так собрать N обучающих пар. А также M тестовых. Проверить какую ошибку сеть достигает на тестовой выборке.

Не забудьте также вопрос предобработки данных.

Обычно на практике задача аппроксимации в лоб не решается, стоит посмотреть или поискать значащие переменные в ВР или скажем поработать над постановкой задачи.

Посмотрите 'Нейронные сети' Саймона Хайкин, там есть некоторые рекомендации на эту тему.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group