На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

4
Ожидается:
16 Декабря 2025

Программная реализация обобщенного стохастического подхода к компьютерному моделированию распространения эпидемий

Software implementation for a generalized stochastic approach to computer simulation of epidemic spread
Дата подачи статьи: 05.09.2024
Дата после доработки: 11.10.2024
Дата принятия к публикации: 01.11.2024
УДК: 004.942; 616-036.22
Группа специальностей ВАК: 1.2.2. Математическое моделирование, численные методы и комплексы программ (физико-математические науки, технические науки)
Статья опубликована в выпуске журнала № 3 за 2025 год. [ на стр. 499-512 ]
Аннотация:В работе представлено математическое и программное обеспечение системы компьютерного моделирования эпидемий. Описан обобщенный подход к моделированию распространения инфекционных заболеваний, развивающий идеи компартментального моделирования. В основе подхода лежит описание набора состояний и переходов между ними. Каждый индивид рассматриваемого в модели населения в определенный момент времени находится в одном состоянии. Вероятностные переходы описывают возможные изменения состояний индивидов со временем. Получение прогноза подразумевает определение численности индивидов в каждом состоянии на определенном промежутке времени. Предложена концепция псевдосостояний для формального представления переходов, исходящих из одного состояния и имеющих несколько конечных состояний. Получение прогноза на основе модели, включающей псевдосостояния, представляется как модификация численного метода Эйлера. Представлен программный комплекс, реализованный в виде конструктора эпидемиологических моделей, опирающихся на предложенный подход. Описаны ключевые компоненты комплекса, включая их взаимосвязь в архитектуре и реализуемый функционал. Представлены шаги алгоритма получения детерминированных и стохастических результатов моделирования, а также структура модуля, реализующего данный алгоритм. Проведено сравнение с аналогичными программными решениями отечественных и зарубежных исследователей. В качестве примера рассмотрена модель распространения заболевания, проявляющегося в легкой и тяжелой формах, последняя из которых может привести к летальному исходу. В представленных примерах моделирование произведено на основе синтетических данных, включающих различные значения параметров. Стохастические и детерминированные результаты моделирования, полученные с использованием представленного программного комплекса, показывают применимость системы компьютерного моделирования для эпидемиологических исследований.
Abstract:The paper introduces both mathematical framework and software implementation for epidemic modeling systems. Authors describe a generalized approach to infectious disease modeling that advances compartmental modeling concepts. The approach is based on a set of states and transitions between them. At every moment in the simulation, all population members reside in one condition. Probabilistic transitions describe possible changes in individuals’ states over time. Forecasting involves estimating the number of individuals in each state over a specified time interval. The paper introduces a concept of pseudo-states for formal representation of transitions originating from a single state with multiple destination states. The proposed pseudo-state model implements forecasting using a modified Euler method. The paper introduces a software system implemented as a constructor of epidemiological models based on the proposed approach. There is a description of the system key components including their interrelationships in the architecture and the functions they implement. The paper outlines the steps of the algorithm for obtaining deterministic and stochastic modeling results, as well as a module structure for implementing this algorithm. The paper compares the system with similar software solutions from domestic and foreign researchers. As an example, the paper considers a model of spreading a disease that manifests in mild and severe forms, with the latter potentially leading to a fatal outcome. The provided examples demonstrate modeling using synthetic data that contain varied parameter values. The stochastic and deterministic simulation results obtained using the presented software system demonstrate its applicability for epidemiological modeling studies.
Авторы: Подзолков П.Н. (p.n.podzolkov@utmn.ru) - Школа компьютерных наук, Тюменский государственный университет (аспирант, ассистент), Тюмень, Россия, Захарова И.Г. (i.g.zakharova@utmn.ru ) - Тюменский государственный университет (профессор), Тюмень, Россия, доктор педагогических наук, Киреев И.И. (stud0000246829@study.utmn.ru) - Школа компьютерных наук, Тюменский государственный университет (магистрант), Тюмень, Россия, Кулдарев И.В. (stud0000240533@study.utmn.ru) - Школа компьютерных наук, Тюменский государственный университет (магистрант), Тюмень, Россия
Ключевые слова: программная реализация, стохастическое моделирование, компьютерное моделирование, программный комплекс, моделирование эпидемий, sir, граф переходов
Keywords: program realization, stochastic modeling, computer modeling, software package, epidemic modeling, sir, state transition graph
Количество просмотров: 1157
Статья в формате PDF

Программная реализация обобщенного стохастического подхода к компьютерному моделированию распространения эпидемий

DOI: 10.15827/0236-235X.151.499-512

Дата подачи статьи: 05.09.2024

Дата после доработки: 11.10.2024

Дата принятия к публикации: 01.11.2024

УДК: 004.942; 616-036.22

Группа специальностей ВАК: 1.2.2. Математическое моделирование, численные методы и комплексы программ (физико-математические науки, технические науки)

Статья опубликована в выпуске журнала № 3 за 2025 год. [ на стр. 499-512 ]

