К ВОПРОСУ О РЕАЛИЗАЦИИ ЭКОНОМЕТРИЧЕСКИХ МОДЕЛЕЙ НА ВЕБ-СЕРВЕРЕ С ОБЕСПЕЧЕНИЕМ МНОГОПОЛЬЗОВАТЕЛЬСКОГО ДОСТУПА
Ä.C. Акопов,
доктор технических наук, профессор кафедры «Бизнес-аналитика»
Национального исследовательского университета «Высшая школа экономики».
Адрес: г. Москва, ул. Кирпичная, д. 33/5.
E-mail: akopovas@stream.ru.
В работе представлен новый подход, обеспечивающий возможность динамического\ сценарного моделирования и основанный на использовании технологии «Web-simulation».
В рамках данного подхода выполнена реализация прогнозных моделей на платформе имитационного моделирования (в частности, Powersim Studio), интегрированной с веб-сервером и системой управления базами данных (СУБД). В результате обеспечивается возможность формирования пользовательских прогнозных сценариев с сохранением результатов моделиро-I вания в СУБД для визуализации и дальнейшего анализа. I
Ключевые слова: Powersim, веб-сервер, эконометрические модели, системная динамика.
1. Введение
В настоящее время наблюдается рост интереса со стороны различных организаций к использованию систем имитационного моделирования для коллективной (многопользовательской) поддержки принятия решений в режиме реального времени. При этом основная потребность заключается в обеспечении возможности формирования индивидуальных прогнозных сценариев для дальнейшей визуализации и сравнительного анализа. Традиционный подход к проектированию
таких веб-ориентированных систем предполагает реализацию математических прогнозных моделей в виде программных модулей, реализуемых с использованием серверных языков программирования, в частности, класса PHP, ASP, Java и др. Отметим, что большинство прогнозных моделей представляют собой системы одновременных уравнений (СОУ), параметры (коэффициенты) которых заранее определены. Варьируемыми (сценарными) характеристиками при этом является некоторый набор экзогенных переменных, например, курс доллара,
цена на нефть и т.д. При традиционном подходе для технической реализации на веб-сервере даже одной малоразмерной СОУ, состоящей, к примеру, из десяти одновременных уравнений, требуются значительные временные ресурсы, необходимые для корректного программирования лаговых, внутренних нелинейных, обратных и др. зависимостей между переменными и интеграции модели с данными, выгружаемыми из СУБД. При этом изменение отдельных параметров СОУ (корректировка уравнений, добавление переменных и др.) может привести к необходимости перепрограммирования всей системы.
Отметим, что на практике имеется потребность в реализации детализированных прогнозных моделей, имеющих большую размерность (как правило, сотни уравнений и переменных). Также необходимо, чтобы проектируемая система была масштабируемой, т.е. чтобы создание новых прогнозных моделей и их интеграция с веб-сервером и СУБД не приводили к перепрограммированию самой системы. В этом случае можно разрабатывать и поддерживать каталог прогнозных моделей, размещая их на веб-сервере в специальном разделе. Такие модели могут быть ориентированы на интересы различных категорий пользователей (например, дезагрегированная макроэкономическая модель, модель инфляции, модель топливно-энергетического комплекса и т.д.). Совокупность разрабатываемых моделей, интегрированных с веб-сервером, системами визуализации данных и СУБД, может рассматриваться как основа для создания ситуационных центров (СЦ).
В настоящей работе представлен новый подход к проектированию систем динамического сценарного моделирования, основанный на использовании методов системной динамики [1, 2] и технологии «Web-simulation», которая представляет собой реализацию прогнозных моделей на платформе имитационного моделирования, в частности, Powersim Studio [3], интегрированной с веб-сервером и системой управления базами данных (СУБД). В результате обеспечивается возможность формирования пользовательских прогнозных сценариев с сохранением результатов моделирования в СУБД для визуализации и дальнейшего анализа. Данный подход был успешно применен в Центральном экономико-математическом институте РАН (ЦЭМИ РАН) для создания ситуационного центра. Ситуационный центр ЦЭМИ РАН был создан в январе 2005 года с целью объединения разработок
ЦЭМИ в области прикладного экономического анализа, моделирования и прогнозирования. Цель Центра — создание дружественного и устойчивого интерфейса между теоретическими и практическими разработками ученых и специалистов ЦЭМИ РАН и «внешним миром», под которым понимается научное и бизнес-сообщество (как в России, так и за рубежом), а также государственные и учебные структуры и центры, занимающиеся проблемами теоретического и прикладного экономического анализа, моделирования и прогнозирования с учетом российских особенностей.
2. Общая функциональность разработанной системы
Для обеспечения интерактивного интерфейса между пользователями и разрабатываемыми эконометрическими (прогнозными) моделями была разработана оригинальная система (программный комплекс), позволяющая реализовывать эконометрические модели на платформах имитационного моделирования (Powersim, AnyLogic и др.), размещать разрабатываемые компьютерные модели на веб-сервере ЦЭМИ РАН (для обеспечения многопользовательского доступа через веб-интерфейс), а также интегрировать компьютерные модели с системами управления базами данных, в частности, с СУБД Microsoft SQL Server (Express Edition), инсталлированной на веб-сервере ЦЭМИ РАН.
В результате такого подхода удаленные пользователи системы могут регистрироваться на сайте ситуационного центра ЦЭМИ РАН и выбирать различные модели для выполнения самостоятельных прогнозов (например, малоразмерная эконометрическая модель, дезагрегированная эконометрическая модель, модель инфляции и т.д.) из общего каталога реализованных моделей. Далее, пользователи могут самостоятельно изменять значения экзогенных (исходных) переменных для данной модели (через веб-интерфейс) на горизонте прогнозирования в сценарном режиме и выполнять расчеты эндогенных переменных, т.е. выполнять прогнозирование при заданных значениях экзогенных переменных. Также обеспечивается возможность сохранения результатов прогнозирования в СУБД с целью дальнейшего просмотра и сравнения сценариев. При этом каждый сценарий может сопровождаться пользовательскими комментариями (например, «Базовый сценарий», «Изменение курса доллара и цен на нефть» и т.д.).
Пользователи системы могут отбирать в группу и просматривать соответствующие сценарии на Flash-графиках, созданные как в текущей сессии, так и в прошлом (при условии, что они были сохранены в СУБД), просматривать значения экзогенных переменных для отобранных сценариев, удалять сценарии, утратившие свою актуальность, возвращаться к перечню моделей для дальнейшей работы и др.
Администратор системы может реализовывать эконометрические модели на платформе имитационного моделирования (в частности, на Powersim Studio), выполнять отладку (тестирование) моделей до их размещения на веб-сервере с использованием визуальных возможностей Powersim на реальных данных (MS Excel), размещать модели на вебсервере ЦЭМИ РАН (при этом они автоматически становятся доступны пользователям через каталог моделей), загружать в СУБД перечень релевантных для каждой модели экзогенных и эндогенных переменных, загружать релевантные для каждой модели исходные данные (значения экзогенных переменных), периодически обновлять модели (устранять ошибки, варьировать горизонтом прогнозирования и т.д.) и исходные данные.
В настоящее время рассматриваемая система находится в стадии апробации (тестирования). Доступ к системе осуществляется по ссылке: http:// data.cemi.rssi.ru/GRAF/center/models.htm
Отметим, что разработанный программный комплекс принципиально улучшает возможности дистанционной работы с эконометрическими моделями, что особенно важно как для общей популяризации прогностических возможностей таких моделей, так и для их использования в учебном процессе. При этом при размещении моделей на веб-сервере нет необходимости в перепрограммировании системы, и это существенно (в десятки раз) снижает временные затраты на реализацию эконометрических моделей в среде Интернет.
3. Архитектура системы и используемые технологии
Для разработки программного комплекса были использованы следующие ключевые технологии:
♦ Powersim Studio — платформа имитационного моделирования, предназначенная для компьютерной реализации математических, в частности, эконометрических (системно-динамических) моделей
[3];
♦ СУБД MS SQL Server (Express Edition) — система управления базами данных, позволяющая, в частности, служить поставщиком исходных данных для моделей, а также сохранять результаты прогнозирования в виде сценариев;
♦ .NET Framework — программная платформа от компании Microsoft, предназначенная для создания обычных программ и веб-приложений. В частности, для реализации программного комплекса используется язык программирования ASP.NET (VB.NET) и технология ADO (ActiveXData Object);
♦ Flash AnyChart — специальная программная библиотека, позволяющая визуализировать данные из СУБД на интерактивных графиках (в том числе 2D, 3D, картограммы) через XML.
Архитектура разработанной системы представлена на рис. 1.
Удаленные пользователи
(Internet Explorer)
HTTP - протокол
---------------V
Веб-сервер ЦЭМИ РАН (сайт Ситуационного центра) --------1 |------------------
Исходные данные и результаты моделирования
СУБД MS SQL Server
Эконометрические модели
Powersim
SQL, ADO, VB.NET и др.
Рис.1. Архитектура системы.
Отметим, что у удаленных пользователей для работы с эконометрическими моделями, реализованными на Powersim, достаточно наличия только веб-браузера, например, Internet Explorer. При этом установка системы имитационного моделирования на компьютеры удаленных пользователей не требуется. Соответственно облегчается процесс распространения моделей, поскольку нет необходимости в приобретении лицензий на каждую рабочую станцию.
Разработанная физическая схема СУБД MS SQL Server представлена на рис. 2. Особенностью разработанной СУБД является наличие специальных таблиц, предназначенных для хранения каталога загружаемых в систему эконометрических моделей и связанных с ними характеристик (релевантных перечней и значений соответствующих экзогенных и эндогенных переменных). Каждой системно-динамической (эконометрической) модели, загружаемой в СУБД системы, присваивается уникальный идентификатор (IDm), который является внешним ключом в других связанных таблицах, в частности, содержащих наименования используемых экзогенных
(таблица exogen_var), эндогенных (таблица eno-gen_var) и лагированных (таблица exogen_var_ lags) переменных. В свою очередь, на первичные ключи данных таблиц содержащих метаданные загружаемых моделей также имеются ссылки из таблиц, содержащих значения соответствующих переменных.
В результате такого подхода, обеспечивается возможность расширения каталога доступных пользователям моделей, без необходимости перепрограммирования системы (модели со своими характеристиками добавляются в базу данных динамически и автоматически становятся доступными пользователям).
Схема СУБД содержит следующие таблицы (табл.1).
Таблица 1.
Models Предназначена для хранения перечня загружаемых в систему моделей, реализованных на Powersim, со своими характеристиками, в частности, название SIP-файла, название модели,начальное и конечное значения модельного времени и др.
exogen_var Предназначена для хранения перечня экзогенных переменных, релевантных для загруженных моделей.
endogen_var Предназначена для хранения перечня эндогенных переменных, релевантных для загруженных моделей.
exogen_var_lags Предназначена для хранения перечня лагированных (запаздывающих) экзогенных переменных, релевантных для загруженных моделей. Значения таких переменных не могут быть изменены пользователем при прогнозировании
exogen_fact Предназначена для хранения предопределенных (заданных администратором) значений экзогенных переменных.
exogen_fact_lags Предназначена для хранения значений лагированных экзогенных переменных.
Сценарии Предназначена для хранения наименований и комментариев к генерируемым пользователями сценариям.
exogen_sc Предназначена для хранения значений экзогенных переменных, релевантных для сгенерированных сценариев.
endogen_sc Предназначена для хранения значений эндогенных переменных, релевантных для сгенерированных сценариев.
dients, users Предназначена для хранения пользовательской информации (логины, пароли и пр.).
4. Интерфейс системы
Главная страница сайта Ситуационного центра ЦЭМИ РАН представлена на рис. 3.
После прохождения стандартной процедуры аутентификации пользователю Ситуационного центра становится доступным перечень реализованных эконометрических моделей. Таким образом, обеспечивается возможность выбора прогнозных моделей из некоторого каталога (например, малоразмерная эконометрическая модель, дезагрегированная эконометрическая модель, модель инфляции и др.).
После выбора пользователем конкретной модели обеспечивается возможность определения значе-
ний сценарных экзогенных переменных и «прогона» модели с сохранением результатов моделирования (сценария) в СУБД (рис. 3).
Для визуализации и сравнительного анализа результатов сценарного моделирования был также разработан специальный модуль. Данный модуль позволяет выбирать из пула сохраненных сценариев те, которые интересны пользователю. Просмотр перечня сценариев осуществляется по названию, краткому описанию, дате проведения расчетов и прочим критериям. После выбора сценариев для сравнительного анализа осуществляется просмотр прогнозных значений эндогенных переменных модели на Flash-графиках (рис 4). При этом визуализация результатов моделирования используется специальная компонента Flash AnyChart.
Особенностью компоненты Flash AnyChart является возможность использования средств XML (англ. extensible Markup Language — расширяемый язык разметки) для формирования данных, визуализируемых на Flash-графиках. Это позволяет выгружать значения переменных модели из СУБД в виде XML-файлов, которые затем подаются на вход компоненты Flash AnyChart. Следует отметить, что на графиках Flash AnyChart одновременно могут быть представлены значения переменных, соответствующих нескольким сценариям. При этом количество визуализируемых сценариев практически не ограничено. Вид графиков также является вариативным (в составе компоненты имеются сотни графиков различных типов).
Отметим, что значения сценарных характеристик (так же, как и результаты моделирования) сохраняются в СУБД и могут использоваться для анализа чувствительности исследуемых показателей к влияющим факторам.
Ключевым элементом предложенного подхода является использование для реализации СОУ платформы имитационного моделирования, такой как Powersim Studio. Пример реализации (фрагмент) дезагрегированной макроэкономической модели на Powersim представлен на рис. 5. Важной особенностью системы Powersim является поддержка возможности ввода и редактирования формул в графическом редакторе, в том числе для лагированных (запаздывающих) характеристик. Также в Powersim поддерживаются архетипы системной динамики (уровни, резервуары, потоки и др.), позволяющие реализовывать сложные прогнозные модели с потоковыми характеристиками и наличием обратных связей [3].
Таблица СУБД
Краткое описание таблицы
Рис. 3.
Определение значений экзогенных переменных и формирование прогнозных сценариев.
Рис. 4.
Визуализация сценариев с использованием Flash AnyChart.
Ct Powersim Studio 8 Academic [СОУ.sip *] - Shared Diagrams
IOî File Edit View Insert Format Diagram Layout Simulation Project lools Window Help
DeSH® в - Ж ♦ Й" Русский . И; 90% • ®, Q, |tÿ| Ç Jd c£ iÇ ІЩ1
і« ► ні : ;ц £ © ça
cïïta о. □ * о • "5 *■
Prc I ject Explorer x Project'СОУ' î°î Component 1 Simulation 1 • ^| Equations ItS Connections Analysis Variables •••"Э Events Private Diagrams Shared Diagrams Ш Local Ranges 5 Local Units El Runs - Исходные данные Лагированные переменные И% Результаты моделирования ■ Global Ranges в Global Units Экзоегенные Дополнительные переменные Эндогенные переменные переменные
1 dLJ Д All commercial use prohibited q i. о l, 2009
Рис. 5. Фрагмент реализации дезагрегированной макроэкономической модели на Powersim.
Отметим, что модели СОУ большой размерности, имеющие внутренние нелинейные характеристики, могут быть реализованы с использованием методов системной динамики на платформе имитационного моделирования класса Рошешш. Важным преимуществом такого подхода является возможность тестирования моделей до размещения на веб-сервере с использованием реальных данных. Также отметим, что конечный пользователь не имеет доступа к реализованным алгоритмам СОУ, не может редактировать формульные зависимости между переменными и коэффициентные параметры. В перспективе такая возможность может быть предоставлена отдельным пользователям по запросу. В этом случае пользователь становится владельцем модели, а веб-сервер — хостинг-сервисом, обеспечивающим возможность размещения моделей для сценарного прогнозирования в многопользовательском режиме. Такие модели могут быть предназначены для решения широкого круга задач, начиная от прогнозирования важнейших макроэкономических параметров и заканчивая задачами сценарного бизнес-планирования.
В настоящее время имеющийся опыт разработки моделей на Рошешш включает макроэкономическое прогнозирование, моделирование инвестиционной деятельности нефтяных компаний, оптимизацию нефтедобычи, стратегическое финансовое планирование для коммерческих банков, управление акционерной стоимостью вертикально-интегрированных компаний и др. Это десятки отраслевых моделей, внедренных в крупнейших российских компаниях и государственных учреждениях, имеющих тысячи уравнений, переменных и сотни сценарных параметров.
Результаты исследований по данному направлению были представлены автором в виде докладов на научно-техническом и ученом совете ЦЭМИ РАН в 2010 году, а также в работах [4-6]. В этих работах продемонстрирована возможность применения методов системной динамики для разработки и реализации моделей различного класса (систем одновременных уравнений, систем конечно-разностных, функционально-дифференциальных и др. уравнений).
5. Заключение
В данной работе представлен новый подход, обеспечивающий возможность динамического сценарного моделирования и основанный на использовании технологии «Web-simulation», который представляет собой реализацию прогнозных моделей на платформе имитационного моделирования, в частности, Powersim Studio, интегрированной с веб-сервером и системой управления базами данных (СУБД).
Особенностью разработанного подхода является программное обеспечение промышленного использования системы имитационного моделирования Powersim в многопользовательском режиме с поддержкой визуализации результатов сценарных расчетов под веб-интерфейс. Отметим, что автором также разработаны и реализованы на Powersim взаимосвязанные системно-динамические модели вертикально-интегрированной нефтяной компании (ВИНК) [4-5], которые позволяют управлять портфелем, содержащим несколько тысяч инвестиционных проектов со своими характеристиками (объем добычи нефти, объем транспортировки, операционные и инвестиционные расходы и др.) на горизонте стратегического планирования 20 лет, и максимизировать значение акционерной стоимости ВИНК. Также имеется разработанная и реализованная на Powersim интеллектуальная система управления вертикально-интегрированной финансовой корпорации (ВИФК) [6], содержащая десятки взаимосвязанных системно-динамических моделей, предложенных для отдельных видов бизнеса ВИФК (розничный банк, корпоративный банк, частный банк и т.д.), со своими характеристиками (объемы кредитов и депозитов, процентные ставки, пространственно-временная структура активов и пассивов и т.д.). Во всех разработанных системах спроектированы собственные модули визуализации результатов сценарного моделирования. В отдельных случаях используются средства визуализации уровня информационного хранилища данных (например, SAP Business Intelligence), но, как правило, применяются недорогие Flash и ActiveX компоненты.
Отметим направления дальнейших исследований по развитию направления «Web-simulation»:
♦ реализация новых эконометрических моделей на Powersim с дальнейшим обеспечением вебдоступа; автоматизация процедуры подготовки ис-
ходных данных для последующей загрузки в СУБД (с использованием VBA и MS Excel);
♦ включение поддержки моделей реализованных на других платформах имитационного моделирования (например, AnyLogic, NetLogo и др.);
♦ разработка многоагентных моделей с дальнейшим размещением на сайте ситуационного центра;
♦ развитие средств визуализации исторических данных и результатов моделирования под Web (с использованием Flash AnyChart, Pivot Table и др.).
Следует отметить, что помимо системной динамики в настоящее время наблюдается значительный интерес к агентно-ориентированным моделям, а также вопросам, связанным с реализацией таких моделей под веб-интерфейс. Агентное моделирование (agent-based model, ABM) представляет собой метод имитационного моделирования, исследующий поведение децентрализованных агентов и то, как такое поведение определяет поведение всей системы в целом. В отличие от системной динамики аналитик определяет поведение агентов на индивидуальном уровне, а глобальное поведение возникает как результат деятельности множества агентов (моделирование «снизу вверх»).
Агентное моделирование включает в себя элементы теории игр, сложных систем, мультиагент-ных систем и эволюционного программирования, методы Монте-Карло, использует случайные числа.
Для реализации агентных моделей под вебинтерфейс имеется возможность применения таких программных продуктов как AnyLogic и NetLogo. Одной из важных особенностей таких систем является поддержка возможности экспорта разрабатываемых моделей в виде Java-апплетов (напомним, что Java-апплет — это прикладная программа на Java в форме байт-кода). Java-апплеты выполняются в веб-браузере с использованием виртуальной Java-машины (JVM). Апплеты используются для предоставления интерактивных возможностей вебприложений, которые не могут быть предоставлены HTML.
Недостатком реализации агентно-ориентированных моделей в виде Java-апплетов является трудность их интеграции с СУБД, в частности, для этого требуется применение специальной программной библиотеки JDBC (англ. Java DataBase Connectivity — соединение с базами данных на Java). JDBC позволяет Java-приложению подключаться к удаленным базам данных, направлять к ним запро-
сы и получать результаты обработки запросов. Отметим, что работа апплета может ограничиваться требованиями безопасности, поэтому, возможно, потребуется сконфигурировать соответствующим образом веб-браузер для разрешения апплету доступа в сеть.
Для преодоления этих трудностей при реализации агентно-ориентированных моделей под Web и их интеграции с базами данных рекомендуется использовать следующие технологии:
♦ реализация моделей в виде Java-апплетов, интегрируемых с СУБД с использованием так называемых «чистых» (pure) JDBC-драйверов. Pure Java JDBC-драйверы хорошо работают с апплетами. Следует отметить, что использование pure JDBC-драйверов не является документированной возможностью в системах имитационного моделирования AnyLogic и NetLogo;
♦ реализация моделей в виде Java-приложений, интегрируемых с СУБД, работающих на вебсервере и взаимодействующих с клиентским программным обеспечением посредством RMI (RMI (англ. Remote Method Invocation) — программным интерфейсом вызова удаленных методов в языке Java. Следует отметить, что использование
RMI сопряжено с определенными техническими трудностями. Хотя механизм RMI может быть включен в проектах AnyLogic, по умолчанию он не поддерживается (точнее также плохо документирован);
♦ реализация моделей в виде Java-апплетов, интегрируемых с СУБД не напрямую, а посредством специальных PHP/ASP-сценариев. Такая возможность существует, поскольку апплеты могут вызывать сценарии, размещаемые на стороне веб-сервера. В свою очередь такие сценарии могут без каких-либо ограничений обращаться к базам данных, формировать запросы и осуществлять их представление в виде XML-файлов. Такие файлы могут быть переданы Java-апплетам в качестве параметров.
Таким образом, существует принципиальная возможность реализации эконометрических моделей различных типов (системно-динамических, агентных, и др.) под веб-интерфейс. При этом к таким моделям может быть спроектирован интерактивный интерфейс пользователя, позволяющий определять значения сценарных параметров, управлять «прогонами», сохранять результаты моделирования в СУБД и др. ■
6. Литература
1. Forrestter J.W. Industrial dynamics. — Productivity Press, Portland Oregon, 1961.
2. Горбунов А.Р. Системная динамика: моделирование принятия стратегических и оперативных решений (метод функции капитального класса) // Бизнес-информатика, 2008, № 2(04). — С. 25 — 34.
3. Сидоренко В.Н. Системно-динамическое моделирование в среде Powersim: Справочник по интерфейсу и функциям. — М.: МАКС-ПРЕСС, 2001.
4. Акопов А.С. К вопросу проектирования интеллектуальных систем управления сложными организационными структурами (II). Программная реализация системы управления инвестиционной деятельностью вертикально интегрированной нефтяной компании // Проблемы управления, 2011, № 1. — с. 12-18.
5. Акопов А.С. К вопросу проектирования интеллектуальных систем управления сложными организационными структурами (I). Математическое обеспечение системы управления инвестиционной деятельностью вертикально интегрированной нефтяной компании // Проблемы управления, 2010, № 6. — с. 47-54.
6. Акопов А.С., Бекларян Г.Л. Интеллектуальные гибридные системы управления деятельностью вертикально-интегрированными организаци-онными структурами / Препринт #WP/2009/267. — М.: ЦЭМИ РАН, 2009. - 54 с.