Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы

в 9:16, , рубрики: matplotlib, python, ВОЗ, Здоровье гика, коронавирус, Научно-популярное, пандемия, Социальные сети и сообщества

Изначально я не планировал публиковать здесь статью про коронавирус, аналитики на хабре уже более чем достаточно. Однако, читая разные местечковые форумы и соцсети, я с удивлением обнаружил сколько достаточно вредных мифов гуляет в сети, и что обычные люди, не специалисты, в это увы, верят. В итоге, после 10го ответа очередному юзеру на очередное сообщение «коронавирус не хуже гриппа», возникла идея создать FAQ на который можно просто давать ссылку, где бы понятным простым языком развенчивались наиболее популярные мифы.

КДПВ не будет, картинка с вирусом уже наверно и так всем надоела.

Статья рассчитана на широкую аудиторию, те кто всё это уже знают, могут не тратить свое время, вряд ли они найдут что-то новое. Я знаю, что многим не нравятся статьи формата «для чайников», но готов рискнуть. Тех кому интересно, приглашаю под кат. Как хабрабонус, в конце будет Python-код для желающих поэкспериментировать с графиками самостоятельно.

Итак, приступим. Еще раз повторюсь, все нижеприведенные вопросы я придумал не сам, они были собраны из разных форумов и соц.сетей.

Q1: Это же обычный грипп (на самом деле нет)

Коронавирус это не обычный грипп.

У него в два раза выше репродуктивное число R0 (1.3 против 2-2.5, он в среднем вдвое более заразен), в 4 раза дольше инкубационный период (4 против 14 дней) при котором человек может разносить заразу, в 10 раз выше процент госпитализации (2% против 19%), и где-то в 10 раз выше летальность. Каждый фактор по отдельности уже сам по себе неприятен, но объединяя всё это вместе, мы получаем достаточно убойную штуку, в прямом смысле этого слова.

Q2: А-а-а, мы все умрем, смертность 21% (на самом деле нет)

Не менее вредный миф чем предыдущий. Многие открывают www.worldometers.info/coronavirus и видят такую картину:

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы - 1

Цифра в 21% приводит в ужас неподготовленного обывателя. Однако, на самом деле, данная цифра не имеет ничего общего с летальностью от covid.

Рассмотрим простой пример. Допустим, заразилось вирусом 100 человек. Из них 50% переболело бессимптомно, вообще не пошли к врачу и в статистику не попали. Из оставшихся 50, 20 переболели в легкой форме, и им поставили диагноз ОРВИ. Другие 30 попали в больницу, из них 5 получили диагноз «пневмония», остальные 25 получили реальные тесты на covid. В итоге, из этих 25 допустим, 3 умерло. Результат: в официальную статистику worldometers попадет «22 выздоровело, 3 умерло, 12% смертей». Вопрос — какое отношение эти 12% имеют к реальной летальности от коронавируса? Правильно, никакое. Я вообще сомневаюсь, что у этой цифры есть какой-то физический смысл, это скорее показатель доступности тестов для населения в той или иной стране. А тестов кстати везде не хватает, не только в России, но и в США или UK ситуация аналогична.

Примерная летальность от Covid составляет по разным оценкам, 0.5-3%. Это тоже много, но никак не 21%. Более того, по статистике около 50% случаев проходят вообще в бессимптомной форме, а для человека 40-50 лет летальность составляет порядка 0.4%.

Q3: Смертность и летальность

Уже обсуждалось не раз, но множество людей до сих пор путает.

Смертность: количество смертей на 1000 человек населения в год. Используется скорее как показатель качества системы здравоохранения, типа «в Уганде от диареи умирает 10 человек в год», или «смертность от рака в Израиле ниже чем в России».

Летальность: отношение числа умерших к числу переболевших, именно этот параметр обычно и интересует большинство. Но и тут есть нюанс, т.к. точное число переболевших неизвестно, то точная летальность коронавируса пока неизвестна тоже, см. предыдущий пункт.

Q4: Зачем в России вводить карантин, если смертей так мало?

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

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы - 2

Из этого графика можно сделать два вывода:

  • Скорость роста числа заболевших примерно одинакова. Россия увы, не исключение.
  • Важный момент — график по вертикали логарифмический. Это значит что одна клетка соответствует увеличению в 10 раз — 100, 1000, 10000, 100000 и т.д. Действительно, любой желающий может зайти на covid.2gis.ru и убедиться, что в среднем число больных удваивается каждые 4 дня.

В итоге, ответ простой — карантин вводится для того, чтобы предотвратить будущие смерти, даже если сейчас их мало. И это по большому счету, определенная удача что в России/Украине/Беларуси можно учиться на чужих ошибках, а не на своих, т.к. эпидемия началась позже. Понятно, что 3 умерших за 2 недели в Петербурге от коронавируса, это «не внушает», но надо понимать, что если ничего не делать, то 3 легко превратится в 30, потом в 300 и т.д.

Q5: Карантин не работает

Это неверно. Во-первых, карантин не может не работать. Если мы уменьшаем число контактов, то и шансов распространиться у вируса тоже меньше, если конечно люди этот карантин соблюдают, а не едут компанией на шашлыки или к родственникам.