В работе представлено математическое и программное обеспечение системы компьютерного моделирования эпидемий. Описан обобщенный подход к моделированию распространения инфекционных заболеваний, развивающий идеи компартментального моделирования. В основе подхода лежит описание набора состояний и переходов между ними. Каждый индивид рассматриваемого в модели населения в определенный момент времени находится в одном состоянии. Вероятностные переходы описывают возможные изменения состояний индивидов со временем. Получение прогноза подразумевает определение численности индивидов в каждом состоянии на определенном промежутке времени. Предложена концепция псевдосостояний для формального представления переходов, исходящих из одного состояния и имеющих несколько конечных состояний. Получение прогноза на основе модели, включающей псевдосостояния, представляется как модификация численного метода Эйлера. Представлен программный комплекс, реализованный в виде конструктора эпидемиологических моделей, опирающихся на предложенный подход. Описаны ключевые компоненты комплекса, включая их взаимосвязь в архитектуре и реализуемый функционал. Представлены шаги алгоритма получения детерминированных и стохастических результатов моделирования, а также структура модуля, реализующего данный алгоритм. Проведено сравнение с аналогичными программными решениями отечественных и зарубежных исследователей. В качестве примера рассмотрена модель распространения заболевания, проявляющегося в легкой и тяжелой формах, последняя из которых может привести к летальному исходу. В представленных примерах моделирование произведено на основе синтетических данных, включающих различные значения параметров. Стохастические и детерминированные результаты моделирования, полученные с использованием представленного программного комплекса, показывают применимость системы компьютерного моделирования для эпидемиологических исследований.
Подзолков П.Н. (p.n.podzolkov@utmn.ru) - Школа компьютерных наук, Тюменский государственный университет (аспирант, ассистент), Тюмень, Россия, Захарова И.Г. (i.g.zakharova@utmn.ru ) - Тюменский государственный университет (профессор), Тюмень, Россия, доктор педагогических наук, Киреев И.И. (stud0000246829@study.utmn.ru) - Школа компьютерных наук, Тюменский государственный университет (магистрант), Тюмень, Россия, Кулдарев И.В. (stud0000240533@study.utmn.ru) - Школа компьютерных наук, Тюменский государственный университет (магистрант), Тюмень, Россия
Ключевые слова: программная реализация, стохастическое моделирование, компьютерное моделирование, программный комплекс, моделирование эпидемий, sir, граф переходов
Размер шрифта:
      Шрифт:
Ссылка скопирована!

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

Корректная математическая модель распространения инфекционного заболевания, далее эпидемиологическая модель, дает возможность не только оценивать риски для каждого конкретного индивида, но и предсказывать развитие эпидемической обстановки в целом при тех или иных условиях [1, 2].

Достаточно широкое распространение имеют модели, основанные на различных статистических методах, например на максимальном прав- доподобии или корреляционном анализе [3]. Такие модели могут дать достаточно точный количественный прогноз распространения заболевания в пространстве и времени в конкретной ситуации, опосредованно учитывая географические, социальные и демографические факторы.

Однако одним из основополагающих методов эпидемиологического моделирования явля- ется компартментальное моделирование, берущее начало с разработки А. Кермаком и У. Мак- кендриком эпидемиологической модели SIR.  В данной модели теоретическая популяция условно разделяется на три непересекающиеся группы индивидов – компартменты. Так, в популяции выделяют восприимчивых (S), инфицированных (I) и выздоровевших (R) индивидов. В оригинальной модели с помощью системы дифференциальных уравнений описываются скорости изменения численности каждой из групп [4]:

где S, I и R – функции от времени, описы- вающие численность соответствующих групп населения; b – интенсивность инфицирования (доля популяции, инфицируемая от одного болеющего за единицу времени); g – интенсивность выздоровления (величина, обратная продолжительности заболевания).

Необходимо отметить, что SIR-модель проста для анализа и изучения, но не учитывает множество важных факторов. Это делает многие исследования на ее основе далекими от реальности. Однако предположения, лежащие  в основе SIR-модели, обусловили появление целого семейства ее модификаций, учитывающих различные факторы и особенности заболеваний. Сложные модификации SIR-модели дают прогнозы, которые больше соответствуют реальным данным [5].

Основной путь модификаций классической SIR-модели заключается в добавлении новых компартментов, то есть групп индивидов с отличающимися свойствами. Так, для моделирования заболеваний с заметным инкубацион- ным или латентным периодом добавляют компартмент E (exposed) – модель SEIR. В такой модели у индивида при заражении сначала наступает инкубационный период (компартмент E) и лишь потом он с некоторой вероятностью становится инфицированным (компартмент I). При этом количество индивидов  в компартменте E не влияет на вероятность инфицирования [6, 7]. Для учета летальных исходов от заболевания вводят компартмент для умерших – D (dead), формируя модель SIRD или SEIRD. В таких моделях индивид при завершении заболевания может выздороветь или умереть, то есть из компартмента I происходит распределение между компартментами R и D. Для этого в модель вводится дополнительный параметр летальности, описывающий вероятность попадания в компартмент D [7].

Для отражения применения вакцинации рассматривают компартмент V (vaccinated) – модель SIRV. Учет вакцинации подразумевает ее применение по отношению к восприимчи- вым индивидам с некоторой вероятностью, то есть переход из компартмента S в V, последний из которых по аналогии с R является устойчивым для инфекции. Таким образом, модель позволяет оценить эффективность компаний по вакцинации населения для сдерживания эпидемий [8]. Значимой модификацией исходной модели также является добавление возможной утраты иммунитета со временем. Так, в модели SIRS добавляется переход из компартмента R в S, описывающий этот процесс. Результаты моделирования при этом демонстрируют волны эпидемии, которые возникают из-за повторно возрастающего количества восприимчивых [9].

