УДК 519.876.5
Компьютерная реализация прогнозирования эпидемии гриппа
Ерошенко Яна Борисовна – аспирант, старший преподаватель кафедры Математического и программного обеспечения информационных систем Белгородского государственного национального исследовательского университета.
Самхарадзе Коба Кобаевич – студент Института инженерных технологий и естественных наук Белгородского государственного национального исследовательского университета.
Аннотация: В статье освещена проблема возникновения эпидемий и отмечена роль прогнозирования эпидемических процессов и раскрыта сущность применения методов математического и компьютерного моделирования в области прогнозирования эпидемий, описаны основные модели эпидемий и построена модель распространения острой респираторной инфекции, вызванной вирусами гриппа А, разработана компьютерная программа на языке С++ для прогнозирования эпидемии гриппа.
Ключевые слова: Эпидемия, прогнозирование, математическое моделирование, компьютерное моделирование, модель эпидемии, программирование, С++.
Эпидемии всегда представляли серьезную опасность для человечества. На сегодняшний день еще есть территории на Земле, где эпидемии достигают больших масштабов. Наиболее опасными до сих пор являются такие заболевания, как пневмония, ВИЧ/СПИД, болезни органов пищеварения, малярия, корь, гепатит «B», Эбола, туберкулез [1, 2]. Из-за увеличения коэффициента смертности представляют угрозу для людей различные вирусы гриппа (смертельный грипп В – Брисбен, грипп А – H3N2-Гонконгский грипп и H1N1- «Свиной» грипп) [3, 4]. В последнее время наблюдается мутация данных вирусов, в результате чего иммунная система уже не распознаёт мутировавшие вирусы и при размножении они заражают всё большее количество людей [5, 6].
Медицина уже давно пришла к выводу о том, что эпидемии лучше предотвращать, а для этого необходимо их изучать и прогнозировать. Применение компьютерного прогнозирование на основе построения математической модели, в данном случае, является наиболее целесообразным решением, так как воспроизведение натуральной эпидемии нежелательно, а модель способна создать реальный эпидемический процесс, не имеющий негативных последствий.
Преимуществом математического моделирования эпидемических процессов является отсутствие больших затрат, быстрота получения результатов, использование вычислительных систем тогда, когда недоступен теоретический подход и др. [7, с. 9]. Математическая формулировка модели эпидемий опирается на понятие производной: если в системе присутствует какой-либо параметр , зависящий от времени
, то его производная
характеризует скорость изменения данного параметра [8, с. 272].
Построение модели эпидемии было изложено в научных трудах У. О. Кермака и А. Г. Маккендрика. Согласно данной теории в рамках одной популяции в момент времени
рассматривается распространение инфекционного заболевания, при этом агент данной популяции принадлежит к одному из трех непересекающихся между собой классов в зависимости от того состояния, в котором он находится: Succeptible (S) – восприимчивый, Infectives (I) – инфицированный и Recovered (R) – выздоровевший. В связи с этим модель получила название SIR-модель. Переходы агентов из одного класса в другой характеризуются коэффициентами инфицирования
и выздоровления
[9, 700-721].
Классическая версия SIR-модели предполагает, что численность популяции является постоянной величиной на протяжении всего исследуемого промежутка времени, все агенты заражаются с одинаковой вероятностью, у восприимчивых отсутствует как приобретенный, так и врожденный иммунитет, доля выздоровевших и изолированных агентов постоянна, после болезни всегда приобретается иммунитет и смертность в результате заболевания отсутствует [10, с. 54].
Математически такую модель можно записать следующим образом:
где – коэффициент заболевания;
– коэффициент выздоровления.
При этом должно выполняться равенство:
Начальные условия в момент времени :
Согласно [11, с. 155] коэффициент заболевания зависит от плотности популяции и характерных признаков заболевания, а коэффициент выздоровления
находится в обратной зависимости от длительности заболевания.
Постановка задачи такова, что необходимо построить математическую модель распространения острой респираторной инфекции, вызванной вирусами гриппа А, и реализовать ее на одном из языков программирования.
Вирус гриппа А – это распространенный, легко передающийся и быстро эволюционирующий возбудитель заболевания, являющийся причиной появления тяжелых эпидемий, главные параметры которых – это продолжительность инкубационного периода и заболевания, возможность повторного заражения и свойство мутации вируса [12, с. 450-465].
Для моделирования эпидемии гриппа введем следующие обозначения:
- группу здоровых людей, куда попадают два источника инфекции, зараженных подтипами вируса А (
и
);
- – количество агентов, восприимчивых к заболеванию;
- – количество агентов, инфицированных вирусом
;
- – количество агентов, инфицированных вирусом
;
- – количество агентов, излечившихся от болезни;
- – количество агентов, умерших во время болезни.
1) демографические изменения во внимание не принимаются, болезнь передаётся только при контакте с инфицированными агентами, заражение происходит мгновенно, поэтому:
2) эпидемия начинается в случае, если количество инфицированных увеличивается в результате контактов с агентами, зараженными вирусами и
, то есть:
;
3) у контактирующих отсутствует врождённый и приобретенный иммунитеты к болезни и вероятности наступления заболеванияодинаковая, причем – коэффициент заболевания вирусом
и
– коэффициент заболевания вирусом
, где
;
4) медицинское вмешательство в процессе выздоровления отсутствует: агенты, инфицированные вирусом , выздоравливают со скоростью
, а инфицированные вирусом и
– со скоростью
, где где
5) после перенесения заболевания агенты приобретают иммунитет, но через некоторое время могут его утратить и вновь перейти в группу риска со скоростью ), а не перенесшие заболевания, умирают, причем
– коэффициент смертности при инфицировании вирусом
и
– коэффициент смертности при заражении вирусом
, где
Составим таблицу данных, характеризующих динамику эпидемии гриппа А, учитывая, что главным свойством классической SIR-модели является фиксированная популяция, в связи с чем построение системы дифференциальных уравнений должно удовлетворять условию (4) (табл. 1).
Таблица 1. Динамика распространения эпидемии гриппа А.
№ |
Переход |
Скорость перехода |
1 |
|
|
2 |
|
- |
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
- |
По данным таблицы 1 опишем рассматриваемую модель следующей системой дифференциальных уравнений:
Первое уравнение системы показывает уменьшение восприимчивых агентов за счет заражения их инфицированными агентами
и
и увеличение восприимчивых агентов
из-за потери иммунитета. Второе и третье уравнения системы описывают увеличение инфицированных агентов
и
за счет заражения восприимчивых
и их уменьшение за счет выздоровления или смерти. Четвертое уравнение показывает увеличение класса агентов
за счет выздоровления и их уменьшение вследствие потери иммунитета. Пятое уравнение системы свидетельствует о наличии смертельных исходов в результате заболевания. Причем, если сложить правые части уравнений из системы (5), то будет выполняться условие (4).
Сформированную модель эпидемии реализуем на языке программирования С++, используя среду разработки Microsoft Visual Studio 2010. После ввода исходных данных программа осуществит прогнозный расчет эпидемического процесса, а результаты представит на графике.
Параметры заболевания в программе описаны в виде класса (листинг 1).
Листинг 1. Описание свойств заболевания:
classDisease {
public:
stringname;
doubleR; // группа риска
double tau; // продолжительность заболевания
double alpha; // коэфф. заболевания
double beta; // коэфф. выздоровления
double gamma; // коэфф. потери иммунитета
doublemu; // коэфф. смертности
Disease() { R = tau = alpha = beta = gamma = mu = 0.0; }
Disease(string name_, double R_, double tau_, double amountPeople, double gamma_, double mu_) {
this->Disease::Disease();
name = name_; R = R_; tau = tau_;
alpha = R / (amountPeople * tau); beta = 1 / tau; gamma = gamma_; mu = mu_;
}
~Disease() {}
};
Выполнение расчетов системы дифференциальных уравнений (5) осуществляется в цикле (листинг 2).
Листинг 2. Выполнениерасчетов:
for (int i = 1; i <= amountDays; i++) { …
double amountN = Convert::ToDouble(DataCalc["N", i - 1]->Value);
double amountZ = Convert::ToDouble(DataCalc["Z", i - 1]->Value);
for (int j = 0; j < diseases.size(); j++) {
double alpha =
diseases[j].alpha *
Convert::ToDouble(DataCalc["N", i - 1]->Value) *
Convert::ToDouble(DataCalc[prefixDiseasedName+Convert::ToString(j),i-1]->Value);
double beta =
diseases[j].beta *
Convert::ToDouble(DataCalc[prefixDiseasedName+Convert::ToString(j),i-1]->Value);
double amountDiseased = alpha - beta +
Convert::ToDouble(DataCalc[prefixDiseasedName+Convert::ToString(j),i-1]->Value)-
Convert::ToDouble(DataCalc[prefixDeadedName + Convert::ToString(j), i]->Value);
amountDiseased = ceil(amountDiseased);
DataCalc[prefixDiseasedName + Convert::ToString(j), i]->Value = Convert::ToString(amountDiseased);
double amountDeaded = diseases[j].mu *
Convert::ToDouble(DataCalc[prefixDiseasedName+Convert::ToString(j),i-1]->Value)+
Convert::ToDouble(DataCalc[prefixDeadedName+Convert::ToString(j),i-1]->Value);
amountDeaded = floor(amountDeaded);
DataCalc[prefixDeadedName + Convert::ToString(j), i]->Value = Convert::ToString(amountDeaded);
amountN -= alpha; amountZ += beta;
}
amountN = floor(amountN); DataCalc["N", i]->Value = Convert::ToString(amountN);
amountZ = floor(amountZ); DataCalc["Z", i]->Value = Convert::ToString(amountZ);
}
Тестирование программы выполнялось на примере распространения эпидемии гриппа в Тульской области со следующими параметрами:
По данным ИА «Тульская пресса» на 18.03.2018 г. количество заболевших гриппом и ОРВИ составило 12892 человек [13]. Предположим вирусом заболело 10000 чел.,
– 2892 чел., cмертность и повторное заражение агентов отсутствовало, поэтому начальные условия в момент времени
соответствовали следующим параметрам:
После ввода в программу исходных данных была сформирована таблица расчетных значений эпидемического процесса (рис. 1).
Рисунок 1. Выполнение расчетов программы
Данные расчеты показали, что пик эпидемии приходится на 8-й день эпидемического процесса (на 26.03.2018), максимальное число заболевших вирусом составило 882074 чел., а вирусом
– 245109 чел. За указанный период прогнозирования полное выздоровление больных не наступило при условии отсутствия медицинского вмешательства (рис. 2).
Рисунок 2. Графического представление эпидемического процесса.
Если увеличить период прогнозирования, то программа покажет, что окончательное выздоровление всех заболевших при условии, что никаких медицинских мер не применялось, наступит лишь через 3,5 месяца
Таким образом, эпидемия гриппа – это рост заболеваемости населения как отдельного региона, города, так и государства в целом. Остановить нерегулируемую эпидемию довольно сложно. Применение математического и компьютерного прогнозирования различного рода эпидемий способствует предупреждению и сокращению распространения эпидемий как инфекционного, так и неинфекционного характера. Разработанная программа спрогнозирует эпидемический процесс, а его графическое представление обозначит количественные показатели.
Список литературы
-
Centers for Disease Control and Prevention. Ebola (Ebola Virus Disease) URL: https://www.cdc.gov/vhf/ebola/outbreaks/history/chronology.html (датаобращения 10.03.2018).
-
Первая глобальная министерская конференция ВОЗ. URL: http://www.who.int/tb/endtb-sdg-ministerial-conference/ru/ (дата обращения 10.03.2018).
-
Всемирная организация здравоохранения. Глобальная программа по гриппу. URL: http://www.who.int/influenza/human_animal_interface/ru/ (дата обращения 10.03.2018).
-
Газета.ru. Грипп в России: «ситуация близка к введению карантина». URL: https://www.gazeta.ru/social/2018/03/07/11675011.shtml (дата обращения 10.03.2018).
-
Областное государственное бюджетное учреждение здравоохранения «Городская поликлиника №6 города Белгорода». Грипп 2017-2018. URL: http://belgorpol6.belzdrav.ru/personal/gripp-2017-2018.php?type=original (дата обращения 19.03.2018).
-
Информационно-аналитический портал 1RRE. Сезон простуд и гриппа в России уже наступил URL: http://www.1rre.ru/68737-sezon-prostud-i-grippa-v-rossii-uzhe-nastupil.html (дата обращения 24.01.2018).
-
Хакимзянов Г. С., Чубаров Л. Б., Воронина П. В. Математическое моделирование: учеб. пособие. – Новосибирск: РИЦ НГУ, 2014. – 263 с.
-
Кудрявцев Л. Д. Курс математического анализа. В 3 томах. М.: Дрофа, – 2003. – 704 с.
-
Kermack W. O., McKendrick A. G. A contribution to the mathematical theory of epidemics. Proc. R. Soc. Lond. A 115 (1927), 700–721.
-
Зенкин В. И. Курс математического и компьютерного моделирования. Калининград: б/и, 2015. – 193 с.
-
Антонов В. Ф., Черныш А. М., Пасечник В. И., Вознесенский С. А., Козлова Е. К. Практикум по биофизике: учеб. пособие. – М.: ВЛАДОС, 2001. – 352 с.
-
Шувалова Е. П., Белозеров Е. С., Беляева Т. В., Змушко Е. И. Инфекционные болезни: учебник для медицинских вузов. – СПб.: СпецЛит, 2015. – 727 с.
-
НИ «Тульская пресса». Здоровье и медицина. URL: https://www.tulapressa.ru/2018/03/v-tulskoj-oblasti-iz-za-grippa-skonchalsya-rebenok/ (дата обращения 20.03.2018).