7.2 Аналитический движок
Аналитический движок платформы “Цифровой Двойник Города” представляет собой совокупность вычислительных компонентов и математических моделей, реализованных в виде независимых модулей, обслуживающих расчёт, прогнозирование и симуляцию различных социально-экономических процессов. Он обеспечивает исполнение как встроенных моделей, так и пользовательских сценариев, с высокой скоростью и воспроизводимостью.
Компоненты аналитического движка включают:
- Модуль расчётных моделей — отвечает за последовательное выполнение моделей, реализованных на языках R, С++, Java, с возможностью подгрузки внешних сценариев, выборки из БД и возврата результатов в стандартизированном формате;
- Библиотека моделей — содержит реализованные модули демографии, макроэкономики, межотраслевого баланса (МОБ), анализа дефицитов, устойчивости, индексов развития и др.;
- Кеширующий обработчик — промежуточный слой, ускоряющий доступ к повторяющимся расчётам и поддерживающий быстрый отклик для пользовательского интерфейса;
- Логгер модели — фиксирует метаинформацию: дату запуска, исходные параметры, версию модели и сохраняет след вычислений.
Технологическая реализация основана на:
- языке R и его библиотеках (targets, forecast, dplyr, ggplot2, data.table, прочие);
- механизме пакетного запуска расчетов через Rscript;
- взаимодействии с ClickHouse для чтения входных данных и записи итоговых результатов;
- использовании интерактивных Shiny дашбордов - для визуализации результатов;
- использовании RMarkdown — для экспорта промежуточной аналитики.
Аналитический движок также включает компоненты валидации данных и математических допущений, что позволяет исключать некорректные сценарии и выдавать предупреждения пользователю.
Такая структура обеспечивает модульность, масштабируемость и возможность подключения новых моделей — без вмешательства в другие компоненты системы. Это делает аналитический движок гибкой и расширяемой основой для расчётных процессов в рамках ЦДГ.