Другой путь модификации заключается в на- рушении замкнутости модели через добавление переходов, связанных только с одним компартментом. Так, в модели, предложенной в рабо- те [10], учитываются постоянная рождаемость  и смертность от не связанных с заболеванием причин. Рождаемость описывается как увеличение численности восприимчивых индивидов, пропорциональное общей численности населения. Смертность – как уменьшение численности индивидов в каждом из компартментов, пропорциональное их численности. Такой подход позволяет оценить демографические процессы, которые влияют на общую иммунизацию населения.

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

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

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

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

В работе [11] описана оптимизация подхода к компартментальному моделированию. Вместо определения доли индивидов в каждом компартменте достаточно оценить количество особей, которые переходят из одного компартмента в другой. В каждый момент времени для каждого компартмента определяются относящиеся к нему притоки и оттоки. Приток соответствует определенному количеству особей, переходящих из других компартментов в заданный, а оттоки соответствуют количеству индивидов, которые покидают заданный компартмент и переходят в другой. В представленном исследовании данный подход формализован в виде графа переходов. Такое конструирование модели обеспечивает наглядность на всех этапах исследования – от создания модели до получения прогноза.

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

При этом следует учитывать, что при проведении исследования необходимо, опираясь на конкретную гипотезу, варьировать как параметры модели, так и всю ее структуру, то есть граф, соответствующий модели. После чего возникает необходимость в реализации каждой модели и получении надлежащего прогноза. Каждая итерация изменений в модели влечет  за собой повторную реализацию и анализ последствий, что занимает достаточно много времени [12]. Кроме того, исследователям часто необходимо перепроверять свои результаты, реализуя как детерминированные усредненные, так и демонстрирующие стохастическое разнообразие прогнозов модели. При этом каждое моделирование обычно производится с ис- пользованием неспециализированных для эпидемиологических моделей компьютерных систем, таких как MATLAB, AnyLogic или Si- mulink.

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

Методология и методы исследования.

Постановка задачи моделирования

Построение модели эпидемии инфекционного заболевания исходит из предположения, что каждый индивид в определенный момент времени находится в одном из состояний si, принадлежащих множеству  [11].

Тогда P(si) – вероятность нахождения индивида в состоянии si в момент времени t, что на практике трактуется как доля популяции, которая находится в состоянии si в момент времени t. Далее будут использованы обе интерпретации.

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

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

Обозначим состояние–источник перехода fj как start(fj), состояние–цель перехода fj как end(fj). Тогда P(fj,t) – вероятность перехода индивида из start(fj) в end(fj) в момент времени t или доля индивидов, переходящих из start(fj) в end(fj) в момент времени t относительно числа индивидов, находящихся в этот момент времени в start(fj) будет

где It – состояние индивида в момент времени t.

Для модели, изображенной на рисунке 1,  состояния s1 и s2 могут быть определены через соотношения

Аналогично могут быть определены остальные состояния.

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

Цель моделирования: для заданного P(S, t0) определить прогнозируемые значения P(S, t), где t > t0, t0 – момент времени, в котором заданы начальные значения для последующего прогнозирования.

Определим уравнение для вычисления изменения вероятности P(si) во времени:

             (1)

Пусть X – набор параметров, необходимых для вычисления вероятностей всех переходов . Тогда определение значений X является задачей оценки параметров модели для последующего прогнозирования:

где  – вектор, компонентами которого выступают доли популяции в каждом из состояний в момент времени t, полученный из реальных данных о распространении инфекции;  T (T ≤ t0) – длительность промежутка времени, на котором определены реальные данные; t = 0 – момент начала эпидемии. В лучшем случае можно полагать, что T = t0, подразумевая наличие данных о распространении заболевания  с момента начала эпидемии до момента начала прогнозирования.

Модель с псевдосостояниями

На практике зачастую необходимо описать процесс, при котором индивид с определенной вероятностью переходит из заданного состояния–источника в одно из нескольких состояний–целей. При этом для каждого состояния–цели определена своя вероятность соответствующего исхода. Так, например, модель, представленная на рисунке 1, может быть интерпретирована как модель заболевания с легкой (s2) и тяжелой (s3) формами протекания, с возможностью выздоровления (s4) и с учетом смертнос- ти (s5) [13–15]. Для моделирования двух форм заболевания должны быть определены веро- ятности инфицирования, точнее, общая вероятность перехода в одно из двух состояний, и возникновения тяжелой и легкой форм при инфицировании, то есть вероятность каждого из  исходов. Итак, вероятности переходов f1 и f2  будут связаны следующим образом:

где Pinfect – вероятность инфицирования; g Î  Î [0, 1] – вероятность возникновения легкой формы заболевания при инфицировании.

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

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

На рисунке 2 отображена структура модели, представляющей распространение заболевания с двумя формами (рис. 1), с учетом псевдосостояний.

Состояния s1¢, s2¢, s3¢ являются псевдосостояниями. Переход f1 может быть интерпретирован как инфицирование индивида, а его вероятность равна соответственно P(f1) = Pinfect. Переходы f1¢ и f2¢, в свою очередь, определяют форму заболевания, которая проявится у инфицированного индивида. При этом P(f1¢) = g, P(f2¢) = 1 – g. Аналогично псевдосостояние s3¢  и переходы f3, f4¢, f5¢ определяют процесс завершения тяжелой формы заболевания двумя исходами: выздоровлением (s4) и смертью (s5).

