О предикторах и исходных данных

8 сообщений / 0 новых
Последнее сообщение
О предикторах и исходных данных

Доброго времени суток всем!

У меня встала задача прогнозирования энергопотребления небольшого промышленного предприятия. Имеется несколько производственных линий, в основном станочный парк, которые выпускаю различную продукцию. Понятно, что суточный график потребления всего предприятия может разниться из сутки в сутки. Нужны дополнительные предикторы - план производства, плановые ремонты и т.д. Но встаёт вопрос: строить прогноз для отдельной линии с использованием её предикторов (а далее просуммировать прогнозные значения), либо прогнозировать общее потребление с учётом всех имеющихся факторов, влияющих на потребление? Где будет меньшая ошибка? Прогноз пытаюсь построить с помощью нейронной сети BackProp.

Добрый день!

Добрый день!

Позвольте вопрос: вы заявку в АТС подаете по всем линиям сразу?

Вообще, временной ряд энергопотребления часто характеризуется следующей особенностью: чем больше объем потребления, тем в целом более регулярен временной ряд и его можно точнее прогнозировать.

Так что на первом этапе я бы попробовала не мельчить, а прогнозировать тот ряд, который вы отправляете в АТС. Когда эта задача будет решена, то, во-первых, будет уже навык учета внешних факторов (план производства, план ремонта), во-вторых, у вас будет настроена система прогнозирования (модель ваша), которую можно будет гибко развивать и пробовать разные варианты прогнозирования. В любом случае на первом этапе задачу стоит упростить и быстрее получить результат.

Каким инструментарием пользуетесь при создании нейронных сетей?

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

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

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

Благодарю Вас за столь скорый отклик. На самом деле предприятие-объект не большое, и речь идёт о планировании на розничном рынке. Но суть от этого не меняется. Прогнозный ряд нужен для одной точки учёта. Вашу рекомендацию уяснил, спасибо.

 На счёт инструментария. Этот вопрос, по-моему, вообще достоин отдельной темы на форуме. Я же подходил к нему с точки зрения простоты освоения и наличия основных методов обработки. Хотелось пользовать готовый инструмент. Конечно, в идеале это был бы пакет Statistica, но... цена. Пользуюсь платформой Deductor. Deductor предлагает два типа алгоритмов нейронной сети: BackProp и ResilientProp. Сейчас изучаю возможности NeuroProject.

 Вы касались этой темы в своём блоге, если не ошибаюсь. Однако этим пакетам оценка не была дана. Прокоментируйте, пожалуйста.

 И ещё один вопросик. Существует ли какая-либо зависимость между периодом сезонности прогнозируемого ряда и глубиной погружения скользящего окна, результат которого подаётся на вход сети?

 

С уважением, Рустам Мирзаханов.

Здравствуйте, Рустам!

Здравствуйте, Рустам!

Я с розницей мало сталкивалась, так что ваш опыт мне и ваши задачи для нас интересны. На рознице точно такое же планирование? Отклонение также оплачивается по невыгодной цене?

1) Что касается deductor, то это специализированное и кнопочное решение, как я поняла. Так ли это? Нужно ли в нем писать код или достаточно нажимать на кнопки и пользоваться встроенными алгоритмами?

Мое мнение о готовых продуктах ддя прогнозирования просто. Я ими пользоваться не люблю. Наверное, меня так воспитывали, чтобы понимать изнутри суть расчета. Так вот, мне удобнее написать самой код, отладить и разобраться в нюансах, чем потом плеваться на результаты, которые мне выдает чья-то разработка, но которые мне неясны. Хорошо, если разработка эта адекватна, однако кривые расчеты нами были замечены даже во встроенных функциях MATLAB’а. Конечно, совершенно очевидно, что с помощью готовых продуктов результат можно получить быстрее, чем на более сложных платформах. Лично я deductor’ом не пользовалась, так что никак прокомментировать этот инструмент не могу. Однако если у вас по итогам работы останется мнения пользователя, то напишите его нам, будет любопытно.

2) У NeuroProject я так понимаю, целая линейка продуктов. Какой именно вы изучаете? У них есть что-то специализированное для прогноза энергопотребления?

3) По вашему вопросу у меня уточнение: вы имеете в виду процесс обучения сети? Если да, то корректно ли переформулировать вопрос так: сколько нужно взять сезонов (если сезонность выражена ярко), чтобы обучить сеть? Так я вас поняла?

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

Да, Вы правы, Ирина, на

Да, Вы правы, Ирина, на розничном рынке существуют такие тарифы, где потребитель должен планировать своё потребление. В благодарность за точное планирование, потребитель получает определённые вычеты из общей стоимости электроэнергии. В случае отклонений от планового - оплачивают отклонения по отдельной цене (отклонения оплачиваются всегда по разному).

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