Во-вторых, важно иметь в виду, что результаты карантина видны не сразу, а через 2-3 недели. Это связано с инкубационным периодом, и с тем что тестируют обычно не сразу, а тех кто уже с ухудшением состояния попадает в больницу.

Посмотрим графики новых случаев в день по разным странам, где был введен карантин:

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы - 3

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы - 4

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы - 5

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

Q6: Когда карантин закончится?

По идее, тогда, когда число новых случаев в день будет стабильно падать. К сожалению, никакой удобной для просмотра инфографики на официальных российских сайтах мне не попадалось, так что проверять удобнее всего на www.worldometers.info/coronavirus/country/russia, параметр «Daily New Cases».

Но важно иметь в виду, что вакцину обещают не раньше чем через год, а реальное число переболевших пока что не более 1%, так что какие-то ограничения вероятно сохранятся надолго. Это важно, например при планировании бизнеса, связанного с массовыми мероприятиями.

Q7: Коронавирус был придуман в США/Израиле/России/etc

Это неверно. Геном коронавируса уже расшифрован, его происхождение из Китая сомнений не вызывает. Интерактивные данные можно посмотреть здесь: www.gisaid.org/epiflu-applications/next-hcov-19-app

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы - 6

Q8: Вирус давно с нами, им все уже переболели

Это к сожалению, неверно. Действительно, около 50% случаев covid по статистике проходят бессимптомно, а 80% не требуют госпитализации, и много таких случаев не тестировалось, но говорить о «коллективном иммунитете» пока не приходится. По оценкам английского Imperial College от 30 марта, примерное число инфицированных может колебаться от 15% в Испании, 9% в Италии до 3% во Франции или 0.5% в Норвегии:

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы - 7

По России таких оценок найти не удалось, но вряд ли они кардинально отличаются.

Исходные данные

CSV-файлы для самостоятельного анализа можно взять из репозитория COVID-19 github-аккаунта университета Джона Хопкинса: github.com/CSSEGISandData/COVID-19.

Для желающих поэкспериментировать, исходный код под спойлером.

Код для Python 3.7

import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import FormatStrFormatter, StrMethodFormatter, ScalarFormatter, FuncFormatter

# Load the dataset.
# Source https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv
df = pd.read_csv('covid19_confirmed_global.csv')
# print(df)

def get_data(country: str):
    df_ = df.loc[(df['Country/Region'] == country) & (df['Province/State'].isnull())]
    df_data = df_.loc[:, '1/22/20':'4/4/20']
    values = df_data.values.tolist()[0]
    new_cases = df_data.diff(axis=1).values.tolist()[0][1:]

    # Shift data to axis beginning
    treshold = 20
    start_index = values.index(next(filter(lambda x: x >= treshold, values)))
    return values[start_index:], new_cases[start_index:]


values_rus, values_rus_daily = get_data('Russia')
values_ita, values_ita_daily = get_data('Italy')
values_uk, values_uk_daily = get_data('United Kingdom')
values_ger, values_ger_daily = get_data('Germany')
values_spa, values_spa_daily = get_data('Spain')
values_fin, values_fin_daily = get_data('Finland')

fig, ax = plt.subplots()
fig.set_size_inches(12, 5)

# Draw
total_cases, new_cases = True, False

# 1. Total cases
if total_cases:
    ax.semilogy()
    ax.get_yaxis().set_major_formatter(ScalarFormatter())
    ax.plot(values_rus, label='Россия')
    ax.plot(values_ita, label='Италия')
    ax.plot(values_uk, label='Англия')
    ax.plot(values_ger, label='Германия')
    ax.plot(values_spa, label='Испания')
    ax.plot(values_fin, label='Финляндия')
    plt.xlabel('Дни')
    plt.ylabel('Общее число случаев')

# Daily new cases
if new_cases:
    fig.set_size_inches(12, 5)
    plt.grid(False)
    ax.bar(range(len(values_rus_daily)), values_rus_daily, width=0.6, label='Россия')
    # ax.bar(range(len(values_ita_daily)), values_ita_daily, width=0.9, label='Италия')
    # ax.bar(range(len(values_spa_daily)), values_spa_daily, width=0.9, label='Испания')
    # ax.bar(range(len(values_uk_daily)), values_uk_daily, width=0.7, label='Англия')
    # ax.bar(range(len(values_ger_daily)), values_ger_daily, width=0.8, label='Германия')
    plt.xlabel('Дни')
    plt.ylabel('Случаи в день')

plt.legend(loc='upper left')
plt.show()

Заключение

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

PS: И напоследок, в комментариях попросили «не нагнетать», так что добавлю немного позитива. По параметру «количества смертей на миллион» Россия на данный момент имеет весьма хорошие показатели (0.3, для сравнения со 124 во Франции или 73 в Англии), да и карантин здесь был введен раньше чем в других странах. Так что есть достаточно высокая вероятность, что в России эту эпидемию действительно удастся пройти вообще без каких-либо существенных потерь.

Автор: DmitrySpb79

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js