Каждый переход исходного представления модели без псевдосостояний может быть орга- низован как последовательность двух переходов через промежуточное псевдосостояние. Другими словами, для любого исходного перехода fj (start(fj) = sa, end(fj) = sb) в новом представлении будут присутствовать псевдосостояние sc¢ и переходы fq(start(fq) = sa, end(fq) = sc¢) и fw¢(start(fw¢) = sc¢, end(fw¢) = sb).

Таким образом, помимо множества состояний индивида S, учитывается и множество псевдосостояний . Стоит также учитывать, что в исходном представлении модели вероятность нахождения индивида в течение определенного времени в одном состоянии могла быть ненулевая:

В случае с псевдосостояниями вероятность индивида остаться в псевдосостоянии должна быть равна нулю.

Следовательно, на переходы, исходящие  из истинных состояний и псевдосостояний, накладываются неодинаковые ограничения. В связи с этим будем называть такие переходы соответственно истинными (fj) и псевдопереходами (fj¢). По аналогии с множествами состояний в модели будут учитываться два множества переходов: F и .

Таким образом, относительно нового представления модели справедливо следующее.

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

· В каждое псевдосостояние приходит толь- ко один истинный переход.

· Из каждого псевдосостояния исходит не- нулевое количество псевдопереходов, которые заканчиваются в истинных состояниях.

· В истинное состояние может приходить несколько псевдопереходов.

Отметим также возможное наличие псевдосостояний, из которых исходит только один псев- допереход. В рассмотренном примере (рис. 2)  к такому состоянию относится s2¢. Подобные псевдосостояния выполняют тождественное преобразование, подразумевая, что вероятность истинного перехода P(f2), попадающего в псевдосостояние, равна общей вероятности перехода между связанными истинными состояниями

Вычисление вероятностей переходов

Для каждого перехода fj или fj¢определим его вес через vj, который необходим для вычисления вероятности соответствующего перехода.

Пусть  – множество всех переходов, исходящих из состояния si. Аналогично введем Ai¢ для псевдопереходов, исходящих из псевдосостояния si¢. Так как для псведосостояний не может быть определена положительная вероятность их поддержания, сумма вероятностей псевдопереходов, исходящих из псевдосостояния, должна быть равна 1:

Вероятность псевдоперехода равна соответствующему весу:

                                              (2)

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

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

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

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

Ранее было сказано, вероятность самопроизвольного перехода, как и псевдоперехода, может быть определена непосредственно через его вес:

                                           (3)

Для вычисления вероятности индуцированного перехода необходимо определить  – матрицу влияния доли индивидов в каждом состоянии на вероятность каждого индуцированного перехода. Здесь eij – коэффициент влияния доли популяции в состоянии si на вероятность перехода fj. Такой коэффициент необходим для того, чтобы оценить вероятность перехода  при наличии в популяции одного индивида в состоянии si. Конечная вероятность перехода  с учетом любой возможной доли индивидов в каждом состоянии si, влияющем на данный переход, определяется следующим образом:

                  (4)

При пошаговом моделировании для определения P(S, t) необходимо через истинные переходы оценить вероятности нахождения индивидов в псевдосостояниях. Затем через псевдопереходы оценить искомые вероятности нахождения индивида в истинных состояниях. При этом для каждого псевдосостояния вероятность нахождения в нем снова станет равна 0  в результате полного распределения на истинные состояния.

Такое моделирование подразумевает получение детерминированных результатов, поскольку при их вычислении не учитывается стохастический характер переходов.

Стохастическое моделирование

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

Далее получение стохастических результатов производится с использованием распределения Пуассона для отражения случайного ха- рактера процессов, описываемых переходами. Данный вид распределения широко используется в системах имитационного моделирования для отражения случайных процессов, имеющих заданную интенсивность, а именно количество событий за единицу времени. В рассматриваемом случае в модели определены вероятности переходов между состояниями, которые определяют интенсивность потоков индивидов между соответствующими группами населения, то есть количество индивидов, переходящих из одной группы в другую за единицу времени. Такая величина может быть использована как интенсивность пуассоновского процесса [16].

В случае подобного стохастического моделирования необходимо учитывать не столько доли популяции в каждом из состояний, сколько абсолютные численности групп популяции в каждом состоянии. Обозначим такую численность для состояния si в момент времени t через Q(si,t). Тогда Q(fj, t) – количество индивидов, перешедших из состояния start(fj) в состояние end(fj) в момент времени t. Данная величина может быть определена следующим образом:

Стохастические изменения числа индивидов в таком случае будут определены соотношением

     (5)

где Poisson(x) – случайная величина, распределенная по закону Пуассона с математическим ожиданием x.

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

Архитектура программного комплекса

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

Обязательные требования к функционалу, выдвинутые при разработке, включали следующие позиции:

– конструирование структуры модели в редакторе узлов;

– получение детерминированных и стохастических результатов моделирования;

– визуализация результатов моделирования в виде диаграмм;

– визуализация структуры модели в виде векторного изображения графа переходов;

– работа с ранее сохраненными моделями.

Конструирование модели подразумевает оп- ределение набора состояний и переходов меж- ду ними через визуальное проектирование узлов и связей между ними в графическом редакторе. Узлы в выстраиваемой структуре могут быть представлены двумя видами: узел-стадия и узел-поток.

Узел-стадия – это реализация состояния для формальной задачи моделирования. Каждая стадия представляет собой отдельное состояние множества S.

