Мне интересно, как индекс самоизоляции «Яндекса» соотносится с индексом активности городов того же «Яндекса». Как пишет «Яндекс»: «Самоизоляция — одна из главных мер в борьбе с эпидемией коронавируса. Чтобы представлять, насколько хорошо россияне справляются с этой задачей, мы придумали считать балл, который показывает уровень самоизоляции в разных городах. Для этого мы сравниваем уровень городской активности сейчас и в обычный день до эпидемии. Если он такой же, как в час пик обычного будня, значит, уровень самоизоляции низкий, 0 баллов, и это плохо. Если в городе тихо, как ночью, — это 5 баллов. Чем выше балл, тем сложнее вирусу распространяться». Индекс самоизоляции рассчитывается для многих городов России и для некоторых городов ближнего зарубежья. До недавнего времени можно было найти данные по индексу самоизоляции за все дни по этой ссылке. Теперь на этой странице остался только индекс активности городов мира и данные о распространении коронавируса, а инфа по индексу самоизоляции за все дни осталась здесь и здесь.

Лично для меня это изменение создало дополнительные неудобства: на компе у меня не отображаются данные по этим двум ссылкам. Они отображаются на смартфоне, но так не удобно работать. Это, вообще, замечательно, что «Яндекс» разработал индекс самоизоляции и публикует по нему данные! Но почему так неудобно скачивать эти данные?! (причем теперь стало еще неудобнее, чем несколько дней назад). Вот сейчас я скачал данные открытой статистики Apple: просто скачал файл csv, который потом очень легко конвертировать в файл в формате Excel с очень удобной для пользования таблицей. Почему «Яндекс» не может так сделать?

Впрочем, завтра попробую поработать с этими данными со смартфона, может быть, и получится. А пока вернусь к вопросу о связи между индексом самоизоляции и индексом активности городов.

Как сказано «Яндексом» здесь, «мы анализируем данные об уровне активности в 42 городах мира и строим графики, которые показывают, как меняется ситуация. 0% — наименьший уровень активности, какой наблюдался в городе после начала распространения вируса. 100% — уровень активности в самый оживленный будний день февраля-марта. Для расчетов используются данные сервисов Яндекса, открытая статистика Apple о количестве передвижений пользователей, а также данные компании Otonomo, которая агрегирует данные об автомобильном трафике в разных городах мира».

Из сказанного следует, что при индексе самоизоляции 5 активность на улицах городов оказывается минимальной, то есть порядка 0; а при индексе самоизоляции 0 активность максимальна, то есть порядка 100%. Предположим, что y=a×x+b – это функция, характеризующая зависимость уровня активности на улицах (y) от индекса самоизоляции (x). Согласно нашему предположению, график этой функции проходит через две точки: (x=0; y=100) и (x=5; y=0). Если так, то для того, чтобы рассчитать a и b, достаточно решить систему двух линейных уравнений:

100=a×0+b;
0=a×5+b.

Получим: a=−b/5; 100=b; a=−100/5=−20.

Таким образом получаем, что искомое уравнение имеет вид:

y=-20×x+100.

Следует, однако, отметить, что параметры этого уравнения я рассчитал, исходя из весьма произвольных допущений. Поэтому лучше проверить эти параметры эмпирически. Для этого я рассмотрел данные по пяти городам, для которых у «Яндекса» есть информация по обоим индексам: Москва, Санкт-Петербург, Ереван, Минск и Нур-Султан. Результаты расчетов приведены на рисунках, прикрепленных к данному посту. Но на всякий случай выпишу сюда получившиеся уравнения (в скобках при каждом параметре уравнения регрессии приведены соответствующие данным параметрам среднеквадратические отклонения; R^2 – коэффициент детерминации; σ – среднеквадратическое отклонение для уравнения регрессии):

Москва (23.02.2020–06.06.2020): y=−25,8214(0,0771)×x+105,8342(0,2028); R^2=0,9991; σ=0,8666;
Санкт-Петербург (23.02.2020–06.06.2020): y=−28,1407(0,0999)×x+110,0619(0,2373); R^2=0,9988; σ=1,0153;
Ереван (02.03.2020–06.06.2020): y=−29,9132(0,1231)×x+131,6728(0,3602); R^2=0,9984; σ=0,9563;
Минск (02.03.2020–06.06.2020): y=−29,5636(0,1167)×x+116,8623(0,2504); R^2=0,9985; σ=1,0402;
Нур-Султан (02.03.2020–06.06.2020): y=−27,3734(0,085311)×x+112,588(0,21949) ); R^2=0,9991; σ=0,9001;
Все пять городов: y=−26,5878(0,2598)×x+111,5562(0,6603); R^2=0,9545; σ=5,932.

