- PVSM.RU - https://www.pvsm.ru -

COVID-19: прогнозируем число больных коронавирусом

Коронавирус окончательно захватил весь мир — и выражается это не в том, что им успел переболеть каждый житель планеты. На данный момент эта тема является главной и единственной — как в мировых, так и в российских новостях. В этой статье мы постараемся максимально абстрагироваться от политики и рассуждений о том, запустили ли вирус китайские военные, или же Дональд Трамп. Вместо этого мы посмотрим на проблему с математической точки зрения — а именно, выясним, как можно описать эпидемию одним уравнением, а в конце статьи предскажем итоговое число зараженных COVID-19 — в том числе в России.

COVID-19: прогнозируем число больных коронавирусом - 1

Теория: уравнение эпидемии

Еще чуть меньше века назад, в 1927 году, два ученых парня Кермак и МакКендрик в своей статье [1] донесли до мира идею о том, что распространение эпидемии можно описать математически. В самом простом случае, когда популяция из N человек заражается каким-то вирусом, и в самой популяции люди могут либо быть здоровыми (S), либо болеть без возможности выздоровления (I), уравнение доли зараженного населения в момент t будет выглядеть следующим образом:

$i(t)=frac{i_0}{i_0 + (1-i_0)e^{-beta t}},$

где $i_0$ представляет собой изначальную долю зараженных от общего числа популяции, а $beta$ отвечает за коэффициент распространения эпидемии — и именно благодаря этому параметру мы можем регулировать вероятность передачи вируса от человека к человеку и приближать/отдалять момент того, когда вся популяция заразится (ведь при $t to infty , i(t) to 1$).

Знатокам может показаться, что ребята позаимствовали уравнение логистической кривой [2] у бельгийского математика Ферхюльста — однако, в данном случае это уравнение есть не что иное, как результат решения системы дифференциальных уравнений (не буду уходить в математические дебри, однако если кому интересно, то здесь [3] объясняется вся теория эпидемии, а тут [4] — как всегда великолепная визуализация от Гранта Сандерсона).

График функции являет собой нечто вроде вытянутой латинской буквы s (наверное поэтому ее еще иногда называют s-кривая):

COVID-19: прогнозируем число больных коронавирусом - 6

А теперь, прежде чем перейти непосредственно к моделированию, небольшой спойлер того, что эта модель находит отражение в реальности, и конкретно в случае COVID-19: посмотрите на график выявленных случаев заражения в Mainland China, взятого из проекта университета Джона Хопкинса [5]:

COVID-19: прогнозируем число больных коронавирусом - 7

Выводим свое уравнение для COVID-19

Модель, представленная выше, требует выполнения большого количества предпосылок, таких как постоянство популяции, возможность контакта каждого с каждым и т.д. К тому же, при введении дополнительной группы (R) внутри популяции, которая содержит выздоровевших/умерших (т.е. более не способных заразиться вирусом), модель все равно оказывается очень сильно завязанной на изначальное число зараженных.

В реальности же бессмысленно выводить модель исходя только из одного начального условия, т.к. в каждой стране (и даже местности) свои особенности распространения вируса — и итоговое число зараженных может быть совсем разным в двух регионах с $i_0=1$. Одного коэффициента $beta$ в помощь к $i_0$ тоже оказывается недостаточно — слишком уж много факторов воздействуют на распространение вируса и гнут/ломают логистическую кривую на свой лад.

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

$i(t)=frac{a}{b + c*e^{d-beta t}},$

В данном случае мы также дополнительно вводим слагаемое в степень экспоненты — и, имея 5 параметров вместо 2, мы несомненно можем более тонко настроить кривую.

Подбор параметров

Благодаря тому, что в нашем распоряжении есть данные о выявленных случаях заражения за первые $n$ дней пандемии, а не только в самом начале, т.е. набор значений подтвержденных случаев $(y_0, y_1, dots , y_n)$, мы можем свести задачу поиска оптимальных параметров $(a, b, c, d, beta)$ к задаче минимизации суммы квадратов отклонений:

$sum_{t=1}^{n} (y_t - i(t))^{2} to min$

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

Прогнозы для стран

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

Данные для прогноза взяты с GitHub [6] проекта университета Джона Хопкинса. Прогнозное значение подтвержденных случаев вируса выдается в виде доли от популяции страны, домноженной на 10 000 (домножение нужно для того, чтобы числа не получались очень маленькими, иначе алгоритм просто будет предсказывать нули). По оси $x$ идет количество дней с момента регистрации первого случая заражения вирусом.

На графиках представлены подтвержденные случаи на данный момент (Real Current Confirmed), значения в эти же даты, но предсказанные моделью (Predicted Current Confirmed), и предсказанные значения на следующие 30 дней (Preficted Future Confirmed).

Китай

Впервые вирус был зафиксирован в городе Ухань, столице провинции Хубэй. Как выяснилось недавно, первый случай был зарегистрирован не в конце декабря 2019 года, как полагали до этого, а аж 17 ноября [7]. Сути это не меняет, и благодаря четким действиям китайского правительства в сфере обеспечения карантина, к концу февраля удалось остановить локальную пандемию. Однако сразу оговоримся, что данные для модели имеются только с 22 января, и к тому моменту было зарегистрировано уже 444 заболевших.

COVID-19: прогнозируем число больных коронавирусом - 18
Данные о первом инфицированном: 22.01.2020

Италия

Родина Паоло Соррентино стала европейским рассадником вируса — и связано это не только с популярностью Италии среди китайских туристов (правда), но и с особой любовью итальянцев к мытью рук (шутка).

COVID-19: прогнозируем число больных коронавирусом - 19
Данные о первом инфицированном: 31.01.2020