Узел-поток является реализацией переходов и псевдосостояний для формальной задачи моделирования. Экземпляры узлов-потоков не соотносятся с конкретными переходами, представленными в задаче. Каждый узел-поток можно интерпретировать как совокупность истинного перехода fj из состояния sa в псевдосостояние sb¢, самого псевдосостояния sb¢ и всех псевдопереходов множества Ab¢, исходящих из sb¢, в набор истинных состояний K. Таким образом, узлы-потоки позволяют реализовать комплексный переход из одного состояния в несколько конечных, то есть описать процесс  перехода, у которого заданы общая вероятность и вероятности нескольких исходов.

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

Приведенный функционал реализован в модулях архитектуры. Остановимся на этом подробнее (рис. 3):

· Веб-сервис предоставляет доступ к одностраничному сайту.

· Рабочее пространство позволяет создавать, редактировать и соединять узлы модели.

· Модуль инициализации обеспечивает сохранение и загрузку модели в форматах json/ xml, инициализацию пустого рабочего пространства.

· Модуль моделирования вычисляет прогнозные значения при детерминированном или стохастическом моделировании.

· Модуль результатов отображает графики и таблицу результатов моделирования.

· Модуль послойной отрисовки позволяет получать изображение схемы модели публикационного качества.

· Сервер системы предоставляет доступ к модулям приложения и авторизации пользователя.

· БД пользователей хранит данные пользователей об авторизации.

· Сервис авторизации обеспечивает управление данными пользователей системы.

· Сервис модулей позволяет управлять подключаемыми модулями системы.

· Yandex Disk хранит данные о созданных пользователем моделях в облачном хранилище.

· Файловое хранилище хранит локальные данные о созданных пользователем моделях.

Клиентская часть приложения разработана с использованием фреймворка ReactJS. При написании кода выбран функциональный стиль в соответствии с шаблоном работы приложений, созданных на React. Внутри фреймворка были использованы следующие инструменты:

– ReactFlow – для отображения и визуализации рабочего пространства редактора;

– ReactHookForm – для проверки корректности заполняемой информации внутри форм создания и редактирования узлов;

– ReactRouter – для интеграции и парсинга данных авторизации по YandexAuth.

Помимо фреймворка, задействованы библи- отеки SVG.js и 3Djs для рендеринга и отображения результатов. Также был модифицирован и применен алгоритм послойной отрисовки ори- ентированных графов из пакета Graphviz [17].

Реализация модуля моделирования

Вычислительный алгоритм моделирования распространения инфекционных заболеваний реализован на языке программирования Python в объектно-ориентированном стиле.

Исходя из постановки задачи моделирования выделены основные сущности, через представление которых в виде классов реализовано вычисление. Диаграмма реализованных классов с указанием части атрибутов и методов представлена на рисунке 4.

Класс Factor служит для реализации численных параметров модели. Каждый экземпляр позволяет задавать и получать изменяемое во времени значение отдельного параметра моде- ли (вес перехода, коэффициент влияния и т.д.).

Класс Stage определяет реализацию узлов-стадий, а класс Flow – узлов-потоков.

Класс EpidemicModel служит для реализации полноценной модели, связывающей стадии  и потоки. Экземпляр данного класса хранит все задействованные экземпляры классов Stage, Flow, Factor и производит численное моделирование.

Ключевой метод start обеспечивает запуск модели. Обязательный аргумент time отражает длительность моделирования, а именно количество итераций вычислительного алгоритма.

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

Метод start() поддерживает также стохастический запуск, при котором на шагах 4 и 7 представленного алгоритма вычисления производятся в соответствии с (5). Для генерации случайной величины с распределением Пуассона используется библиотека scipy [18].