Как видно из этих уравнений (да и из графиков тоже видно), параметры заметно отличаются от «−20» и «100». И судя по среднеквадратическим отклонениям при коэффициентах уравнений регрессии, эти различия объясняются не случайными отклонениями, а имеют фундаментальный характер. Да, для каждого отдельно рассматриваемого города точки ложатся почти на идеальную прямую. Но для всех пяти городов никакой идеальной прямой не получается: для каждого города прямая своя. И если прямые для Москвы, Санкт-Петербурга, Минска и Нур-Султана довольно близки друг к другу, то прямая для Еревана отстоит довольно-таки далеко от четырех остальных. Иными словами, не существует дефиниционного или квазидефиниционного уравнения, которое связывало бы между собой индекс самоизоляции «Яндекса» и индекс активности на улицах городов от того же «Яндекса». А поскольку мы не знаем значений этих индексов для каждого города мира, то у нас нет возможности как-то свободно переводить один индекс в другой.

Максимум, что можно сделать, это, например, зная индекс самоизоляции, рассчитать некую условную величину, принимающую значения от 0 до 100. Рассчитать ее можно либо по уже упоминавшейся чисто теоретической формуле y=−20×x+100, либо можно использовать эмпирически полученную обобщенную формулу. Например, такую: : y=МИН(МАКС(−26,5878×x+111,5562;0);100).

Может быть, кому-то полученные мной формулы пригодятся для анализа. Хотя сделал я это все не из праздного любопытства. Мне интересно, как можно переводить яндексовский индекс самоизоляции в величину, принимающую значения от 0 до 100% (или от 0 до 1). Хочется располагать не какой-то громоздкой моделью, а просто рассчитываемым индикатором, который позволил бы без особого труда оценивать, насколько адекватна степень жесткости карантина, каков должен быть эффект от предпринимаемых мер. Возможно, для такой оценки удобнее использовать величину, исчисляемую в процентах.

Я не специалист по модели SIR, и боюсь, что эта модель несколько сложнее, чем то, что я смог бы без особого труда набрать в виде вычислительных таблиц на своем компе. Но из этой модели выводятся некоторые очень простые (и вроде бы эмпирически подтвержденные на материале других эпидемий) следствия. Например, в своём интервью СПИД.центру Миша Тамм так рассказал об этих следствиях: «Есть модель SIR: Susceptible — Infected — Recovered, которой уже почти 100 лет, от этой концепции и надо отталкиваться в размышлениях. Существует понятие базовое репродуктивное число (R) — сколько человек в среднем заражает один заболевший, когда ни у кого нет иммунитета к болезни. Теория говорит: эпидемия начинает подавляться, когда у вас доля людей с приобретенным иммунитетом в популяции превысит 1−1/R. Например, если вы заражаете двух человек, то нужно 50% проиммунизированых (1−½) , если четырех — 75% (1−¼), если 10 — то 90%. Мы знаем, что у кори высокое базовое репродуктивное число и, чтобы не было эпидемии, нужен очень высокий уровень вакцинации. Даже когда он опускается ниже 90%, начинаются вспышки, что мы видим в последние годы».

Предположим, что R_0 – это базовое репродуктивное число до введения карантина. Предположим, далее, что C – это степень жесткости карантина, измеряемая в процентах от 0 до 100 (где 0 – это отсутствие карантина; 100 – это предельно жесткий карантин). Тогда правильно ли я понимаю, что доля переболевших, при которой эпидемия начинает подавляться, должна составить 1−1/(R_0*(1−C/100))? Если да, то тогда посмотрим на результат для Москвы. R_0 там составляет 3 (как сообщает Тамм в упоминавшемся выше интервью: «До принятия карантинных мер в Москве базовое репродуктивное число было около трех»). Данные о первых заразившихся в Москве появились 2 марта. Среднее арифметическое значение индекса активности на улицах для Москвы (по данным «Яндекса») со 2 марта по 6 июня составило 41,84. Тогда, получим: 1−1/(3*(41,84/100))=0,2033. То есть 20,33% москвичей придется переболеть для того, чтобы эпидемия в Москве (при сохранении того режима карантина, который наблюдался между 2 марта и 6 июня) прекратилась.

