Последнее время было достаточно различных моделей развития эпидемии, в том числе и на Хабре. Не обошла эта тема стороной и меня. Я вряд ли бы написал здесь, но учитывая то, что удалось найти, важность обнаруженных зависимостей и их влияние на нашу жизнь, не могу не поделиться находкой. Будет много формул, графиков и мало текста. Основная информация и графики для Германии, где я и проживаю.

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

Минутка заботы от НЛО


В мире официально объявлена пандемия COVID-19 — потенциально тяжёлой острой респираторной инфекции, вызываемой коронавирусом SARS-CoV-2 (2019-nCoV). На Хабре много информации по этой теме — всегда помните о том, что она может быть как достоверной/полезной, так и наоборот.

Мы призываем вас критично относиться к любой публикуемой информации


Официальные источники

Если вы проживаете не в России, обратитесь к аналогичным сайтам вашей страны.

Мойте руки, берегите близких, по возможности оставайтесь дома и работайте удалённо.

Читать публикации про: коронавирус | удалённую работу

$N_t = N_02^{t/T_d}$


где $T_d$ — время удвоения инфицированных в нашем случае в днях, $t$ количество дней, $N_0$ количество инфицированных в определенный момент времени и $N_t$ — количество заболевших через $t$ дней. Если разделить обе части формулы на общее население региона, то получим ту же формулу, но в частях от популяции $P$.

$P_t = P_02^{t/T_d} (1)$


Проблема этой формулы в том, что формула не учитывает ограниченность населения и $P$ вскоре будет больше 1. Этого в реальной жизни не случается.

Существует эпидемиологический фактор определяющий, до какого уровня может расти количество заболевших. Он рассчитывается на основе базового числа репродукции $R_0$. Это число показывает нам о том скольких людей примерно заражает один инфицированный, является константой и специфична для каждого конкретного региона в зависимости от плотности населения и других особенностей региона. Его можно определить только в начале эпидемии, когда нет никаких ограничивающих факторов. Сама формула выглядит так:

$P_{sat} = 1 - 1/{R_0}$


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

$R_t = R_0(1 - P_t) (2)$


Если взять упрощенную SEIR[1] модель эпидемии, то можно обнаружить дополнительные факторы описывающие характеристики эпидемии, как например коэффициент роста $G_r$ или время заразности больного $D$. Следующие формулы показывают взаимосвязь между величинами.

$G_r = \frac{R_t - 1}{D}$


$T_d = \frac{ln(2)}{G_r}$


Используя вышеприведенные формулы мы можем вывести следующую зависимость

$T_d = \frac{D ln(2)}{R_t - 1}$


и подставив ее в (1) получим:

$P_t = P_0 2^\frac{t (R_t - 1)}{D ln(2)}$


или после упрощения

$P_t = P_0 e^\frac{t (R_t - 1)}{D}$


Если нам нужно определить значение на следующий день, то $t = 1$

$P_1 = P_0 e^\frac{R_t - 1}{D}$


Эффективное число репродукции для конкретного времени $current$ может быть вычислено из формулы (2) и тогда зная только базовое число репродукции $R_0$ и количество зараженных в текущий момент $P_{current}$ мы с легкостью можем вычислить процент зараженных на следующий день.

$P_{next} = P_{current} e^\frac{R_0 (1 - P_{current}) - 1}{D}$


В этой формуле всего один параметр $R_0$, который можно вычислить из времени удвоения в начале эпидемии. Приняв например $P_{current} = 0,0001$ и сделав n шагов мы получим эпидемиологическое состояние через n дней. Время, форма кривой, значение насыщения, количество заболевших в определенный момент времени и прочие параметры выскакивают из формулы «как чертик из табакерки».

Как быть с карантином и прочими факторами влияющими на течение эпидемии?

Каждая из принятых мер корректирует базовое число репродукции на некоторый фактор (множитель) $? ? [0;1]$ следующим образом:

$P_{next} = P_{current} e^\frac{? R_0 (1 - P_{current}) - 1}{D}$


Можно даже для простоты определить «ограничивающее» базовое репродукционное число:

$R'_0 = ? R_0$


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

В качестве времени заразности больного $D$ для Covid-19 было взято значение 10[2].

В модели нет других параметров, а также дополнительных степеней свободы.

Как же с проверкой?

Графики на основе данных из Германии.

Было всего 3 точки интервенции, указанные в следующей таблице:



Что привело к следующим результатам.

image



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



Совпадение данных и качество модели можно проверить на графиках регрессии:



Модель и расчеты для Германии выложены на GitHub. Там не только эти данные, но и исследования по смертельным случаям.

Update:
Сделаны дополнительные проверки. В каждой стране свой коэффициент коррекции.

Россия:




Италия:



США:



Update 2:
Добавил на GitHub версию «simple» в которой удалено все лишнее, можно вставлять значения других стран, менять точки интервенции и коэффициент коррекции. Существует большая вероятность, что этот самый коэффициент коррекции и есть отношение диагностированных к зараженным. Но это нужно проверить. Дальнейшее развитие и окончание эпидемии подтвердит или опровергнет данную гипотезу.

На графиках значения детектированных случаев в % и эти значения не скорректированы на значение Ratio (Коэффициент коррекции). Разделив на это число мы получим фактический процент детектированных случаев и прогноз заражения. В версии «simple» эта коррекция произведена.

References
[1] J. M. Heffernan et al. Perspectives on the basic reproductive ratio. doi.org/10.1098/rsif.2005.0042 J. R. Soc. Interface 2005 2, 281–293 (2005)

[2] Xi He, Eric H. Y. Lau et al. Temporal dynamics in viral shedding and transmissibility of COVID-19. www.nature.com/articles/s41591-020-0869-5 Nature (2020)