Эпидемия
Эпидемия
Автор — Кевин Симлер, перевод — журнал «Код»
16 марта 2020 г.
От редакции «Кода». Проект Кевина Симлера очень своевременный, к тому же интересно сделан. Мы решили рискнуть и перевести его, сохраняя функциональность и оформление его статьи, чтобы наши русскоязычные читатели тоже могли увидеть мощь симуляции.
Далее текст Кевина.
Недавно в «Вашингтон Пост» вышла очень хорошо сделанная симуляция распространения вируса COVID-19. Автор — Гарри Стивенс. Если вдруг ещё не видели, горячо рекомендую.
В этом проекте я покажу, над чем работал сам: интерактивную симуляцию распространения какой-либо болезни. «Интерактивная» — то есть можно настраивать разные параметры и смотреть на результат эпидемии. Например, можно менять скорость распространения и смертность и видеть, как это влияет на темпы и объёмы заражения.
Моя цель — чтобы вы смогли самостоятельно почувствовать, что в наибольшей степени влияет на заражение. Но сначала пару слов предыстории.
ВАЖНО:
Это абсолютно точно не попытка симулировать коронавирус.
Это лишь упрощённая модель распространения заражения. Цель — показать, как происходит заражение в целом.
И ЕЩЁ: Я ни в коем случае не считаю себя ни врачом, ни эпидемиологом. Наверняка здесь есть смысловые ошибки касательно вирусов и эпидемий, и как только я о них узнаю, я буду их исправлять. Если вы заметили неточность или ошибку, пишите мне.
Ну что...
Погнали.
Сеть людей
Мы пойдём поэтапно, от простого к сложному.
Для начала эпидемии нужны люди — те, кто может заразиться вирусом. У нас люди будут аккуратно жить в ячейках 9×9:
Один квадрат — один человек. Красный бедняга в центре, понятное дело,
Заражены
. Все остальные Восприимчивы
.Время
Добавим в симуляцию фактор времени.
Внизу есть кнопка Шаг. С каждым кликом она заставляет симуляцию проиграться за один день. Или можно нажать плей ▷ — и всё будет происходить само.
Тэкс. Похоже, все расчихались друг на друга во всех направлениях, все заболели.
Излечение
Люди со временем излечиваются. Предположим, через два шага симуляции (то есть через два дня) люди поправляются:
Добро. Теперь люди переходят из состояния
Заражены
в состояние Выздоровели
.- Восприимчив
- Заражен
- Вылечен
В рамках этой модели, как только кто-то
Выздоровели
, он уже не заражается. Вероятно, похожая ситуация с коронавирусом, но это неточно.Инкубационный период
Вы наверняка слышали, что у коронавируса длинный инкубационный период. Это промежуток между тем, когда человек заражается, и тем, когда проявляются первые симптомы.
В случае с коронавирусом, судя по информации из СМИ, во время инкубационного периода человек может заражать других. То есть ты сам ещё не знаешь, что болен, но уже распространяешь заразу на других.
Воспроизведём похожую ситуацию в нашей модели. Помните, что это не точное воспроизведение поведения коронавируса, а лишь усреднённая модель заражения!
Вот как будет выглядеть инкубационный период:
С точки зрения вируса в моей модели, нет принципиальной разницы между розовым и красным состоянием в модели — поведение одинаковое. То есть и розовый, и красный человек одинаково распространяют вирус. А что с ними происходит в процессе (кашляют они в данный момент или нет), для модели не принципиально.
Тем не менее мне было важно показать, что розовые «инкубационные» люди находятся среди нас, невидимые для официальной статистики...
... и не понимающие, что они тоже разносят вирус.
- Восприимчив
- Переносчик (инкубационный период, без симптомов)
- Заражён (есть симптомы)
- Вылечен
Заражение с заданной вероятностью
Но довольно!
В реальной жизни инфекции распространяются не со стопроцентной эффективностью. Есть некий шанс заражения, и он не 100%.
Введём новую переменную: вероятность заражения. Она показывает, в скольких процентах случаев инфекция передаётся при контакте.
Можете ли в симуляции ниже нащупать такую вероятность, чтобы болезнь не выкосила всех?
Вопрос: При какой наибольшей вероятности заражения болезнь не может заразить всех на этом поле?
По моему опыту, нужна вероятность распространения где-то в районе 0.35 или 0.34. Если вероятность ниже, то никакой эпидемии не будет. Если выше, то все всех рано или поздно заразят.
Вот как работает передача вируса в нашей модели.
Каждый день каждый человек имеет какое-то конечное число взаимодействий с людьми, которые находятся рядом.
Пока что мы даём каждому человеку взаимодействовать лишь с четырьмя ближайшими соседями. Но ниже мы это изменим.
При каждом таком взаимодействии мы считаем, исходя из вероятности, передалась болезнь или нет. Чем выше вероятность передачи, тем чаще болезнь передаётся.
Понятно, что в жизни вероятности могут быть очень разными: где-то рядом с тобой чихнули в автобусе; где-то ты поздоровался за руку; где-то обнялся; где-то потрогал лицо, не помыв руки после контакта с заражённым человеком. Во всех этих случаях вероятность распространения будет разной. Но в нашей модели, чтобы не сойти с ума, мы всё усреднили до одной переменной.
——
Когда будете работать с этой моделью в приложении к коронавирусу, не забывайте вот о чём:
Вероятность заражения — это проявление двух вещей: насколько заразна сама болезнь и в какой среде она развивается. Грубо говоря, насколько люди часто контактируют друг с другом, какова влажность воздуха, какие у людей контакты, насколько тесно они живут и т. д.
Например, если люди постоянно моют руки, то вероятность заражения падает. Хотя биологически вирус остаётся тем же.
Говоря о распространении чего угодно вирусного, можно подобрать такой порог, после которого распространение подыхает. Это так называемый «критический порог», о нём я писал в своей статье.
Но в случае с коронавирусом как-то не получается снизить порог достаточно низко, чтобы всё заглохло. Нельзя же всё время стоять под краном и мыть руки.
В теории, конечно, можно было всем носить герметичные костюмы химзащиты и дышать строго через противогазы. И тогда можно было бы всем ходить на работу, ездить в метро и так далее. Но, понятное дело, в жизни так не бывает, поэтому нечего и воздух сотрясать.
Перемещения по городу, стране и миру
В нашей модели есть ещё одно допущение, которое не соответствует жизни. До сих пор мы говорили, что каждый человек взаимодействует лишь с ближайшими четырьмя соседями: сверху, снизу и по бокам. Но, понятное дело, в жизни не так.
А что если люди встречаются с теми, кто находится дальше по сетке? (Пока что всё ещё взаимодействуем с четырьмя людьми за день, но это мы поправим ниже.)
Добавляем слайдер подвижности: вы видите пример того, каких людей центральный человечек затронет за день. (Мы не можем нарисовать все взаимодействия, потому что ничего не будет понятно. Это просто для примера.) И тут снова упрощение модели: у нас каждый день человек встречается со случайными людьми на каком-то расстоянии от себя. А в жизни не так: мы чаще встречаемся с одними и теми же людьми.
И всё же смотрите: если ограничить фактор подвижности, то мы нехило так замедляем распространение вируса.
А что если сначала дать возможность всем перемещаться сколько угодно и только потом ограничить перемещения?
Иными словами, в какой момент эпидемии нам нужно ограничить подвижность людей, чтобы как-то повлиять на заражение?
Серьёзно, попробуйте подобрать такие значения. Начните с фактора подвижности в районе 25. Потом запустите симуляцию и доведите до 10% заражённых. А потом уменьшите фактор подвижности до 2 и смотрите, что происходит.
Вывод: с точки зрения модели, ограничивать подвижность людей нужно как можно раньше.
В жизни ограничения подвижности (то есть как и куда люди ездят) имеет смысл и на поздних стадиях заражения. Причины две:
- Автобусы, метро, аэропорты — это места, где скапливаются много людей. Много людей — это много новых взаимодействий.
- Ограничение поездок может быть необходимо, когда в одном регионе уже справились с заражением, а в других ещё эпидемия полным ходом.
Число контактов
Теперь вообще дадим полную свободу.
В следующей симуляции можно указывать число контактов между людьми (имеется в виду число контактов в день).
Начинаем с 20 контактов в день. Попробуйте найти максимальное число контактов, при котором болезнь не выкосит всех.
Очевидно, что именно число контактов в день максимально влияет на заражение. Чем меньше контактов в день, тем быстрее эпидемия задыхается.
Вот именно поэтому так важно поддерживать то, что сейчас называют «социальной дистанцией» или «самоизоляцией». Чем меньше людей сидят в кафе и ресторанах, чем меньше людей сидят в школах и офисах — тем быстрее заканчивается эпидемия.
Я не эксперт, но исходя из того, что я вижу в этой модели, нам сейчас важнее всего именно ограничить социальные контакты. Это самое важное.
Смертность
Не все пережили заражение, многие
Погибли
. Добавляем в нашу модель смертность.В нашей симуляции фактор смертности показывает, какая доля заражённых умрёт.
По коронавирусу смертность считают в районе 1—6%. Если считать вместе со случаями заражения, которые не попали в официальную статистику, то будет меньше 1%.
Мы начнём с фактора смертности в районе 3%. Вы можете настроить его ниже:
Чёрные точки на графике не то чтобы сильно пугали. Но помните, что каждая такая точка — это чья-то жизнь.
Больницы
И ещё один слайдер: он показывает вместимость больниц, то есть какой процент людей из всего населения может одновременно лечиться в больницах.
Почему это важно?
Потому что если заболевший человек не помещается в больнице, его вероятность выжить ниже, чем если бы он получил медицинскую помощь.
Я читал, что «вместимость» — это число коек. Но, по идее, койки можно поставить хоть в спортзале школы. Мне кажется (я не эксперт), что узкое место — это оборудование и медперсонал.
В жизни это узкое место имеет колоссальное значение. Понимая, например, что нам остро не хватает врачей и оборудования, нам нужно сделать всё, чтобы не нагружать и так перегруженную систему здравоохранения — то есть делать всё, чтобы не заболеть.
Вот как мы накрутим этот фактор в нашей модели:
Если у нас больше больных, чем мест в больницах, смертность удваивается.
Попробуйте на симуляции. Особо обратите внимание на входную смертность (то, что вы выставляете на слайдере). Эта смертность показывает лучший вариант — сколько людей умирает, если всем хватает коек. И дальше смотрите фактическую смертность — она показывает, как работает симуляция при перегруженной системе здравоохранения.
Сдержать волну
Вы всё это уже слышали и знаете — а теперь вы можете это прочувствовать.
Вот финальная симуляция
Входная смертность фиксирована — 3%. Система здравоохранения способна принять 5% населения.
Начните воспроизводить симуляцию, и вы увидите, что смертность мгновенно взлетает до 6%. И теперь попробуйте снизить это число. Иными словами, сдержите волну смертей:
К сожалению, жизнь намного сложнее, чем компьютерная симуляция. Нельзя просто потянуть ползунок, и чтобы люди такие «Окей, сидим дома».
И самое страшное — даже если вам удалось сбалансировать систему и вы сдержали волну, всё равно у вас будут миллионы трупов конкретно из-за эпидемии.
Может быть, смертей будет немного меньше. Может быть, очень немногие умрут в больничных коридорах. Но в любом случае если вирус будет распространяться с прежней скоростью, человечество ждёт очень много страданий.
Это если не принимать меры. А меры такие:
Сидите дома.
——
Лицензия
CC0 — можно использовать, редактировать, модифицировать эту статью как захотите.
Полная модель
В конце страницы приведена полная модель, в которой можно подвигать все ползунки и настроить все параметры.
Благодарности
Благодарю за поддержку, комментарии и критику: Ника Барру, Иэна Пэдхема, Диану Хуанг, Келли Джек, Брайана Нотона, Янира Бар-Яма, Адама Д'Анжело.
См. также
- Coronavirus: Why You Must Act Now — Томас Пуэйо объясняет, почему мы жестоко недооценили коронавирус.
- Don’t «Flatten the Curve,» Stop It! — Джоша Баш рассчитал, почему нужно не сдерживать эпидемию, а полностью её прервать
- Великолепная симуляция, которая вышла в «Вашингтон пост».
- Going Critical — моя предыдущая работа о вирусном распространении.
(Спасибо Джейсону Легату за предложение добавить эту модель.)
В следующей симуляции можно подкрутить фактор самоизоляции. Те, кто решат самоизолироваться, выводятся в модели синим цветом.
Ещё можно настроить строгость самоизоляции: от полного обнуления социальных контактов до полной свободы и вольности.
Модель начинается с параметрами самоизоляции и строгости в районе 25. Что нужно сделать, чтобы всех не выкосило?
Видно, что если пациенты самоизолируются при наступлении симптомов и если при этом они относятся к этому серьёзно, можно в существенной степени сократить жертвы. Но из-за того, что у вируса длинный инкубационный период, всё равно проблем много.
В большинстве случаев самоизоляция не делает большого вклада в оздоровление сама по себе. Это одна из множества мер, которые вместе дают снижение заболеваемости.