Теперь я применю другой метод оценки степени жесткости карантина. Среднее арифметическое значение индекса самоизоляции в Москве (по данным «Яндекса») со 2 марта по 6 июня составило 2,48. Применим нашу «теоретическую» формулу для расчета индекса активности на улицах городов: y=−20×2,48+100=50,4. Тогда получим: 1−1/(3×(50,4/100))=0,3386. То есть переболеть придется 33,86% жителей Москвы даже при сохранении карантина.

На данный момент сложно сказать, сколько реально переболело жителей Москвы. По предварительной оценке Татьяны Михайловой (см., например, здесь), в Москве уже могли переболеть порядка 8,5% жителей. Если учесть, что эта оценка датирована 30 мая, то сейчас – 7 июня, может быть уже немного больше. То есть, глядя на оценку числа тех, кому еще предстоит переболеть (20,33% или 33,86%), возникает ощущение, как будто далеко не все еще закончилось даже для Москвы. Хотя, с другой стороны, для Москвы пик эпидемии, по всей видимости, уже пройден. Это означает, наверное, что оценка 8,5% ближе к половине от числа тех москвичей, которые переболеют. То есть оценка числа тех, кому предстоит переболеть, в 20% от числа жителей Москвы как будто более похожа на правду. Не означает ли это, что яндексовский индекс активности на улицах городов является более адекватной оценкой, чем то, что получается по моей «теоретической» формуле (y=−20×x+100)? И не означает ли это, что для оценки степени жесткости карантина лучше использовать эмпирически рассчитанную выше формулу (y=МИН(МАКС(−26,5878×x+111,5562;0);100); ясно, что степень жесткости карантина оценивается как C=100-y)?

Все усложняется еще и тем, что зависимость распространения вируса от степени жесткости карантина, во-первых, стохастическая, во-вторых, многофакторная. Из-за этой стохастичности и многофакторности порождается множество загадок. Одна из них – Швеция. Как страна, которая вроде бы не вводила карантин, может показывать сравнительно неплохие результаты? Первых зараженных в Швеции выявили еще 1 января. Данные по индексу активности городов у «Яндекса» есть начиная с 17 февраля. Среднее значение индекса активности для Стокгольма с 17 февраля по 6 июня составляет 67,11. Предположим, что R_0 для Швеции такое же, как и для Москвы (скажем, 3%). Думаю, такое предположение допустимо: по многим параметрам Москва – типичный европейский город (Воронеж – нет, Москва, наверное, да). Далее предположим, что по всей Швеции индекс активности городов примерно такой же, как в Стокгольме. Получаем: 1−1/(3×(67,11/100))=0,4967. То есть 49,67% от общей численности населения должны переболеть. Далее предположим, что смертность от ковида среди зараженных в развитых странах составляет порядка 1% (долго объяснять, но это значение, по-видимому, наиболее правдоподобно). Численность населения Швеции составляет 10343036 человек. Итого получаем: 10343036×(49,67/100)×(1/100)=51373 человек. Однако в Швеции, по данным на 5 июня, умерли от коронавируса 4639 человек. Даже если умножим это число на 2, предполагая, что не всех умерших учли, а потом получившееся число умножим еще на 2, чтобы учесть тех, кто, возможно, еще умрет, то получим 18556. Это все равно в 2,74 раза меньше, чем 51 тыс. Можно допустить, что шведы добились снижения смертности, например, в 1,5 раза благодаря хорошей системе здравоохранения. Все равно остается необъясненное превышение прогнозируемой смертности на 83%.

Можно выдвинуть множество гипотез, объясняющих этот феномен: 1. Возможно, в Швеции более строго соблюдаются масочный режим и социальное дистанцирование; 2. Возможно, самое худшее для Швеции еще впереди. Например, судя по динамике новых случаев, плато для Швеции затянулось. А в последние несколько дней вообще перестало быть похожим на плато (см. график, прикрепленный к файлу).

Можно привести еще много других загадок: почему, например, в Дагестане, при одном из самых высоких для России индексов самоизоляции, произошла коронавирусная катастрофа? Пока пандемия не закончилась, трудно найти ответы на все подобные вопросы. Через два года, наверное, большинство ответов уже будут известны. Но решения принимаются сейчас, и на многие вопросы уже хочется знать ответы.

Оригинал