Прогнозирование прибытия поездов на нейросетях

19 сообщений / 0 новых
Последнее сообщение
Прогнозирование прибытия поездов на нейросетях

Здравствуйте Ирина!

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

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

Ксения, добрый день!

Ксения, добрый день!

VOLUMES_EUR — почасовые значения энергопотребления по европейской территории РФ. В первой колонке идет дата, во второй — час, в третьей — самое значение энергопотребления.

Весьма любопытна ваша задача: прогноз прибытия поезда. А зачем он нужен, если поезд ходит по расписанию? :-) Если все же нужен, то напишите, какие данные у вас являются исходными для прогноза. Может, мне удастся подкинуть вам полезную идею.

----------------------
Ирина Чучуева,
команда Математического бюро

Ирина, время прибытия

Ирина, время прибытия грузового поезда,а не пассажирского!

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

И еще-можно у вас узнать, в

И еще-можно у вас узнать, в данной Вами программе (переделаной из Хайкина) выводится только результат обучения и ошибка? а сами результаты (т.е. прогноз) где можно посмотреть?) Заранее извиняюсь за глупый вопрос)

 

 

У вас в примере три колонки данных,а у меня поидее всего две(дата и время прибытия поезда на станцию)Я пытаюсь создать систему на основе нейронной сети,которая спрогнозирует время прибытия грузового поезда.Проблема состоит в следующем :1) сформировать входные данные корректно и правильно, 2)какова эффективность использования прикладных программ MATLAB(NNtoolbox) в данном случае,3)в результате мне необходимо получить график,для наглядного использования его в графическом интерфейсе,как это можно реализовать?Заранее спасибо за любой ответ:) 

Цитата: 1) сформировать
Quote:
1) сформировать входные данные корректно и правильно?

Постановка задачи, то есть формирование исходных данных и понимание того, чего мы хотим получиться на выходе — самое главное на первом этапе.

Quote:
2)какова эффективность использования прикладных программ MATLAB(NNtoolbox) в данном случае

У опытного пользователя, конечно, эффективность высокая, так как первые прогнозы можно получить через несколько часов работы. Однако если инструмент (в частности MATLAB) для вас очень нов, то получить сразу что-то вразумительное весьма затруднительно.

Quote:
3)в результате мне необходимо получить график, для наглядного использования его в графическом интерфейсе,как это можно реализовать?

Графический интерфейс можно реализовать как в MATLAB (в последних версиях есть возможность создания оконных приложений), так и в любом другом языке программирования C#, Java и т.д. Однако я считаю, что удобнее и эффективнее всю задачу решать одним инструментом и не писать сначала кодов в MATLAB, а потом алгоритмы переносить на другой язык программирования. Это удобно только в научно-исследовательских работах значительного объема, когда разработка математики и интерфейсов идут отдельно. Вы же все будете делать самостоятельно.

----------------------
Ирина Чучуева,
команда Математического бюро

 Спасибо за ответ,Я посидев

 Спасибо за ответ,Я посидев сегодня пол дня в MATLAB и почитав help разобралась с основами создания графического интерфейса.В итоге получилось найпростейшее приложение и т.к. я паралельно решила задачу авбора оптимальной колеи приема поезда с помошью ИНС,то хочу попробывать в одно приложение сразу две задачи поместить!

Ирина можно у вас узнать,в вашей диссертации там где график энергопотребления,данные начинаются со значений 732921.....я правильно понимаю что функция  datenum переводит дату в число? 

И еще узнать у Вас,если у меня только 2  колонки в массиве будет,а не три : первая дата,второе время прибытие,график лучше сделать из 1 переменной,просто чтобы отображалось значение времени? (это больше как совет-напутствие) :)

Цитата:посидев сегодня пол
Quote:
посидев сегодня пол дня в MATLAB и почитав help разобралась с основами создания графического интерфейса.

А вы молодец! Скоро разобрались! :-)

Quote:
Ирина можно у вас узнать,в вашей диссертации там где график энергопотребления,данные начинаются со значений 732921.....я правильно понимаю что функция  datenum переводит дату в число?

Величина 732921 - это дата в формате MATLAB, функция datenum переводит строковое число в цифру MATLAB, а вот datestr(732921) - сделает из числа MATLABа строковую дату. Это взаимо обратные функции.

Quote:
если у меня только 2  колонки в массиве будет,а не три: первая дата,второе время прибытие,график лучше сделать из 1 переменной,просто чтобы отображалось значение времени?

Вы можете группировать данные, как вам будет удобно. Здесь, на форуме можно прикрепить файл в сообщению. Если исходные данные у вас в xls или txt, то можете его заархивировать и приложить к сообщению. Я просто гляну на характер временного ряда (насколько он регулярен) и смогу дать вам экспертную обратную связь. Потому что не видя графика, мне очень сложно, предложить вам как лучше и эффективнее группировать и структурировать данные.

----------------------
Ирина Чучуева,
команда Математического бюро

Вот такой формат мне

Вот такой формат мне предоставили в качестве исхожных данных...

Первый лист

Ксения, нейронные сети вам

Ксения, нейронные сети вам сюда НИКАК не прилепить, потому что для обучения сети нужны сотни и тысячи значений временного ряда (у меня в VOLUMES_EUR имеется более 40 000 значений), а у вас я вижу таблицу на 70 значений! Только авторегрессия в самом простом варианте или экспоненциальное сглаживание вас спасут! Ибо они вполне корректно работают на таких объемах данных.

----------------------
Ирина Чучуева,
команда Математического бюро

А каком минмум необходим?это

А каком минмум необходим?это не проблема дописать) у меня есть еще данные

Это вопрос почти риторический

Это вопрос почти риторический. Нужно столько, чтобы обучить вашу сеть нормально, чтобы она выдавала адекват. Это то, что вы на ваших данных сможете оценить только на практике, на большом варианте расчетов. Однако, лично мое мнение, что 1000 значений запастись стоит.

----------------------
Ирина Чучуева,
команда Математического бюро

Меня в данном случае больше

Меня в данном случае больше волновала проблема формата данных,и надо ли еще колонка с этой таблицы  с какими-либо даннными для исходных данных?

Ваш формат ни одна программа

Ваш формат ни одна программа исходными функциями не считает, тем более MATLAB, в котором это все негибко. Формат должен быть в виде таблицы: <отметка времени> <значение ряда>. Тогда это можно считать нормально в MATLAB и работать дальше.

----------------------
Ирина Чучуева,
команда Математического бюро

Спасибо,я это и сама понимаю)

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

Да, в Excel даты в своем

Да, в Excel даты в своем формате, а MATLAB в своем. Так что вам нужно конвертнуть. Они отличаются на константу, так что нужно просто ее учесть.

----------------------
Ирина Чучуева,
команда Математического бюро

Еще вопрос можно : вшаи

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

При конвертации времени

При конвертации времени выходит так,что значения все одинаковы,т.к. расхождения очень малы(( например :

>> d1 = datenum('21:15')

 d1 =   7.3524e+005 >> d1 = datenum('23:36') d1 =   7.3524e+005 

Ксения, изучайте потихонечку

Ксения, изучайте потихонечку MATLAB по книге или по помощи. У вас проблемы пока только в самом-самом начале. До нейронных сетей еще далековато, нужно понимать, как работает система и как писать в ней программы. А как дойдете до нейронных сетей, то обращайтесь. Чем смогу — помогу!

----------------------
Ирина Чучуева,
команда Математического бюро

2010 - 2018 © Математическое бюро

Все права защищены в соответствии с законодательством РФ

При полном или частичном использовании материалов ссылка на сайт обязательна