О математике и пандемиях

    Disclaimer 1

    Я математик, НЕ ВРАЧ и не являюсь профильным специалистом-эпидемиологом, а свою последнюю научную работу на тему матмоделирования эпидемий написал без малого 20 лет назад. По всем вопросам здоровья, коронавирусов и смысла жизни консультируйтесь с лечащим врачом, не будьте глупыми людьми.
    Disclaimer 2

    Ниже будет некоторое количество графиков. Перед их построением я умышленно декалибровал и упростил модель, отстроившись от параметров COVID-19. Приведенные графики демонстрируют развитие эпидемии некоторого условного вируса в некоторой условной популяции в условном времени. Не делайте предсказаний о ходе текущей пандемии, опираясь на мои картинки, не будьте глупыми людьми.
    Ну, а теперь — поехали! По понятным причинам, ныне изрядно подскочил интерес ко всякому пандемическому, и всевозможные математические и не очень математические модели бродят по соцсетям стаями. Число же эпидемиологов и специалистов по системам дифференциальных уравнений и вовсе превысило все мыслимые пределы. Тем не менее, во всем этом информационном буйстве странным образом обойдены молчанием перколяционные, они же стохастические имитационные, модели. Этот недостаток мы сейчас немедленно исправим. Кстати, впервые о подобных моделях (как и многом другом) я прочитал в замечательной книжке Гулда и Тобочника «Компьютерное моделирование в физике».

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


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

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


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

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

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

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

    Устроена перколяционная модель обманчиво просто. Для начала мы создаем общую компьютерную модель индивидуума, участвующего в эпидемии. Что-нибудь не слишком сложное: здоров, болен, выздоровел, умер и условия перехода между состояниями. На основе статистических данных об исследуемой популяции, каждый конкретный экземпляр случайным образом наделяется теми или иными характеристиками, à la возраст, пол (если это важно), крепость иммунитета и т.п. Наделав кучку таких конкретизированных экземпляров, мы размещаем их в вершинах некоторого графа, имитирующего социальные связи. После этого остается задать условия передачи инфекции между индивидуумами, заразить несколько первых счастливчиков и дать старт эпидемии.

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

    Довольно болтовни, к делу! Возьмем 16 миллионов пацаков и равномерно разместим на гиперсфере. Соседей соединим в граф каким-нибудь регулярным шаблоном. Это изрядное упрощение для социального графа, но мы, слава богу, не минздрав. Заразу будем распространять каждый день двумя путями. Во-первых, пацак на каждом шаге может с некоторой вероятностью заразиться от больных соседей. Во-вторых, с некоторой другой вероятностью, он может на каждом шаге заразиться от случайного пацака, не входящего в его окружение (эффект «общественного транспорта»). Ну и наконец, сама болезнь. Период бессимптомного носительства примем длиной 10 шагов, после чего пацак показывает симптомы и больше в распространении не участвует. Следующие 10 шагов он болеет, имея на каждом шаге некоторый шанс скопытиться. После этого он выздоравливает (если доживет, конечно) и приобретает стойкий иммунитет. Начальный посев примем 100 пацаков.

    При указанных условиях, получаем следующую картинку:



    Фиолетовым показан процент незараженных пацаков, желтым — заболевших, зеленым — выздоровевших, черным — сами понимаете.

    Посмотрим теперь на больных поближе:



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

    Теперь вернемся к первому графику и взглянем попристальней на начальную фазу эпидемии (легенда та же):



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



    решением которого является, вы жеж не поверите, экспонента. Такая штука много где в природе встречается, в частности, одним из ярчайших примеров, во всех смыслах, является неуправляемая цепная реакция. Потом, с ростом числа носителей, хялява для инфекционного агента заканчивается, но в рамках текущей пандемии, например, эта фаза еще не пройдена. Если вышеприведенное уравнение слегка усложнить и подкрутить, для учета исчерпаемости ресурсов для размножения, то мы получим классическое уравнение Ферхюльста (aka логистическое уравнение):



    краеугольный камень популяционной динамики. Если вы когда-нибудь слышали о r-стратегиях и K-стратегиях размножения, так вот это в честь коэффициентов из приведенного уравнения названо. Решения логистического уравнения на глаз совершенно неотличимы от графиков с первого рисунка (что не слишком-то удивительно), поэтому я их отдельно приводить не буду. К сожалению, уравнение Ферхюльста для наших задач является чрезмерным упрощением, поэтому мы с ним прощаемся и идем дальше.

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

    В том же масштабе времени:



    и



    Заметьте, в прошлом эксперименте эпидемия без «ограничительных мер» успела потухнуть, а здесь еще и даже до пика расти и расти.

    Взглянем на эпидемию целиком:



    Как видите, время эпидемии растянулось в немалые разы.

    Особенно важен пошаговый график:



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

    Возможно, на графиках не так хорошо заметно, но основной эффект в том, что после принятия мер экспоненциальный рост числа заболевших почти моментально сменяется степенным. Грубо на пальцах, это можно объяснить следующим образом: каждый новый заболевший становится сам источником заразы и начинает заражать всех вокруг (эдакий инфекционный принцип Гюйгенса). Но это «вокруг» ограниченно лишь немногочисленными незараженными соседями, которые заражаясь сами, передают инфекцию дальше. Таким образом, вокруг очага образуется «волновой фронт», который с некоторой постоянной скоростью расползается во все стороны (кто сказал «эйконал» —тот молодец), а число инфицированных —это объем «пространства», заметенный волновым фронтом, который (чистая геометрия) пропорционален некоторой степени пройденной фронтом дистанции.

    Ну и последний эксперимент на сегодня. Будем щедры к системе здравоохранения, но при этом добавим реализму. Пусть порог ее насыщения — одномоментно болеющие 10% популяции (это заведомо гораздо круче реальности) и пусть вероятность склеить ласты у пацака, которому не досталось койки, возрастает в 10 раз. Пусть, наконец, чатлане не озаботились каникулами для пацаков (обсчитывать такой сценарий для случая с каникулами смысла нет, у минздрава в указанной постановке в самый пиковый момент останется тройной запас прочности). Тогда получим:



    Точка насыщения достигается в районе 75 шага, как раз над буковкой i. Чтоб вы вдруг не подумали, что «минздрав не нужен», вот вам еще графики для случая, когда медицина не то, чтобы перенасытилась, а ее не было изначально (добро пожаловать в средневековье):



    Такие дела. Не болейте!

    Продолжение.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 30

      0
      А где одномоментно карантин и ограничение на койкоместа для сравнения?
        0
        обсчитывать такой сценарий для случая с каникулами смысла нет, у минздрава в указанной постановке в самый пиковый момент останется тройной запас прочности
        Там на графике посмотрите, в «карантинном» варианте пик «больничных» чуть чуть не доходит до 3%. При заявленном пороге насыщения в 10% проблем с койками не будет.
          0
          Тогда просто можно снизить порог до 1%, например. Наглядно показать разницу — есть она или не особо видна.

          А так, вообще, ещё сложнее надо делать модель: что процентов 10-20 не заболевают, что из заболевших 20% требуют койко-место и что последние имеют шансы допустим 33% умереть с койко-местом, и 66% без него. После чего сравнить вариант обычный и карантин.
          PS. А ещё: губозакаточную машинку)
            0
            Сдается мне, автор откопал свою старую работу на эту тему, и не может теперь свободно менять коэффициенты модели. А жаль, было бы интересно.
              +1
              Попробуйте перечитать Disclaimer 2 и подумать, почему и зачем он появился.
                0
                В дисклеймере автор сообщает, что в его модели «не те коэффициенты», что характерны для SARS-Cov-2, и соответственно, просит не принимать модель за прогноз именно этого вируса. А Вы что увидели в нем?

                Понятно, что автор выложил эту работу чтобы продемонстрировать закономерности, но если есть свободный доступ к настройкам модели, то почему бы не сделать ее похожей на актуальную проблему, хотя бы в той части, что уже известна?
      0
      Не очень понятно, принятые карантинные меры в модели продолжаются до конца эпидемии или какое-то определенное время?
        +2
        До победного. Но вообще да, надо бы посмотреть, какой эффект дают временные «каникулы». Как только сделаю, заапдейчу пост.
        +1
        И смертность в самом плохом варианте на уровне 65% — как-то маловероятно. Могу поверить в 10-15% при самом плохом сценарии (в Италии уже стремится к 10%). Но 65 — это явная страшилка. Цифра явно для «красоты» (как бы ужастно это не звучало, учитывая, что это за цифра) графика. Она портит впечатление о всей остальной работе.
        Как будто у вас каждый день есть условная вероятность 4% на летальный исход, а не накопленная.
          –1
          «Черная смерть» выкосила в Европе от трети до двух третей населения где-то — как раз без лечения. От испанки прикидывают, что 10-20% заболевших. У черной оспы до 40% смертность от заболевших была.
          Тут же не мат.модель конкретной болезни, тут просто поведения мат.модели при разных условиях. У текущего по сути вопрос про примерно 20% тяжелых, которые можно предполагать, что умрут, если не будет никакого лечения и поэтому стремятся не дать ему быстро заразить большой процент населения. Так что в модель нужно пихать намного больше коэффициентов и рандома, чтоб даже приблизить.
            +2
            aspid-crazy, автор изначально говорит, что цифры условны и с потолка. Тут абсолютно все цифры такие. Главное — понять поведение системы: вид графиков, управляемое превращение экспоненты в степенную функцию, как и на что влияют применяемые меры, почему они не профанация,… И я бы скорее обратил внимание не на «маловероятную» летальность, а на предел насыщения системы здравоохранения, о котором автор тоже говорит:
            Пусть порог ее насыщения — одномоментно болеющие 10% популяции (это заведомо гораздо круче реальности)...
              +1
              Перечитал дисклеймер №2. Согласен, автор предупреждал, а у меня, к концу статьи, это предупреждение вылетело из головы.
            0
            А если карантин проводить периодически? Набрали определенный процент от критической массы больных — карантин на неделю и повторяем. Есть слона по частям. Мне кажется карантин в самом начале смысла особо не имеет, если есть понимание, что болезнь не остановить, просто тянем время.
              0
              карантин в самом начале — это как раз таки сильная отсрочка. Ибо начало — это когда люди уже болеют, но симптомов еще не видно.
                –1

                По ходу быстрее всего просто начать вакцинацию сразу после первой стадии испытаний.

                  0

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

                    +1
                    Грубо говоря, вакцина от ковид будет доступна в районной поликлинике в районе лета 2021-го. Раньше ну вообще никак. Даже лето 21-го будет быстрейшей в истории человечества разработкой вакцины.
                    Саму по себе вакцину сделать просто, тем более что геном коронавируса уже расшифрован. Вся проблема в том, чтобы сделать Безопасную вакцину, которая не навредит больше, чем сам вирус. А для этого придётся тестировать на зверюшках, потом добровольцах, потом расширенных группах, что накладывает чёткие минимальные временные ограничения, чтобы вы ни делали. Как 9 рожениц не родят за месяц, так и тут — хоть в мире сейчас и трудятся порядка 20 команд над разработкой, но всё равно минимальный срок создания вакцины — март 2021-го. Значит обычный человек сможет придти и вакцинироваться примерно летом.
                  0
                  Модель не учитывает приобретенный иммунитет (вероятность заражения)?
                  Через какое-то время смертность должна снижаться, как и число заболевших.
                  На графиках нормировка на 100% начальной популяции, или перенормировка на каждом шаге на размер текущей популяции?
                    0
                    Разумеется, подразумевается, что выздоровевший приобретает стойкий иммунитет.
                  • НЛО прилетело и опубликовало эту надпись здесь
                      –1
                      Без мат. описания модели эти графики — просто картинки из рукава, прокомментированные некоторой злободневной лексикой.
                        –1
                        Графики с экспоненциальными и логистическими кривыми будут результатами очевидных математических зависимостей. Кому-то комиксов с комментариями про «чатлан-пацаков равномерно размещенных на гиперсфере» видимо вполне достаточно.
                        • НЛО прилетело и опубликовало эту надпись здесь
                            0
                            Я то как раз против пафоса.
                            Что бы увидеть в реальном графике зависимость нужно знать как она выглядит в идеале.
                            Даже сложно что-то ответить. Просто зависимость описывается не кривой графика, а уравнениями мат. модели. График есть. Пафос есть. Уравнений нет. Но кому-то первого достаточно чтоб проникнуться. Не пойму, почему констатация этого кого-то задела.
                            • НЛО прилетело и опубликовало эту надпись здесь
                                –1
                                x
                      • НЛО прилетело и опубликовало эту надпись здесь

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

                        Самое читаемое