Ни у Deductor, ни у NP нет специальных пакетов для прогноза электропотребления.

А вопрос Вы поняли правильно. Можно даже так его поставить: Как правильно обучить сеть с выраженной сезонностью?

 

С уважением, Рустам Мирзаханов.

Рустам, спасибо за подробный

Рустам, спасибо за подробный ответ!

Найду немного времени и обязательно поинтересуюсь насчет розничного рынка, может, разработанные нами алгоритмы и там сгодятся. Про два этих пакета поняла, интересно, благодарю вас за мнение! Может, мы расширим наш обзор со временем и включим и эти продукты тоже со ссылкой на вас. Это, однако, несколько не мой инструмент.

Вы знаете, Рустам, у меня нет такого громадного опыта построения нейронных сетей, чтобы я вам однозначно и точно ответила. Я делала сеть, обучение в ней проводилось методом BackProp. У меня вопросов была масса:

  1. сколько входов использовать,
  2. сколько информации использовать при обучении сети,
  3. как точнее прогнозировать на сети значение за значением или сразу целым массивом (по сути, сколько выходов).
Тестировала я свой нейронную сеть на разных временных рядах и ответы всегда были индивидуальны. У меня сложилось ощущение (мнением это назвать сложно, так как опыт не слишком широкий), что сеть это как одежда для временного ряда — надо ее подогнать конкретно именно к этому ряду. Есть, конечно, более или менее рекомендованные архитектуры, — я, например, брала только трехслойную сеть прямого распространения, так как она во многих статьях рекомендуется, — это несколько сужает поиск ответов. Однако бывают случаи, когда нужно более детально повозиться.

У меня ответа для вас нет, но из опыта могу поделиться следующем:

  1. упрощайте,
  2. пробуйте на все лады и всегда оценивайте результат.
То есть сделали вариант сети, обучили ее, спрогнозировать временной ряд на некотором (относительно длинном, до полугода) периоде и сразу оценили точность и записали результат. И дальше пробуйте новый вариант сети, новый вариант обучения, новый вариант архитектуры и всегда записывайте результат — в итоге после нескольких проб у вас будет свое понимание, что лучше для вашего временного ряда.

Свои изыскания я в конечном стоге свела к громоздкому алгоритму, которые все подряд перебирает: кол-во входов, выходов, варианты обучения. Не знаю, правильно ли это!

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

Ирина, приветствую!

Ирина, приветствую!

Что касается рынка электроэнергии, то тут немного разбираюсь. Обращайтесь.

 

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

 Также хочу попросить вас дать ссылки на информационные ресурсы, где, по вашему мнению, доходчиво описаны наиболее популярные методы обработки данных. 

 И ещё спрошу про Матлаб. Читал, что этот продукт имеет свой нейропакет. Это так? Может этот мощный продукт и пакет по прикладной статистике имеет (готовые основные алгоритмы обработки информации)?

 

С уважением, Рустам Мирзаханов

Рустам, здравствуйте!

Рустам, здравствуйте!

По розничному рынку поняла, при случае обращусь с вопросами. Спасибо!

Ваш вопрос об алгоритме обучение вполне списывает в концепцию нашего ресурса: давайте я немного приглажу свой алгоритм, сделаю его более читабельным и опубликую пост на эту тему с развернутым ответом на ваш вопрос. Это, конечно, займет некоторое время, но мы стараемся на интересные вопросы реагировать оперативно.

Ресурса по обработке данных я, к сожалению, посоветовать не могу, в особенности на русском языке. Свои знания приобретала годами и, как ни прискорбности, в основном из англоязычных источников. Проект Математическое бюро ставит одной из целью создать русскоязычный центр компетенций по вопросам анализа и прогнозирования временных рядов. Судя по нашей посещаемости нам это удается! Если вдруг вы сами наткнетесь на ресурсы по анализу данных, которые покажутся вам интересными, то кидайте сюда ссылки — мы бы хотели с такими проектами сотрудничать.

В MATLAB есть так называемые Toolbox, то есть набор встроенных функций для решения тех или иных прикладных задач. Например, есть toolbox по анализу и обработке изображений, toolbox по интеграции с java и т. д. Среди прочих, есть toolbox по нейронным сетям, который предоставляет готовые функции, реализующие нейронные сети. Но в любом случае от программирования на языке MATLAB'а это не избавляет. То есть toolbox можно сравнить просто с специальной библиотекой функций, но такую библиотеку надо подключить и научиться ее пользоваться в решение своей задачи.

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

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

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

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