Германия

Канцлер Ангела Меркель привлекла внимание мировой общественности своим заявлением о том, что в конечном итоге коронавирусом переболеют 70 процентов [8] населения страны.

COVID-19: прогнозируем число больных коронавирусом - 20
Данные о первом инфицированном: 27.01.2020

Однако, если верить прогнозу, то заболеванию подвергнутся чуть более чем 0.05%

Испания

Горячие мачо решили не отставать от своих «коллег по климату» (итальянцев, разумеется) — и пока что нет никаких оснований говорить о скором угасании темпов распространения вируса.
Однако испанцы не унывают и придумывают, пожалуй, самые увлекательные фейки вокруг коронавируса — так недавно проскочила новость о том, что в Валенсии был закрыт на карантин бордель [9] с 119 людьми, из которых 86 — клиенты, из-за того, что у одной из представительниц древнейшей профессии был выявлен коронавирус — видимо, она закашлялась, а среди клиентов нашелся врач.

COVID-19: прогнозируем число больных коронавирусом - 21
Данные о первом инфицированном: 01.02.2020

Россия

Ситуация вокруг коронавируса в нашей стране до сих пор остается неясной с точки зрения того, а все ли случаи были зафиксированы — иначе как объяснить резкий рост случаев пневмонии [10], которую без дополнительных исследований невозможно отличить от коронавируса?

Но куда более интересным является то, как вирус распространяется по стране. На специальной страничке, созданной оперштабом Москвы, ведется список рейсов [11], которыми прибыли больные люди. То есть вирус в основной своей массе в страну поступил вместе с нашими соотечественниками, которые находились на отдыхе/по работе заграницей. Если сопоставить среднемесячную зарплату по стране и стоимость авиабилета в Европу, то получится, что вирус с собой принесли не самые бедные люди. И тут впору обратиться к теории графов, а именно к понятию ассортативности [12], которое обозначает наличие внутри социальной сети (общества) предпочтений в связях (общении) — проще говоря, в основном богатые люди общаются с богатыми, а бедные — с бедными. Итого получается, что для России, коронавирус — это болезнь состоятельных людей. Поэтому если ты, мой дорогой читатель, в данный момент находишься в подземном переходе метро у Казанского вокзала и прямо сейчас ботинком убиваешь пробегающую мимо крысу — то, возможно, ты входишь в самую безрисковую группу в нашей стране.

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

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

COVID-19: прогнозируем число больных коронавирусом - 22
Данные о первом инфицированном: 31.01.2020

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

Итоги

Конечно же, представленная модель является очень базовой:

  • не учитывается тот факт, что происходит изменение температурного фона с зимнего на весенний, и значит активность распространения вируса должна падать вслед за ростом температуры
  • пренебрежение закрытием границ государств, установлением более жестких карантинных мер внутри самой страны, и, как следствие, падением интенсивности контактирования людей друг с другом
  • модель можно улучшать до бесконечности: выбрать более сложный вид функции, добавить больше параметров; использовать вместо grid search для подбора параметров генетические алгоритмы; вместо простой оптимизации функции потерь использовать метод максимального правдободобия, EM-алгоритмы и т.д.

Однако, если вы заинтересовались данной темой, то советуем вам присоединиться к самому горячему COVID-19 Open Research Dataset Challenge (CORD-19) [13] и решать задачи: от определения факторов риска до создания вакцины!

Также с сегодняшнего дня мы запускаем нашего бота в Telegram [14] (@CoronavirusMonitorBot), в котором мы мониторим актуальную информацию вокруг ситуации с коронавирусом. Рекомендуем вам подписаться, чтобы быть в курсе того, как будет развиваться ситуация.

Главное, что хочется сказать — не нужно паниковать. В подобных ситуациях соблюдение элементарных правил гигиены и избегание мест скопления людей поможет избежать взрывного характера распространения вируса. А в остальном положитесь на математику :)

Автор: Pavel Sulimov

Источник [15]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/vizualizatsiya-danny-h/350344

Ссылки в тексте:

[1] статье: https://royalsocietypublishing.org/doi/10.1098/rspa.1927.0118

[2] логистической кривой: https://ru.wikipedia.org/wiki/%D0%9B%D0%BE%D0%B3%D0%B8%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D1%83%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5

[3] здесь: https://www.youtube.com/watch?v=IXkr0AsEh1w

[4] тут: https://www.youtube.com/watch?v=Kas0tIxDvrg

[5] проекта университета Джона Хопкинса: https://gisanddata.maps.arcgis.com/apps/opsdashboard/index.html#/bda7594740fd40299423467b48e9ecf6

[6] GitHub: https://github.com/CSSEGISandData/COVID-19

[7] 17 ноября: https://www.scmp.com/news/china/society/article/3074991/coronavirus-chinas-first-confirmed-covid-19-case-traced-back

[8] 70 процентов: https://ria.ru/20200311/1568439139.html

[9] закрыт на карантин бордель: https://factcheck.afp.com/false-claim-about-brothel-quarantined-europe-originated-satirical-website

[10] резкий рост случаев пневмонии: https://ru.reuters.com/article/topNews/idRUKBN2170MC-ORUTP

[11] список рейсов: https://vk.com/@covid2019_official-spisok-aviareisov-kotorymi-letali-pacienty-zabolevshie-koron

[12] ассортативности: https://en.wikipedia.org/wiki/Assortativity

[13] COVID-19 Open Research Dataset Challenge (CORD-19): https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge/tasks

[14] бота в Telegram: https://t.me/CoronavirusMonitorBot

[15] Источник: https://habr.com/ru/post/493034/?utm_source=habrahabr&utm_medium=rss&utm_campaign=493034