Играем в эпидемиологов
Для того чтобы создать простейшую модель по распространению инфекции, нам потребуется немного математики и небольшой скрипт на python. Модель будет упрощенная, т.е. мы пропустим ряд параметров, влияющих на распространение болезни. Поэтому нельзя сказать, что реальная инфекция распространяется именно так, как на графиках ниже. Хотя некоторые тенденции все-таки будут прослеживаться.
Будем наблюдать за группой мышей, в которой доля привитых (вакциной против некого патогена) равна vасс_ratio. Допустим нам известно, что патоген распространяется по воздуху не дальше, чем на расстояние distination. И на расстоянии менее или равным distination заражает некоторый процент среди привитых мышек и некоторый процент среди непривитых. Особь продолжает выделять патоген еще некоторое время после заражения – ill_durat, далее она становится безопасной для окружающих.
Импортирую необходимые библиотеки:
Задаю начальные условия:
Одна мышка — это точка на плоскости, имеющая координаты (x, y). Привитых мышек обозначим зеленым цветом, а непривитых - синим. Мышки время от времени перемещаются (меняют свои координаты). Первую точку мы заразим искусственно, и отметим красным цветом.
Создаем Dataframe наблюдений, содержащий идентификатор точки, временную метку, цвет, координаты точки и время заболевания.
Далее запустим цикл, который обновляет состояния на каждой итерации (одна итерация - одна единица времени) и сохраняет эти состояния в общей таблице.
Реализация функции change_color():
Осталось создать анимированные графики и сохранить их в формате gif.
Теперь, изменяя параметры vacc_ratio, vacc_infect_prb, not_vacc_infect_prb, distination, ill_durat можно наблюдать за охватом и скоростью распространения инфекции. Изменяя параметр vacc_ratio c 30% до 90%, я построила следующие графики:
Те же результаты, но в табличном виде (в абсолютных и относительных значениях):
В заключение, я не хотела углубляться в биологию, ведь модель условная и упрощенная, и вообще я не биолог. Однако, я могу обратить ваше внимание на бОльшую важность относительных значений перед абсолютными (см. последнюю строку таблицы). Так же можно заметить, как модель отражает эффект, называемый в эпидемиологии коллективным иммунитетом.