Описанный функционал организован в виде пакета python, который подключен в модуле моделирования. Разработанный пакет также зарегистрирован в каталоге pypi как самостоятельный пакет для компартментального эпидемиологического моделирования – epidemmo (https://pypi.org/project/epidemmo).

Вычислительный эксперимент

Приведем пример результатов моделирования, для получения которых была реализована структура с двумя формами заболевания, полным иммунитетом и смертностью. При моделировании использованы значения параметров, зафиксированные различными исследователями при изучении распространения COVID-19. Выбранные значения отражают ситуацию распространения патогена с высокой интенсивностью заражения, такой, что каждый инфицированный в среднем заражает одного человека раз  в 5 дней, а возникшее заболевание завершается в среднем за 22 дня [19]. Легкая форма заболевания возникает в 85 % случаев и завершается формированием устойчивого иммунитета. Тяжелая форма может привести к летальному  исходу с вероятностью 35 %.

Схема состояний модели и введенные обозначения весов всех переходов представлены на рисунке 5. Интерфейс приложения, отображающий узловую структуру данной модели, изображен на рисунке 6.

Структура модели соответствует представленной на рисунке 2 с учетом следующих уточнений: каждому состоянию присвоено наимено- вание, на ребрах указаны веса соответствующих переходов, места разветвлений с символом «+» представляют псевдосостояния. Модель вклю- чает следующие состояния: S – восприимчивые, L – болеющие легкой формой, H – болеющие тяжелой формой, R – выздоровевшие (иммунные), D – умершие от заболевания.

Также в модели учтены коэффициенты влияния ksl и ksh состояний L и H на индуцированный переход из состояния S в псевдосостояние 1, описывающие вероятность инфицирования при контакте с болеющими соответствующими формами.

Данной модели соответствует следующая система дифференциальных уравнений:

Проиллюстрируем возможности прогнозирования на основе модели, построенной в соответствии с описанной структурой, варьируя значения параметров. Значения первого набора параметров соответствуют представленному ранее описанию, опирающемуся на данные о распространении COVID-19. Значения второго набора описывают более заразный инфекционный патоген, чаще вызывающий тяжелое состояние. Для удобства будем называть описанные патогены соответственно слабым и сильным.

Параметры, используемые при моделировании, представлены в таблице 2 в соответствии  с введенными обозначениями. Результаты моделирования распространения слабого и сильного патогенов получены с использованием описанного в таблице 1 алгоритма (http://www. swsys.ru/uploaded/image/2025-3/1.jpg, http://www. swsys.ru/uploaded/image/2025-3/2.jpg). В качестве демонстрации возможностей системы для слабого патогена был получен стохастический прогноз, а для сильного – детерминированный.

Результаты моделирования распространения слабого патогена показывают, что вспышка распространения тяжелой формы заболевания заметно ниже, чем у легкой формы. В целом заболевание коснулось 99 % рассматриваемого населения. Итоговая смертность составила примерно 5 %, что соответствует заданным параметрам вероятности тяжелой формы и смертности при ее наличии (0.15 ´ 0.35 ≈ 0.05).

В сравнении с распространением слабого патогена высота пика вспышки тяжелой формы сильного патогена увеличилась, а соответствующее значение для легкой формы сильного  патогена уменьшилось. Как и в случае с распространением слабого патогена, заболевание затронуло большую часть рассматриваемого населения. Итоговая смертность увеличилась примерно до 14 %, что соответствует заданным параметрам (0.4 ´ 0.35 = 0.14).

Таблица 2

Параметры, используемые  при моделировании распространения слабого и сильного патогенов

Table 2

Parameters for weak and strong pathogen  propagation models

Параметр

Патоген

Слабый

Сильный

S(0)

998

998

L(0)

1

1

H(0)

1

1

R(0)

0

0

D(0)

0

0

β

0.0002

0.0003

γ

0.045

0.045

psl

0.85

0.6

psh

0.15

0.4

phr

0.65

0.65

phd

0.35

0.35

plr

1

1

ksl

1

1

ksh

1

1

Обсуждение и анализ результатов

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

Разработкой аналогичного ПО для конструирования различных моделей распространения эпидемий занимаются многие исследователи.

Например, с применением компартментального подхода разрабатываются модели, основанные на клеточных автоматах [20, 21]. Однако в представленных разработках не может быть изменена структура модели, в частности, используется только несколько конкретных модификаций SIR-модели.

В определенном смысле универсальное решение предлагается в работе [22], где представ- лен пакет EoN для языка программирования Python. Пакет позволяет эффективно моделировать распространение заболеваний в сетях. Он поддерживает различные модели заболеваний, такие как SIS и SIR, а также создание моделей с более сложной структурой. Встроенные инструменты визуализации улучшают понимание динамики эпидемии. Также для Python разработан пакет Epipack, предоставляющий простой процессный фреймворк для прототипирования моделей [12]. Для языка программирования Julia разработан пакет, формализующий компартментальные модели эпидемий. Он реализует символьное вычисление решений дифференциальных уравнений в стохастических и детерминированных случаях [23]. Перечисленные программные продукты позволяют строить различные по структуре модели.

При этом отличительной особенностью разработанного авторами статьи программного комплекса является реализация процесса построения моделей в графическом интерфейсе  в стиле редактора узлов. Для формализации мате- матической интерпретации узлов, отражающих переходы, разработан метод моделирования  с учетом псевдосостояний. Введение псевдосостояний обеспечивает возможность формирования сложной схемы с разветвленными переходами, которые имеют несколько исходов. Разработанный и используемый в комплексе пакет epidemmo поддерживает использование динамических функционально заданных параметров модели. Созданная система направлена на отечественных исследователей и поддерживает интеграцию с российским облачным сервисом YandexDisk.

Заключение

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

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

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

Список литературы

1.   Thompson R.N. Epidemiological models are important tools for guiding COVID-19 interventions. BMC medicine, 2020, vol. 18, no. 1, art. 152. doi: 10.1186/s12916-020-01628-4.

2.   Sweileh W.M. Global research activity on mathematical modeling of transmission and control of 23 selected infectious disease outbreak. Globalization and Health, 2022, vol. 18, no. 1, art. 4. doi: 10.1186/s12992-022-00803-x.

3.   Mata A.S., Dourado S.M.P. Mathematical modeling applied to epidemics: an overview. São Paulo J. Math. Sci., 2021, vol. 15, pp. 1025–1044. doi: 10.1007/s40863-021-00268-7.

4.   Tang L., Wang L., Zhou Y. et al. A review of multi-compartment infectious disease models. ISR, 2020, vol. 88, no. 2, pp. 462–513. doi: 10.1111/insr.12402.

5.   Никитина А.В., Ляпунова И.А., Дудников Е.А. Исследование процессов распространения вирусных заболеваний на базе модификаций SIR-модели // Computational Math. and Inform. Tech. 2020. T. 4. № 1. С. 19–30.  doi: 10.23947/2587-8999-2020-1-1-19-30.

6.   Kong L., Duan M., Chang Z. et al. Compartmental structures used in modeling COVID-19: A scoping review. Infectious Diseases Poverty, 2022, vol. 11, no. 1, art. 72. doi: 10.1186/s40249-022-01001-y.

7.   Korolev I. Identification and estimation of the SEIRD epidemic model for COVID-19. J. Econometrics, 2021,  vol. 220, no. 1, pp. 63–85. doi: 10.1016/j.jeconom.2020.07.038.

8.   Kröger M., Schlickeiser R. On the analytical solution of the SIRV-model for the temporal evolution of epidemics for general time-dependent recovery, infection and vaccination rates. Math., 2024, vol. 12, no. 2, art. 326. doi: 10.3390/ math12020326.

9.   Шабунин А.В. Гибридная SIRS-модель распространения инфекций // Изв. вузов. Прикладная нелинейная динамика. 2022. Т. 30. № 6. С. 717–731. doi: 10.18500/0869-6632-003014.

10. Muñoz-Fernández G.A., Seoane J.M., Seoane-Sepúlveda J.B. A SIR-type model describing the successive waves of COVID-19. Chaos, Solitons & Fractals, 2021, vol. 144, art. 110682. doi: 10.1016/j.chaos.2021.110682.

11. Reyné B., Saby N., Sofonea M.T. Principles of mathematical epidemiology and compartmental modelling application to COVID-19. Anaesthesia, Critical Care & Pain Medicine, 2022, vol. 41, no. 1, art. 101017. doi: 10.1016/j.accpm.2021.101017.

12. Maier B.F. epipack: An infectious disease modeling package for Python. J. Open Source Software, 2021, vol. 6,  no. 60, art. 3097. doi: 10.21105/joss.03097.

13. Yang P., Bi G., Yang Y. et al. Feasibility study of mitigation and suppression strategies for controlling COVID-19 outbreaks in London and Wuhan. PloS One, 2020, vol. 15, no. 8, art. e0236857. doi: 10.1371/journal.pone.0236857.

14. Wickramaarachchi W., Perera S.S.N., Jayasinghe S. COVID‐19 epidemic in Sri Lanka: A mathematical and  computational modelling approach to control. Comput. and Math. Methods Med., 2020, vol. 2020, no. 1, art. 4045064.  doi: 10.1155/2020/4045064.

15. Batabyal S., Batabyal A. Mathematical computations on epidemiology: a case study of the novel coronavirus (SARS-CoV-2). Theory Biosci., 2021, vol. 140, no. 2, pp. 123–138. doi: 10.1007/s12064-021-00339-5.

16. Nguyen-Van-Yen B., Del Moral P., Cazelles B. Stochastic epidemic models inference and diagnosis with Poisson random measure data augmentation. Mathematical Biosciences, 2021, vol. 335, art. 108583. doi: 10.1016/j.mbs.2021. 108583.

17. Киреев И.И., Кулдарев И.В., Подзолков П.Н. Модификация алгоритма послойного рисования орграфов для построения компартментальных эпидемиологических моделей // Математическое и информационное моделирование: матер. Всерос. конф. молодых ученых. 2024. С. 259–264.

18. Virtanen P., Haberlend M., Oliphand T.E. et al. SciPy 1.0: Fundamental algorithms for scientific computing in Python. Nature Methods, 2020, vol. 17, no. 3, pp. 261–272. doi: 10.1038/s41592-019-0686-2.

19. Соколовский В.Л., Фурман Г.Б., Полянский Д.А., Фурман Е.Г. Пространственно-временное моделирование эпидемии COVID-19 // Анализ риска здоровью. 2021. № 1. С. 23–37. doi: 10.21668/health.risk/2021.1.03.

20. Шабунин А. В. Моделирование эпидемий решетками клеточных автоматов. SIRS модель с учетом воспроизводства и миграции // Изв. Саратовского ун-та. Нов. Сер. Физика. 2020. Т. 20. № 4. С. 278–287. doi: 10.18500/1817-3020-2020-20-4-278-287.

21. Оськин А.Ф., Оськин Д.А. Моделирование эпидемии с помощью клеточных автоматов // Вестн. Полоцкого гос. ун-та. Сер. Фундаментальные науки. 2021. № 4. С. 29–34.

22. Miller J.C., Ting T. EoN (Epidemics on Networks): a fast, flexible Python package for simulation, analytic approximation, and analysis of epidemics on networks. J. Open Source Software, 2019, vol. 4, no. 44, art. 1731. doi: 10.21105/ joss.01731.

23. Demidova A.V., Druzhinina O.V., Masina O.N. et al. Constructing compartmental models of dynamic systems using a software package for symbolic computation in Julia. Program. Comput. Soft., 2024, vol. 50, pp. 138–146.  doi: 10.1134/S0361768824020051.

References

1.      Thompson, R.N. (2020) ’Epidemiological models are important tools for guiding COVID-19 interventions’, BMC Medicine, 18(1), art. 152. doi: 10.1186/s12916-020-01628-4.

2.      Sweileh, W.M. (2022) ‘Global research activity on mathematical modeling of transmission and control of 23 selected infectious disease outbreak’, Globalization and Health, 18(1), art. 4. doi: 10.1186/s12992-022-00803-x.

3.      Mata, A.S., Dourado, S.M.P. (2021) ‘Mathematical modeling applied to epidemics: an overview’, São Paulo J. Math. Sci., 15, pp. 1025–1044. doi: 10.1007/s40863-021-00268-7.

4.      Tang, L., Wang, L., Zhou, Y. et al. (2020) ‘A review of multi-compartment infectious disease models’, ISR, 88(2), pp. 462–513. doi: 10.1111/insr.12402.

5.      Nikitina, A.V., Lyapunova, I.A., Dudnikov, E.A. (2020) ‘Study of the spread of viral diseases based on modifications of the SIR model’, Computational Math. and Inform. Tech., 4(1), pp. 1930 (in Russ.). doi: 10.23947/2587-8999-2020-1-1-19-30.

6.      Kong, L., Duan, M., Chang, Z. et al. (2022) ‘Compartmental structures used in modeling COVID-19: A scoping review’, Infectious Diseases Poverty, 11(1), art. 72. doi: 10.1186/s40249-022-01001-y.

7.      Korolev, I. (2021) ‘Identification and estimation of the SEIRD epidemic model for COVID-19’, J. Econometrics, 220(1), pp. 63–85. doi: 10.1016/j.jeconom.2020.07.038.

8.      Kröger, M., Schlickeiser, R. (2024) ‘On the analytical solution of the SIRV-model for the temporal evolution of epidemics for general time-dependent recovery, infection and vaccination rates’, Math., 12(2), art. 326. doi: 10.3390/math12020326.

9.      Shabunin, A.V. (2022) ‘Hybrid SIRS model of infection spread’, Izv. VUZ. Applied Nonlinear Dynamics, 30(6), pp. 717731 (in Russ.). doi: 10.18500/0869-6632-003014.

10.    Muñoz-Fernández, G.A., Seoane, J.M., Seoane-Sepúlveda, J.B. (2021) ‘A SIR-type model describing the successive waves of COVID-19’, Chaos, Solitons & Fractals, 144, art. 110682. doi: 10.1016/j.chaos.2021.110682.

11.    Reyné, B., Saby, N., Sofonea, M.T. (2022) ‘Principles of mathematical epidemiology and compartmental modelling application to COVID-19’, Anaesthesia, Critical Care & Pain Medicine, 41(1), art. 101017. doi: 10.1016/j.accpm.2021.101017.

12.    Maier, B.F. (2021) ‘Epipack: An infectious disease modeling package for Python’, J. Open Source Software, 6(60), art. 3097. doi: 10.21105/joss.03097.

13.    Yang, P., Bi, G., Yang, Y. et al. (2020) ‘Feasibility study of mitigation and suppression strategies for controlling COVID-19 outbreaks in London and Wuhan’, PloS One, 15(8), art. e0236857. doi: 10.1371/journal.pone.0236857.

14.    Wickramaarachchi, W., Perera, S.S.N., Jayasinghe, S. (2020) ‘COVID‐19 epidemic in Sri Lanka: A mathematical and computational modelling approach to control’, Comput. and Math. Methods Med., 2020(1), art. 4045064. doi: 10.1155/2020/4045064.

15.    Batabyal, S., Batabyal, A. (2021) ‘Mathematical computations on epidemiology: A case study of the novel coronavirus (SARS-CoV-2)’, Theory Biosci., 140(2), pp. 123138. doi: 10.1007/s12064-021-00339-5.

16.    Nguyen-Van-Yen, B., Del Moral, P., Cazelles, B. (2021) ‘Stochastic epidemic models inference and diagnosis with Poisson random measure data augmentation’, Mathematical Biosciences, 335, art. 108583. doi: 10.1016/j.mbs.2021.
108583
.

17.    Kireev, I.I., Kuldarev, I.V., Podzolkov, P.N. (2024) ‘Modification of the layer-by-layer graph drawing algorithm for constructing compartmental epidemiological models’, Proc. AllRuss. Math. and Inform. Modeling, pp. 259264 (in Russ.).

18.    Virtanen, P., Haberlend, M., Oliphand, T.E. et al. (2020) ‘SciPy 1.0: Fundamental algorithms for scientific computing in Python’, Nature Methods, 17(3), pp. 261272. doi: 10.1038/s41592-019-0686-2.

19.    Sokolovsky, V.L. Furman, G.B., Polyansky, D.A., Furman, E.G. (2021) ‘Spatio-temporal modeling of COVID-19 epidemic’, Health Risk Analysis, (1), pp. 2337 (in Russ.). doi: 10.21668/health.risk/2021.1.03.

20.    Shabunin, A.V. (2020) ‘Modeling of epidemics by cellular automata lattices. SIRS Model with reproduction and migration’, Izv. Sarat. Univ. Physics, 20(4), pp. 278287 (in Russ.). doi: 10.18500/1817-3020-2020-20-4-278-287.

21.    Oskin, A., Oskin, D. (2021) ‘Modeling an epidemic with cellular automation’, Vest. of Polotsk State University. Part C. Fundamental Sci., (4), pp. 2934 (in Russ.).

22.    Miller, J.C., Ting, T. (2019) ‘EoN (Epidemics on Networks): A fast, flexible Python package for simulation, analytic approximation, and analysis of epidemics on networks’, J. Open Source Software, 4(44), art. 1731. doi: 10.21105/joss.01731.

23.    Demidova, A.V., Druzhinina, O.V., Masina, O.N. et al. (2024) ‘Constructing compartmental models of dynamic systems using a software package for symbolic computation in Julia’, Program. Comput. Soft., 50, pp. 138–146. doi: 10.1134/S0361768824020051.


Постоянный адрес статьи:
http://www.swsys.ru/index.php?page=article&id=5191
Версия для печати
Статья опубликована в выпуске журнала № 3 за 2025 год. [ на стр. 499-512 ]

Статья опубликована в выпуске журнала № 3 за 2025 год. [ на стр. 499-512 ]

Возможно, Вас заинтересуют следующие статьи схожих тематик:

Возможно, Вас заинтересуют следующие статьи схожих тематик: