Подперев голову рукой, я тоскливо следил за бесконечной лентой панических новостей, наблюдая за тревожными вестями из Италии, и ловил не менее неприятные слухи о возможности остановки транспорта у нас. Кто-то в комментариях активно распалялся: «Нужны ли все эти меры? Да как они помогут борьбе с вирусом?», другие призывали готовиться к худшему, третьи вообще отрицали угрозу. Хотелось более чётко и обоснованно понимать, что же происходит.
Уделив проблеме вечер, я решил ответить при помощи математики на следующие вопросы:
- Эффективны ли принимаемые меры? Насколько?
- Будет ли у нас как в Италии? Самое страшное всё ещё впереди?
- Насколько вероятно сейчас встретить заражённого в транспорте?
- Удастся ли полностью побороть новый вирус?
В итоге, я создал небольшую программу для моделирования (бинарник, исходник) и получил с её помощью результаты — обнадёживающие, но неоднозначные. За деталями — прошу под кат.
Дисклеймер
Я не медик и не биолог — я инженер. Моей специализацией являются задачи ситуационного моделирования и массового обслуживания. Настоящие учёные создают математически точные моделей, основывающиеся на десятках достоверных показателей и сотнях исследованных факторов. Моя работа — это полуэмпирические модели. Их цель – в условиях неполноты информации дать прогноз – в какую сторону может начать развиваться ситуация, если фактор X увеличится, а фактор Y уменьшится. Такие модели, будучи достаточно грубыми, выводятся «из первых принципов» и позволяют понять тенденцию того или иного события.
Позволяют понять тенденцию – но не точную цифру. Отчего я настоятельно НЕ РЕКОМЕНДУЮ использовать мою упрощённую модель для написания новостей методом «вбил свежие показатели по родному городу, прогнозируемая смертность подросла на 2% — теперь мы все умрём!».
Как основу, я использовал классическую модель распространения эпидемии, внеся в неё несколько факторов и допущений, специфических для COVID-19. Ниже я более подробно расскажу о модели, потом прокомментирую результаты (слово «прогнозы» тут будет слишком смелым), а после уже будут выводы. Если технические подробности Вам не особенно интересны — смело листайте до раздела 2.
1. Принципы и допущения
Некоторое количество использованных мною цифр и показателей крайне условны, а сама модель упрощена. Можете взять исходник моей программы и внести любые изменения для самостоятельной проверки Ваших собственных гипотез.
Модель рассматривает один город, где на момент начала проживает абсолютно здоровая популяция. Источником заражения являются возвращающиеся в город с некоторой частотой из-за границы жители, переносящие короновирус в стадии инкубационного периода.
В моей модели, у заболевания есть три стадии:
- Начальная — бессимптомный инкубационный период («пассивно» болеющие),
- Активная — с явным проявлением симптомов («активно» болеющие),
- Терминальная — симптомы проявляются активно, больной имеет риск погибнуть, если ему не окажут помощи.
Переход из начальной стадии в активную, а из активной в терминальную происходит с некоторой заданной вероятностью – причём также есть и вероятность (небольшая) самостоятельного выздоровления на любой из стадий. В моей модели, «активным» больным считается тот, кто имеет явно выраженные симптомы, но продолжает ходить по своим делам — в то время как «пассивный» больной или не наблюдает их, или тихо-мирно сидит дома «с простудой».
Заражение происходит случайным образом, причём его механизм довольно хитро устроен. На каждом из тактов симуляции, любой из больных имеет по две проверки на заражение ещё одного человека (условно — в транспорте и на работе/учёбе). У активных и терминальных больных вероятность заразить кого-либо одинакова и довольно высока, у «пассивных» – низка.
В вероятность заразить случайного человека вносит вклад и окружающая городская среда — высокая плотность населения, высокая социальная активность, а также зарождающаяся паника повышают её. У жителей города есть социальная жизнь, активность которой случайным образом неравномерна; многие, думаю, замечали, что в одни дни подошедший с утра автобус забит битком, в иные — есть свободные места. Карантинные меры, соответственно, понижают социальную активность.
Ах, да, паника. Ажиотаж, очереди, забитые магазины. Тут всё просто — к заданному дню она линейно возрастает до указанной величины, а потом с той же скоростью линейно убывает. Впрочем, её вклад не слишком значителен.
Источник: Reuters
Городские службы тоже не дремлют. Каждый такт, все «терминально» больные безусловно отправляются по госпиталям (если для них есть место) — считается, что в этом состоянии их уже не надо искать.
Некоторый процент остальных больных (в первую очередь, «активных») отыскивают случайным образом – и они тоже отправляется в больницы. Если в больницах места уже нет, то такой больной переводится в состояние «пассивного» — сажается дома со строгим наказом минимизировать общение, отчего становится менее заразен для окружающих.
В больнице каждый из больных имеет (по одному на такт симуляции) шансу выздороветь и умереть. Меры по диагностике и лечению, соответственно, изменяют эти цифры.
Вылеченный в больнице или вылечившийся сам снова попадает в общий пул здоровых жителей города — поскольку для короновируса характерно (по последним новостям) отсутствие вырабатывающегося иммунитета, то возможно и повторное заражение.
Симуляция происходит с тактом в 12 часов — на каждый день приходится по два такта симуляции, условно соответствующие утреннему и вечернему состояниям города.
- Если границы не закрыты — в город возвращается несколько заражённых граждан.
- Каждый пациент в больнице случайным образом выздоравливает, умирает, или продолжает лечение. Также, погибают некоторые «терминальные» больные, которым помощь не оказали.
- У находящихся вне больницы заражённых без симптомов, вирус с некоторой долей вероятности переходит из «пассивной» в «активную» стадию.
- Производится две проверки, не заразился ли кто-нибудь от инфицированных вне больницы. Поскольку на один такт проверок идёт две, то показатель социальной активности (и, соответственно, заразности среды) определяется дважды.
- Забираются в больницы все возможные «терминальные» больные. Ищутся «активные и, если власти уже завезли тесты на вирус, то и «пассивные» больные. Все найденные больные помещаются в госпитали, а если мест там нет — сажаются по домам.
- «Активные» больные с некоторой вероятностью становятся «терминальными», и все больные проходят проверку на случайный шанс выздоровления.
Самая интересная часть — это меры, принимаемые властями для того, чтобы ликвидировать эпидемию. Возможных мер много, и можно попробовать много разных их сочетаний, или передвинуть применение меры на несколько дней раньше-позже, чтобы увидеть, как изменится картина заражения.
- Карантин для приезжающих — число появляющихся заражённых случайным образом уменьшено.
- Проверки температуры — введено повсеместное измерение температуры, что позволяет увеличить число обнаруженных активных больных.
- Перекрытие границ — заражённые снаружи больше не приезжают (или приезжают сразу в медучреждения).
- Ограничение массовых мероприятий — отдельно доступно закрытие школ и ВУЗов,
отдельно — отмена крупных концертов и событий с большим числом людей, и отдельно — закрытие кафе, музеев, клубов. Социальная активность снижается. - Дезинфекция — транспорт, подъезды, рабочие места, и, может быть, даже улицы начинают дезинфицировать. Падает общая заразность среды.
- Карантинные меры — ограничение передвижения жителей. Может быть введена остановка транспорта, может быть и полный карантин, когда все сидят дома. Сильно снижает социальную активность.
- Медицина — качество лечения в больницах. Изначально врачи не знают специфического лечения, поддерживая жизнь больных имеющимися средствами. Может быть введено интенсивное лечение, где врачи применяют широкий арсенал средств, пытаясь подобрать эффективное средство против болезни, или действенное, когда у врачей уже имеются рекомендации по лечению больных, и они применяют эффективные средства против заболевания. Увеличивает вероятность выздоровление в больницах.
- Увеличение числа койкомест — это число может быть увеличено вдвое, и даже вчетверо.
- Вирусные тесты — власти закупили вирусные тесты и начали тестирование граждан на заражение. Увеличивает вероятность обнаружения активных больных и даёт возможность обнаружить больных на «пассивной» стадии.
- Наличие вакцины — вакцина позволяет защитить граждан, уменьшая вероятность заражения.
2. Варианты развития ситуации
Вот мы и подошли к самому интересному. Ещё раз повторюсь — то, что показано ниже, носит качественный характер, а не количественный. Я не решаю задачи «сколько?» – только показываю, как может выглядеть ситуация.
Наша несложная модель готова — давайте промоделируем разные варианты. Для этого я предусмотрел набор пресетов во вкладке «Противодействие»:
А) «Worst-case scenario»
Меры отсутствуют. Это сценарий отрицания или игнорирования угрозы до последнего – который, к счастью, не сбылся почти нигде (на ум разве что приходят страны вроде Ирана). По крайней мере, Россия была наготове и его избежала.
ГИПОТЕЗА: Сценарий таков – новый вирус не приняли всерьёз. Про него никому и ничего не рассказали. Власти не предприняли никаких мер, люди спокойно заражаются, а в новостях тишина. Для этого снизим «Качество обнаружения заражённых» где-нибудь до 5%, а на вкладке «Противодействие» отключим все пункты. Если Вы хотите большей точности, то на вкладке «О программе» установите галочку «Точный режим» (да, я её неудачно запрятал). Графики в программе прокручиваются мышкой и приближаются колёсиком.
Результаты выглядят сокрушительно:
В течение первых нескольких дней заражение растёт лавинообразно, причём большинство из заражённых, вероятно, этого даже не обнаружит. А дальше вот он – тот самый ужасный экспоненциальный рост заражения, между 30-м и 60-м днями. Причём даже наращивание числа больниц тут не спасёт – большая часть популяции оказывается «пассивными» носителями. Число больных в «активной» стадии оказывается практически неизменным за счёт установившейся динамики – больницы лечат на пределах возможного, люди выздоравливают сами, кто-то переходит в терминальную стадию. Ситуация начинает здорово походить на сезонную эпидемию гриппа, когда кашляет и сопливится, кажется, почти каждый. Да вот только коронавирус совсем не грипп, излечившиеся не вырабатывают иммунитета и заболевают повторно.
Серьёзный рост смертности начинается с 60-го дня, и смертность пробивает границу в 1% от населения всего нашего маленького городка в день! Воистину, апокалиптический сценарий.
К счастью, этот сценарий вряд ли имеет шансы на развитие до длительности в 100 дней – хотя бы потому, что кто не спохватится, когда счёт смертей пойдёт на сотни? Такое, в долгосрочном периоде, возможно разве что где-то в культурном Средневековье, где болезнь считается карой небес, и ни власти, ни сами люди за такое время не начинают предпринимать АБСОЛЮТНО НИКАКИХ мер предосторожности, радостно продолжая устраивать концерты и ездить в переполненном метро.
ВЫВОД: Что интересно, даже тут не происходит картины, рисуемой воображением некоторых граждан – мгновенно вымирающих под ноль городов. Экспонента упирается в некоторый «потолок», заражать больше некого, и жертв становится довольно много — но ситуация стабильная.
ИНТЕРЕСНО: Что здесь, что дальше, число больных в инкубационном периоде растёт гораздо быстрее, чем число активно болеющих заражённых. Доходит до десятков невыявленных на одного выявленного больного. Кроме того, число «активных» больных постоянно уменьшается за счёт диагностики и госпитализации — в то время как число «пассивных» продолжает и продолжает прибавляться, если своевременно не лечить «активных».
ГИПОТЕЗА: А можно ли усмирить уже вырвавшуюся из-под контроля эпидемию? Пусть с 65-го дня в стране вводится полный карантин, закрыты границы, работает в 4 раза больше больниц, больных интенсивно лечат, а с 85-го уже и тесты завезут.
ВЫВОД: Да, результаты, если можно так сказать, положительные, но с подвохом. Смертность после введения всех этих мер падает крайне медленно (больницы-то все забиты, всех всё равно не вылечить), и упорно держится на высоком уровне. Ситуацию может в этом случае спасти разве что вакцинация. Так что, если вовремя не перехватить – то потом, даже при больших усилиях, поправить ситуацию сложно.
Б) Сценарий «поздно спохватились»
Скорее всего, нечто вроде такого сейчас и разворачивается в Италии. Начало распространения вируса проглядели, а потом, как спохватились – применили всё и сразу, но заражённых было уже порядочно.
ГИПОТЕЗА: Меры таковы:
- Карантин для приезжих ввели через 20 дней после начала, ещё через десяток – полностью закрыли границы.
- Спустя две недели закрылись школы, а вскоре оборудовали больше мест в больницах, чтобы справляться с потоком заражённых.
- После (на 55-й день) объявили полный карантин.
- На 80-й подвезли вирусные тесты.
Зададим время моделирования в 120 дней, чтобы видеть «хвост» эпидемии:
Обратите внимание, что численность населения на графике «Динамика заболевания» даже вроде как «подросла» в конце – это вернулись в общий пул жители, находившиеся в больницах.
ВЫВОД: Радует то, что экспоненциального роста здесь нет – его как раз успевают перехватить в самом начале, до тех пор, пока процесс заражения ещё не вышел из-под контроля:
Как видно, у графика две интересные точки – в районе 55-го дня и в районе 80-го. До введения карантина, вирус эффективно остановить не удавалось, и в худшие дни погибало до 0.1% населения. После введения карантина, заражённые понемногу переходили в «активную» стадию, обнаруживались и вылечивались – так что за весь период эпидемии умерло 0.5% от населения городка, а эпидемия была полностью задавлена. Если же карантин ввести позднее дней на пять, то смертность вырастет уже вдвое.
ГИПОТЕЗА: А если антивирусные тесты так и не завезут? Смотрим:
График естественным образом лишился второго пика, смертность выросла на 25%, а эпидемия… растянулась. Теперь за 120 дней конец ещё не наступил.
ВЫВОД: Это свидетельствует в пользу крайней необходимости тестов в этой ситуации!
В) Оптимальные меры
Принятие своевременных мер, но без лишней суровости и тяжёлых ударов по экономике. Вероятно, наиболее оптимальный в нынешней ситуации для большинства стран – в том числе так поступает и Россия.
ГИПОТЕЗА: Власти не собираются помещать наш город «под колпак», довольно неохотно закрывают всё, и без промедления прибегают к необходимым мерам. И этот сценарий преподнёс больше всего сюрпризов:
Число заражённых совсем мало, число погибших можно посчитать по пальцам. Хороший сценарий, не слишком сильно бьющий по экономике – закрыты многие заведения, но транспорт ходит, и люди работают. Интересно то, что закрытие границ, откуда продолжают приезжать новые больные, при этом особой роли не играет. Я был поражён, когда узнал, что хоть так, что этак, но в худшие дни ходит заражёнными примерно 0.5% всех жителей.
ВЫВОД: То есть, в городе заразится каждый двухсотый – и ничего, при правильных мерах это не вызывает ужасных последствий. Нет эпидемии, город не вымирает, больницы стоят пустыми. При верной организации дел, короновирус должен спокойно уйти в «фон», поддерживаясь (в рамках моей модели) притоком заражённых из других стран.
ГИПОТЕЗА: А что, если тесты и вакцина у нас вообще не появятся, и границы не закроются?
ВЫВОД: Тот же фон, но похуже. Число случаев остаётся заметным, но пока идёт борьба – всё под контролем. Разрушительной вспышки нет.
Г) Самые жёсткие меры
Для перестраховки – может быть «закроем всё»? Давайте введём все разумные меры почти сразу, как услышим о вирусе, а все строгие – чуть позднее. Ещё немного, и перестанут ходить автобусы, а вскоре и всех посадим по домам.
ГИПОТЕЗА: Удастся ли спасти больше человеческих жизней путём полного карантина, вводимого раньше, чем вирус начнёт серьёзно гулять по популяции?
ВЫВОД: И правда, мы добились немного меньшей смертности – на несколько десятков человек. Путём полной остановки экономики. При этом, всё равно не избавились за 100 дней от последних заражений – то тут, то там проскакивает человек, больной вирусом. И это при тестах и вакцине!
Выводы
На основании всех моих расчётов, можно заключить следующее:
А) Принимаемые в нашей стране меры эффективны. То, что делается – не паническая суета с попытками сделать хоть как-то и хоть что-то. Если я правильно рассчитал, то эпидемия, в рамках данного набора мер, будет сдержана в довольно жёстких границах где-то в течение месяца. Возможно, меры надо будет поддержать немного подольше – например, до лета, где и вакцина подоспеет. Отлично.
Б) От COVID-19 мы уже вряд ли избавимся так, как, к примеру, избавились от Эболы. То, что говорят сейчас известные микробиологи — вполне находит подтверждение в моей модели. Вирус пойдёт «в народ» и станет тем, чем стали для нас неприятные болезни вроде полиомиелита – опасным, но редким заболеванием. Плюс, говорят, что вирус может мутировать – но про это я ничего сказать не могу, моё дело – математика.
В) Вокруг нас уже может находиться энное количество заражённых, не знающих об этом. Это число вырастет со временем, и будет поддерживаться не ниже определённого уровня – по крайней мере, некоторое время. Цифра «каждый двухсотый» кажется мне несколько завышенной. Соотношение «один обнаруженный заболевший к десяти не обнаруженным» — также кажется мне переоценённым.
Но учитывайте, что заражённым может оказаться практически кто угодно (в том числе и Вы сами, перенося вирус на ногах) – и даже не узнать об этом. Принимая во внимание пункт Б, прятаться и пережидать бесполезно – просто берегите тех, кто в группе риска, особенно старательно!
Тем не менее, держите паранойю в узде.
Г) Вероятнее всего, «Итальянский вариант» мы уже проскочили. Честь и хвала оперативной реакции разных служб. И, если что-нибудь не пойдёт очень не так – то введение полного карантина и остановка транспорта нам не понадобятся.
В целом, подводя итог, могу сказать, что расчёт скорее обнадёживает. Полностью от вируса мы не избавимся даже самыми жёсткими мерами — но можем вполне успешно свести число случаев к единицам в месяц. Паниковать поводов нет, но сейчас надо сохранять внимание и сосредоточенность. Победа над вирусом достигается серией осторожных и последовательных мер.
Не болейте!