Задачи моделирования: Трансформация vs Прогнозирование

Не секрет, что ни одна из современных и эффективных систем не может обойтись без использования методов математического и статистического моделирования. Давайте же поговорим о задачах моделирования, которые можно создавать и решать с помощью Prognoz Platform.

Блок моделирования занимает очень важное место, представляя в первую очередь инструментарий для решения различных задач. Исходя из своей специфики, задачи делятся на определённые типы.

В этой статье мы рассмотрим 2 основных типа задач, реализованных в нашей платформе, – это задача прогнозирования и задача трансформации. Конечно, есть и другие типы решаемых задач, но о них в другой раз.

Итак, почему я решила рассказать именно об этих задачах. Дело в том, что перед пользователем, в первый раз столкнувшимся с созданием задачи в блоке моделирования, встаёт вопрос выбора, какой тип задачи и в какой ситуации лучше использовать. Указанные типы задач можно считать наиболее распространёнными. Я постараюсь показать, чем они отличаются и, соответственно, в каких случаях лучше выбрать тот или иной тип.

Структура задачи в Prognoz Platform

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

Аспекты задачи

Кроме того, при создании задачи обозначаются временные периоды расчёта и сценарии, если они требуются для расчёта.

Перечисленные аспекты позволяют выявить основные отличия задач трансформации и прогнозирования.

Трансформация Vs. Прогнозирование

Периоды расчёта

Первое, на что обращаем внимание, – период, на который выгружаются результаты после расчёта задачи. Расчёт идёт таким образом, что весь заданный временной период делится на период идентификации и период прогнозирования.

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

Для других типов задач разделение периодов на идентификацию и прогноз сохраняется, но уже с другой логикой расчёта. Например, для задачи трансформации стадия идентификации как таковая отсутствует, и расчёт происходит на всём периоде (идентификация + прогноз).

Что касается периода выгрузки результатов, то здесь всё просто, он совпадает с периодом расчёта. Поэтому результаты расчёта задачи трансформации всегда выгружаются на весь период, в то время как результаты расчёта задачи прогнозирования выгружаются только на прогноз.

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

Для чего сценарии?

Сценарий в данном случае – это вариант развития модели, а также элемент сценарного измерения, которое пользователь формирует самостоятельно. Думаю, не лишним будет пояснить, что сценарное измерение участвует при формировании срезов входных и выходных рядов задачи. При этом пользовательские сценарии совсем не обязательно включать в расчёт, но по умолчанию для каждой задачи всегда используется сценарий «Факт», который создаётся системой автоматически.

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

А вот задача прогнозирования активно использует сценарное моделирование. Задача прогнозирования показывает прогноз по выбранным сценариям для расчёта.

При этом:

если в модели нет дополнительных переменных – факторов, то сценарии будут одинаково считаться по фактическим данным, взятым с идентификации; если факторы есть, то при расчёте будут учитываться прогнозные данные по сценариям для этих факторов, и тогда рассчитанные прогнозные значения по сценариям будут отличаться.

Разделение моделей на группы и принципы их расчёта

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

Среди всего многообразия видов моделей в платформе можно выделить группы прогнозных моделей и моделей – методов сглаживания. Они различаются по принципу расчёта: методы сглаживания считаются только на период идентификации, а прогнозные модели, к которым относятся все регрессионные и экстраполяционные модели, – только на прогноз.

Принимая во внимание сущность прогнозных моделей, для которых важно увидеть разницу в расчёте по различным сценариям, такие модели лучше считать через задачу прогнозирования со сценариями.

Отдельной группой можно выделить группу моделей «Преобразования» и модели ДУ (Детерминированные уравнения). В задаче трансформации такие модели будут рассчитаны на весь период расчёта, в задаче прогнозирования – на прогноз (или на период, установленный непосредственно в модели ДУ).

Как правило, модели этой группы принято использовать в задаче трансформации. Но если модель ДУ считать через задачу прогнозирования, то с помощью выбора определённых настроек можно влиять на период выгрузки результатов: мы можем выгружать результаты только на период идентификации, только на прогноз или же на весь период. Отмечу, что в формуле ДУ, помимо прочего, можно задать методы для расчёта тех же прогнозных моделей.

Чем же важна задача трансформации?

На самом деле роль задачи трансформации переоценить трудно. Она не предназначена для сценарного моделирования, она используется для других целей. Для наглядности я могу сравнить задачу трансформации с Трансформером, который меняет обличие моделируемой переменной напрямую в зависимости от заданной формулы: на вход он получает одни данные, затем преобразует их по формуле и выдаёт полученные результаты на выходе.

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

Режимы расчёта

Ещё одним важным моментом, отличающим задачи, является режим расчёта.

В задаче прогнозирования используется только поточечный режим, в то время как трансформация по умолчанию рассчитывается векторно, хотя поточечный режим для неё тоже можно настроить.

Чтобы увидеть, в чём заключаются принципы обозначенных режимов, приведу пример:

на входе у нас есть ряд X[t]: 1 2 3 4 5, посчитаем формулу X[t] = X[t-1] + 2 в разных режимах.

При векторном режиме во время расчёта на вход передаётся сразу весь ряд 1 2 3 4 5, и далее каждая точка выходного ряда получается путём увеличения предыдущей точки входного ряда на 2. Таким образом, получим ряд:

Поточечный режим подразумевает «обновление» входных данных во время расчёта, то есть каждая точка выходного ряда рассчитывается от только что полученной точки, и тогда на выходе мы имеем ряд:

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

Читайте также

Комментарии

Подробнее о политике использования персональных данных