Статистика для Москвы в сценарии «люди стараются сидеть по домам, нет авиасообщения» — к ноябрю модель показывает 5 миллионов переболевших. Это ограниченный прогноз на основе неполных данных, ниже будут детали. За ноль принято 22 марта.
В мире было создано несколько моделей распространения инфекции, но ни одна не подходила нормально для России, либо опиралась на плотность населения без правильного графа перемещений людей. Почему? Потому что либо он получается так сложно, что вы окосеете его согласовывать, либо его ни у кого в одном месте этого датасета просто нет.
Кроме нас.
Туту.ру с радостью делится данными с журналистами уже 16 лет (огромная часть новостей в духе «Заметен аномальный спрос на Анталию» — это нарезка наших информационных витрин). Но мы исторически никогда не раскрывали сами данные по перемещениям людей целыми блоками.
Мы собрали датасет передвижений людей по России за апрель 2019 и передали его в сообщество Open Data Science. Если вы их не знаете — это объединение преимущественно русских дата-сайнтистов (но со всего мира), которое перерабатывает открытые данные на полезные модели. Некоммерчески.
Ниже выводы, таблица с прогнозом по каждому крупному городу, сам датасет (если вы хотите попробовать с ним что-то сделать). Про то, как работает модель и какая математика и ограничения лежат внутри, расскажет ODS через пару часов. И выложит исходники.
Датасет
Это то, как люди путешествовали по стране за прошлый апрель-2019 (с некоторыми погрешностями). Датасет представляет собой набор векторов от города к городу (первый указанный город — откуда, второй — куда), вид транспорта и число пассажиров, восстановленное до 100%. Датасет представляет собой статистические обезличенные данные, касающиеся групп людей.
Вот визуализация сета. За неё ещё раз спасибо Safronov.
Ограничения данных: автобусы — самая неточная часть датасета. Мы не можем точно знать, сколько людей проехало на автобусах из-за так называемых «серых» перевозчиков, которых мы не поддерживаем на платформе. Но мы постарались восстановить эти данные по известным маршрутам. В авиа и железной дороге данные куда более точные, но не на 100%. Мы не видим перемещения военных, персонала железной дороги, детские вагоны и прочие необычные билеты. Есть ряд перевозок вроде вертолётных маршрутов между городами Дальнего Востока и винтомоторной авиация Якутии. В авиации наше покрытие рынка очень хорошо по всей европейской части России и падает к востоку (во Владивостоке, Новосибирске и Хабаровске данные наиболее точны в восточной части страны). На железнодорожных билетах погрешность довольно мала.
Если человек ехал в поезде Москва – Петербург и вышел в Твери, то он считается за пассажира Москва – Тверь.
Можно получить более точные данные через разных перевозчиков, ведомства и официальную статистику, но это почти невозможно на практике в короткие сроки. Наши данные достаточны для оценки, но просто помните, что они также собраны и восстановлены с некоторой погрешностью.
Забрать его можно вот тут. Через пару часов будет публикация о том, как работает модель и что у неё под капотом, и ODS раскроет исходники. Там будет репозиторий с уже уложенной этим датасетом и другими (вроде поставленной в соответствие карты городов по названиям с координатами и количеством заболевших).
Если что-то сделаете с ним — покажите, пожалуйста, в личку или в мою почту noreply@tutu.ru.
Сценарии
Есть три базовых сценария: «мы ничего не трогаем, всё идёт как обычно» — дальше всё предсказуемо плохо по уровню заражения. Второй сценарий — «мы перекрываем всё авиасообщение и люди стараются сидеть дома, но машины и поезда продолжают ездить». Третий сценарий — закрытие основных транспортных хабов. С учётом свежих изменений, мы посчитали первый (в CSV есть выводы), но взяли также выводы четвёртого, где смоделировали сокращение трафика по стране до 10% от обычного.
По той же ссылке CSV сценариев.
Мировое сообщество не первый раз встречается с эпидемиями и не первый раз прогнозирует их развитие с помощью матмоделей. Математика местами сложная, но нейросети нужны. Но моделирование потоков между вершинами графа математически очень близко к самым современным архитектурам нейросетей. Алгоритмы распространения эпидемии давно известны, нужно только задать параметры вроде контагиозности. Которые за нас подсчитали китайцы, итальянцы и остальные, кто столкнулся с проблемой ранее. Прошлый пост с кучей ссылок на исследования, верифицированный врачами, во многом был сбором начальных данных для модели. Тем не менее ещё раз предупреждаю: в модели используются не совсем точные исходные данные, среди разработчиков нет профессиональных эпидемиологов (но мы пользуемся их алгоритмами), модель имеет свои ограничения. Детали по SIR будут в посте ODS. Оценочная точность — до порядка.
Работа модели выглядит так:
- Считаем распространение болезни за день.
- Считаем, сколько людей переехало в другой город на основе взвешенных векторов перевозок.
- Пересчитываем количество инфицированных в городах.
- Запускаем следующий такт.
Шум в начале модели вызван тем, что отправная точка — 22 марта 2020, и она не учитывает тех, кто заразился где-то за рубежом до этого и никак себя не проявил до теста в последующие дни. Важно и то, что опорные данные модели — это не фактическое количество больных, а количество протестированных с положительным тестом на COVID-19. То есть переносчиков по факту может быть больше, и цикл заражения сократится. Заражения внутри транспорта пока не учитываются в модели.
Результаты
Показываю два расчётных экстремума — что будет, если ничего не делать (вариант 1) и принять максимум мер, но не включать режим тотального карантина с границами по кварталам (вариант 2).
Всё по той же ссылке CSV выгрузки, в формате таблицы ниже.
Сценарий 1: самый быстрый
Сценарий 1 — самый плохой с точки зрения распространения инфекции, когда сохраняется 100% трафика между городами (сейчас он уже ниже), а люди не стараются самоизолироваться, например, ездят на автобусах и в метро на вот такие ярмарки, но при этом соблюдают рекомендации по мытью рук и стараются соблюдать дистанцию (с переменным успехом). Моделируется полгода, поэтому, например, Москва не будет излечена до состояния «менее тысячи инфицированных одновременно» в рамках периода отработки модели.
Параметры колонок — количество одновременно инфицированных пациентов (выздоровевшие туда не входят). Первый порог начинается с «больше тысячи» (это день, когда в городе число одновременно инфицированных превышает тысячу), дальше 10 и 100 тысяч. Четвёртая колонка — момент, когда субъективно можно переставать прятаться, меньше 1000 одновременно инфицированных.
Город >1000 >10.000 >100.000 <1000
Москва 13 25 38 -
Санкт-Петербург 23 33 45 -
Ижевск 28 40 57 -
Нижний Новгород 30 41 55 -
Ростов-на-Дону 30 41 56 -
Архангельск 32 44 - 172
Брянск 32 44 64 174
Воронеж 33 44 58 -
Ярославль 33 45 61 -
Сыктывкар 34 47 - 171
Пенза 35 47 64 -
Рязань 35 46 63 -
Тула 35 46 64 -
Симферополь (Крым) 36 48 - 178
Белгород 37 49 - 177
Иваново 37 49 - -
Краснодар 37 48 63 -
Липецк 37 48 66 -
Саратов 37 48 63 -
Смоленск 37 49 - 175
Астрахань 38 49 67 -
Волгоград 38 48 62 -
Казань 38 48 63 -
Сочи 38 50 - -
Ставрополь 38 50 - -
Тамбов 38 50 - 171
Владимир 39 50 - 176
Калуга 39 51 - 174
Елец 40 54 - 152
Каменск-Шахтинский 40 54 - 149
Псков 40 52 - 165
Чебоксары 40 52 73 -
Алексин 41 59 - 140
Новгород Великий 41 53 - 167
Старый Оскол 41 53 - 165
Волгодонск 42 54 - 160
Вологда 42 53 - 174
Екатеринбург 42 54 71 -
Кострома 42 54 - 170
Курск 42 53 - -
Минеральные Воды 42 59 - 148
Орёл 42 54 - 174
Ржев 42 60 - 140
Самара 42 53 69 -
Таганрог 42 54 - 169
Калининград 43 55 - -
Кольчугино 43 63 - 133
Махачкала 43 55 73 -
Уфа 43 54 70 -
Шахты 43 55 - 168
Великие Луки 44 57 - 149
Ливны 44 62 - 134
Переславль-Залесский 44 68 - 131
Пермь 44 55 72 -
Узловая 44 61 - 136
Белая Калитва 45 66 - 132
Йошкар-Ола 45 57 - 171
Моршанск 45 67 - 130
Новочеркасск 45 58 - 161
Рыбинск 45 57 - 164
Тверь 45 56 - -
Тихвин 45 61 - 138
Вязьма 46 62 - 136
Касимов 46 - - 126
Киржач 46 - - 124
Киров 46 - - 127
Мурманск 46 58 - 176
Муром 46 59 - 152
Новосибирск 46 57 75 -
Петрозаводск 46 58 - 174
Скопин 46 - - 123
Тюмень 46 58 80 -
Челябинск 46 58 75 -
Анапа 47 64 - 143
Богородицк 47 - - 124
Ейск 47 61 - 146
Камышин 47 61 - 156
Кинешма 47 61 - 146
Красноярск 47 60 81 -
Омск 47 59 77 -
Оренбург 47 59 81 -
Саранск 47 59 - 177
Сергиев Посад 47 61 - 151
Сургут 47 60 - -
Углич 47 - - 126
Ульяновск 47 58 78 -
Ухта 47 61 - 154
Химки 47 60 - 169
Балаково 48 61 - 176
Балашов 48 62 - 145
Владикавказ 48 60 - -
Гагарин 48 - - 123
Данков 48 - - 115
Дятьково 48 - - 122
Ковров 48 60 - 158
Новошахтинск 48 62 - 152
Обнинск 48 61 - 150
Пущино 48 - - 115
Рассказово 48 67 - 131
Рославль 48 64 - 135
Сафоново 48 66 - 131
Ярцево 48 65 - 132
Валуйки 49 - - 126
Вязники 49 71 - 129
Губкин 49 63 - 147
Десногорск 49 - - 122
Зарайск 49 - - 118
Керчь 49 62 - 159
Лебедянь 49 - - 115
Людиново 49 - - 129
Миллерово 49 - - 127
Мичуринск 49 63 - 149
Можайск 49 - - 123
Мценск 49 69 - 130
Назрань 49 64 - 149
Нелидово 49 - - 118
Нижнекамск 49 62 - -
Нижний Ломов 49 - - 116
Севастополь 49 61 - -
Элиста 49 62 - 151
Волоколамск 50 - - 117
Егорьевск 50 65 - 142
Кузнецк 50 65 - 151
Майкоп 50 63 - 160
Озёры 50 - - 119
Петровск 50 - - 124
Протвино 50 - - 127
Ряжск 50 - - 115
Урюпинск 50 - - 130
Чайковский 50 64 - 150
Шуя 50 66 - 137
Ялта 50 65 - 147
Адлер 51 64 - 156
Арзамас 51 65 - 154
Армавир 51 64 - 170
Борисоглебск 51 66 - 140
Владивосток 51 64 94 -
Кисловодск 51 65 - 160
Коломна 51 65 - 163
Набережные Челны 51 64 - -
Остров 51 - - 115
Павловск 51 - - 118
Пикалёво 51 - - 115
Пятигорск 51 64 - 165
Россошь 51 67 - 140
Ростов Великий 51 - - 122
Сальск 51 67 - 140
Серпухов 51 65 - 160
Старая Русса 51 - - 123
Тольятти 51 63 84 -
Феодосия 51 66 - 143
Хабаровск 51 64 92 -
Юрьев-Польский 51 - - 113
Алексеевка 52 - - 128
Ахтубинск 52 - - 134
Бокситогорск 52 - - 109
Будённовск 52 68 - 142
Гуково 52 69 - 143
Кашин 52 - - 111
Красный Сулин 52 - - 130
Лодейное Поле 52 - - 114
Михайловка 52 69 - 140
Морозовск 52 - - 120
Новороссийск 52 65 - 177
Новый Уренгой 52 67 - 164
Осташков 52 - - 115
Руза 52 - - 105
Сарапул 52 66 - 155
Ступино 52 69 - 143
Томск 52 65 - -
Богучар 53 - - 102
Вичуга 53 - - 127
Вольск 53 69 - 143
Выкса 53 71 - 139
Грозный 53 67 - -
Грязи 53 73 - 133
Иркутск 53 66 - -
Канаш 53 74 - 135
Козельск 53 - - 111
Лабинск 53 70 - 142
Нальчик 53 66 - 178
Невинномысск 53 66 - 157
Новомичуринск 53 - - 112
Орехово-Зуево 53 67 - 161
Барнаул 54 68 102 -
Ельня 54 - - 98
Жирновск 54 - - 110
Зверево 54 - - 116
Кашира 54 - - 131
Клинцы 54 72 - 143
Конаково 54 - - 132
Кропоткин 54 69 - 149
Микунь 54 - - 99
Михайлов 54 - - 102
Обоянь 54 - - 104
Семикаракорск 54 - - 118
Сердобск 54 - - 127
Суровикино 54 - - 114
Сясьстрой 54 - - 104
Белореченск 55 74 - 141
Валдай 55 - - 108
Воткинск 55 71 - 161
Дзержинск 55 70 - -
Железногорск 55 72 - 155
Калач-на-Дону 55 - - 121
Кингисепп 55 74 - 135
Котово 55 - - 119
Луга 55 - - 127
Можга 55 77 - 140
Невель 55 - - 108
Нижневартовск 55 68 - -
Опочка 55 - - 101
Орск 55 70 - -
Таруса 55 - - 97
Чаплыгин 55 - - 102
Череповец 55 68 - -
Южа 55 - - 106
Апатиты 56 74 - 143
Благовещенск 56 - - 143
Волжский 56 69 - -
Выборг 56 72 - 152
Геленджик 56 74 - 140
Глазов 56 73 - 161
Ессентуки 56 71 - 158
Жердевка 56 - - 107
Западная Двина 56 - - 98
Ивангород 56 - - 97
Ипатово 56 - - 121
Калязин 56 - - 106
Курган 56 70 - -
Магадан 56 73 - 164
Павлово 56 73 - 142
Порхов 56 - - 99
Суздаль 56 - - 100
Сухиничи 56 - - 109
Уварово 56 - - 122
Усинск 56 - - 137
Александров 57 75 - 145
Белинский 57 - - 94
Зеленокумск 57 - - 133
Кемерово 57 72 - -
Кириши 57 76 - 143
Луховицы 57 - - 126
Нефтекумск 57 - - 124
Новоаннинский 57 - - 112
Острогожск 57 - - 130
Салехард 57 - - 142
Светлоград 57 - - 132
Сортавала 57 - - 114
Сосенский 57 - - 102
Сызрань 57 72 - -
Темников 57 - - 90
Ханты-Мансийск 57 75 - 166
Чудово 57 - - 108
Благодарный 58 - - 129
Велиж 58 - - 91
Вышний Волочёк 58 78 - 141
Калининск 58 - - 110
Кимры 58 77 - 139
Магнитогорск 58 74 - -
Медынь 58 - - 93
Навашино 58 - - 111
Надым 58 - - 143
Новохопёрск 58 - - 88
Ноябрьск 58 74 - 168
Рузаевка 58 - - 142
Спасск 58 - - 90
Туапсе 58 75 - 146
Улан-Удэ 58 74 - -
Южно-Сахалинск 58 74 - -
Юхнов 58 - - 90
Якутск 58 73 - -
Бежецк 59 - - 123
Бобров 59 - - 116
Гаврилов Посад 59 - - 87
Городовиковск 59 - - 97
Гусь-Хрустальный 59 78 - 148
Евпатория 59 75 - 167
Задонск 59 - - 97
Зубцов 59 - - 90
Кирсанов 59 - - 111
Новозыбков 59 - - 139
Олонец 59 - - 96
Петропавловск-Камчатский59 76 - -
Сольцы 59 - - 98
Харабали 59 - - 114
Шацк 59 - - 88
Бологое 60 - - 123
Вытегра 60 - - 100
Гороховец 60 - - 107
Дорогобуж 60 - - 100
Звенигород 60 - - 112
Изобильный 60 - - 139
Котлас 60 81 - 151
Краснослободск 60 - - 111
Льгов 60 - - 120
Новоалександровск 60 - - 125
Новокузнецк 60 74 - -
Окуловка 60 - - 104
Пролетарск 60 - - 118
Саров 60 77 - 163
Сасово 60 - - 127
Спас-Клепики 60 - - 85
Торжок 60 - - 140
Унеча 60 - - 125
Устюжна 60 - - 97
Балабаново 61 - - 127
Бутурлиновка 61 - - 125
Верея 61 - - 82
Каменка 61 - - 138
Лазаревское 61 78 - 164
Новочебоксарск 61 79 - 179
Печоры 61 - - 103
Себеж 61 - - 87
Сергач 61 - - 121
Сланцы 61 - - 134
Азов 62 82 - 167
Аксай 62 - - 143
Весьегонск 62 - - 93
Воскресенск 62 83 - 173
Вятские Поляны 62 - - 138
Демидов 62 - - 91
Димитровград 62 79 - 175
Дно 62 - - 96
Донской 62 85 - 160
Жиздра 62 - - 84
Инсар 62 - - 96
Ковылкино 62 - - 123
Кулебаки 62 - - 139
Лысково 62 - - 122
Нижний Тагил 62 77 - -
Питкяранта 62 - - 103
Поворино 62 - - 116
Серафимович 62 - - 99
Судогда 62 - - 104
Тутаев 62 - - 142
Цимлянск 62 - - 111
Чита 62 80 - -
Шумерля 62 - - 135
Абакан 63 81 - -
Алатырь 63 - - 142
Бузулук 63 85 - 171
Знаменск 63 - - 133
Кизляр 63 - - 148
Короча 63 - - 85
Лиски 63 89 - 155
Малоярославец 63 - - 135
Ртищево 63 - - 144
Суджа 63 - - 86
Тихорецк 63 86 - 158
Торопец 63 - - 108
Березники 64 79 - -
Вельск 64 - - 127
Дербент 64 85 - -
Нефтекамск 64 85 - -
Норильск 64 83 - -
Родники 64 - - 132
Славянск-на-Кубани 64 88 - 160
Тобольск 64 81 - 172
Щигры 64 - - 118
Агрыз 65 - - 129
Братск 65 81 - -
Волгореченск 65 - - 117
Дмитров 65 91 - 164
Донецк 65 - - 154
Кореновск 65 - - 147
Коряжма 65 - - 149
Кубинка 65 - - 129
Лакинск 65 - - 117
Миасс 65 82 - -
Мирный 65 - - 150
Нарьян-Мар 65 - - 125
Петушки 65 - - 116
Покров 65 - - 120
Псебай 65 - - 105
Пустошка 65 - - 78
Пучеж 65 - - 97
Сандово 65 - - 92
Севск 65 - - 93
Староминская 65 - - 146
Стерлитамак 65 82 - -
Темрюк 65 - - 146
Фурманов 65 - - 144
Бугульма 66 88 - 176
Воркута 66 91 - 170
Гдов 66 - - 76
Зеленодольск 66 89 - -
Златоуст 66 82 - -
Малая Вишера 66 - - 110
Медвежьегорск 66 - - 115
Рудня 66 - - 102
Старица 66 - - 101
Удомля 66 - - 134
Фатеж 66 - - 84
Алушта 67 - - 136
Альметьевск 67 85 - -
Горячий Ключ 67 - - 137
Духовщина 67 - - 76
Инза 67 - - 125
Каменногорск 67 - - 92
Крымск 67 - - 163
Кызыл 67 88 - -
Мантурово 67 - - 119
Моздок 67 - - 144
Мосальск 67 - - 75
Няндома 67 - - 131
Почеп 67 - - 125
Прохладный 67 96 - 162
Талдом 67 - - 116
Тимашёвск 67 - - 160
Анадырь 68 - - 115
Волжск 68 - - 167
Вуктыл 68 - - 110
Георгиевск 68 93 - 172
Губаха 68 - - 142
Клин 68 95 - -
Костомукша 68 - - 135
Кувшиново 68 - - 107
Никольск 68 - - 100
Павловский Посад 68 100 - 173
Печора 68 - - 152
Усть-Лабинск 68 - - 157
Шадринск 68 88 - 169
Шатура 68 - - 145
Янаул 68 - - 139
Алапаевск 69 - - 152
Бежаницы 69 - - 73
Дагомыс 69 97 - 179
Ершов 69 - - 129
Кириллов 69 - - 97
Когалым 69 - - 161
Краснотурьинск 69 96 - 164
Курганинск 69 - - 162
Курчатов 69 - - 159
Нерюнгри 69 - - 174
Новый Оскол 69 - - 128
Реж 69 - - 153
Рыбное 69 - - 127
Серов 69 90 - -
Фролово 69 - - 153
Хоста 69 95 - -
Цивильск 69 - - 117
Бийск 70 87 - -
Волхов 70 - - 159
Данилов 70 - - 122
Качканар 70 - - 156
Красный Холм 70 - - 89
Макарьев 70 - - 95
Маркс 70 - - 144
Мегион 70 - - 156
Невьянск 70 - - 141
Нижняя Тура 70 - - 139
Новосокольники 70 - - 100
Починок 70 - - 103
Снежинск 70 - - 160
Суоярви 70 - - 105
Сычёвка 70 - - 100
Шарья 70 - - 136
Ачинск 71 92 - -
Домодедово 71 98 - -
Кандалакша 71 - - 153
Краснокамск 71 - - 171
Кстово 71 - - 178
Лахденпохья 71 - - 100
Лоо 71 - - 101
Максатиха 71 - - 99
Оленегорск 71 - - 137
Соликамск 71 93 - -
Туймазы 71 105 - 177
Железнодорожный 72 100 - -
Каменск-Уральский 72 93 - -
Канск 72 94 - -
Новокуйбышевск 72 99 - -
Новопавловск 72 - - 144
Нурлат 72 - - 148
Рошаль 72 - - 138
Сегежа 72 - - 148
Сысерть 72 - - 136
Тавда 72 - - 150
Тейково 72 - - 156
Аткарск 73 - - 144
Бабаево 73 - - 116
Барыш 73 - - 131
Емва 73 - - 124
Зеленогорск (ЗАТО) 73 105 - 175
Калач 73 - - 136
Кировград 73 - - 138
Котельнич 73 - - 145
Лихославль 73 - - 115
Нариманов 73 - - 115
Наро-Фоминск 73 - - -
Нерехта 73 - - 141
Очёр 73 - - 127
Палласовка 73 - - 126
Приволжск 73 - - 130
Пыть-Ях 73 - - 155
Саки 73 - - 140
Салават 73 96 - -
Сатка 73 - - 159
Чистополь 73 - - 175
Чусовой 73 - - 161
Шахунья 73 - - 138
Андреаполь 74 - - 104
Буй 74 - - 148
Верхний Тагил 74 - - 122
Гаврилов-Ям 74 - - 131
Дегтярск 74 - - 129
Ирбит 74 - - 155
Лабытнанги 74 - - 149
Павловская 74 - - -
Североуральск 74 - - 148
Удачный 74 - - 123
Хвалынск 74 - - 120
Кондрово 75 - - 131
Онега 75 - - 143
Сокол 75 - - 164
Сухой Лог 75 - - 155
Тотьма 75 - - 111
Усть-Кут 75 - - 174
Чебаркуль 75 - - 162
Энгельс 75 101 - -
Юрьевец 75 - - 113
Аша 76 - - 152
Баксан 76 - - 160
Белоярский 76 - - 138
Болгар 76 - - 107
Дубна 76 - - -
Иловля 76 - - 119
Карпинск 76 - - 151
Кыштым 76 - - 158
Лаишево 76 - - 104
Нефтеюганск 76 100 - -
Новоуральск 76 106 - -
Северодвинск 76 108 - -
Советский 76 - - 149
Солнечногорск 76 - - -
Чернушка 76 - - 153
Бавлы 77 - - 142
Гатчина 77 117 - -
Козьмодемьянск 77 - - 146
Красноуфимск 77 - - -
Кумертау 77 - - -
Лесной 77 - - 175
Минусинск 77 - - -
Назарово 77 - - 173
Октябрьский 77 110 - -
Первомайск 77 - - 131
Саяногорск 77 - - 172
Стародуб 77 - - 141
Струнино 77 - - 131
Тулун 77 - - 174
Усмань 77 - - 141
Хадыженск 77 - - 144
Ардатов 78 - - 115
Болхов 78 - - 122
Бронницы 78 - - 146
Верхняя Салда 78 - - 168
Галич 78 - - 138
Голицыно 78 - - 139
Горнозаводск 78 - - 123
Ишим 78 - - -
Касли 78 - - 134
Красноармейск 78 - - 153
Меленки 78 - - 131
Нягань 78 - - 178
Сураж 78 - - 123
Талица 78 - - 136
Щучье 78 - - 121
Абинск 79 - - 169
Горно-Алтайск 79 - - -
Губкинский 79 - - 142
Далматово 79 - - 128
Дальнегорск 79 - - 164
Карталы 79 - - 152
Катайск 79 - - 132
Куса 79 - - 139
Мглин 79 - - 109
Николаевск 79 - - 132
Первоуральск 79 108 - -
Сосногорск 79 - - 158
Уржум 79 - - 119
Учалы 79 - - 162
Александровск 80 - - 130
Артёмовский 80 - - 161
Балашиха 80 117 - -
Белово 80 - - -
Боготол 80 - - 147
Инта 80 - - 167
Камешково 80 - - 128
Камышлов 80 - - 153
Котельниково 80 - - 148
Красноуральск 80 - - 151
Лысьва 80 - - -
Сорочинск 80 - - 160
Троицк 80 - - -
Туринск 80 - - 139
Чапаевск 80 - - -
Юрга 80 116 - -
Абдулино 81 - - 145
Заозёрный 81 - - 126
Катав-Ивановск 81 - - 138
Кунгур 81 - - -
Оса 81 - - 146
Радужный 81 - - 137
Рубцовск 81 108 - -
Черноморское 81 - - 125
Южно-Сухокумск 81 - - 121
Южноуральск 81 - - 167
Аркадак 82 - - 132
Батайск 82 130 - -
Белокуриха 82 - - 140
Беслан 82 - - 176
Верхний Уфалей 82 - - 159
Верхняя Тура 82 - - 119
Железноводск 82 - - 159
Кизилюрт 82 - - 176
Лениногорск 82 - - -
Урень 82 - - 129
Боровичи 83 - - -
Бугуруслан 83 - - -
Дюртюли 83 - - 170
Лесосибирск 83 - - -
Мамадыш 83 - - 134
Новотроицк 83 - - -
Саянск 83 - - 177
Судак 83 - - 140
Хотьково 83 - - 156
Шумиха 83 - - 140
Бородино 84 - - 143
Дивногорск 84 - - 161
Кемь 84 - - 131
Комсомольск 84 - - 116
Кувандык 84 - - 166
Любим 84 - - 95
Хасавюрт 84 132 - -
Большой Камень (ЗАТО) 85 - - 174
Колпино 85 135 - -
Комсомольск-на-Амуре 85 117 - -
Новомихайловский 85 - - 127
Пласт 85 - - 141
Тайшет 85 - - 172
Харовск 85 - - 122
Анжеро-Судженск 86 - - -
Карабаш 86 - - 134
Кондопога 86 - - 179
Лангепас 86 - - -
Нижние Серги 86 - - 128
Полярные Зори 86 - - 142
Тында 86 - - 178
Шушенское 86 - - 145
Ангарск 87 117 - -
Жигулёвск 87 - - -
Ивдель 87 - - 147
Кодинск 87 - - 140
Мелеуз 87 - - -
Пыталово 87 - - 99
Сим 87 - - 137
Уссурийск 87 126 - -
Шарыпово 87 - - 176
Асбест 88 - - -
Беломорск 88 - - 129
Дмитриев-Льговский 88 - - 114
Заволжск 88 - - 133
Лукоянов 88 - - 144
Майский 88 - - 174
Михайловск 88 - - 122
Находка 88 131 - -
Новая Ляля 88 - - 133
Новоузенск 88 - - 149
Пестово 88 - - 148
Подпорожье 88 - - 156
Тара 88 - - 163
Ужур 88 - - 144
Югорск 88 - - 179
Белозерск 89 - - 124
Кугеси 89 - - 137
Ленинск-Кузнецкий 89 - - -
Богданович 90 - - 179
Гудермес 90 - - -
Енисейск 90 - - 153
Кавалерово 90 - - 140
Подольск 90 148 - -
Славгород 90 - - 174
Стрежевой 90 - - -
Усть-Катав 90 - - 161
Барабинск 91 - - 175
Белогорск 91 - - -
Верещагино 91 - - 170
Верхнеуральск 91 - - 124
Дубовка 91 - - 145
Заводоуковск 91 - - 170
Усолье-Сибирское 91 - - -
Яранск 91 - - 154
Азнакаево 92 - - -
Елабуга 92 - - -
Красный Кут 92 - - 148
Куртамыш 92 - - 149
Кушва 92 - - 178
Менделеевск 92 - - 168
Нея 92 - - 129
Нижнеудинск 92 - - -
Петров Вал 92 - - 140
Тюкалинск 92 - - 134
Мензелинск 93 - - 153
Мотыгино 93 - - 104
Пушкино 93 - - -
Сибай 93 - - -
Уяр 93 - - 139
Гулькевичи 94 - - -
Нязепетровск 94 - - 138
Прокопьевск 94 143 - -
Абаза 95 - - 155
Заречный 95 - - -
Иланский 95 - - 152
Кораблино 95 - - 145
Крутинка 95 - - 112
Мариинск 95 - - -
Пудож 95 - - 129
Ревда 95 - - -
Сковородино 95 - - 129
Чехов 95 - - -
Арсеньев 96 - - -
Бодайбо 96 - - 150
Дальнереченск 96 - - 178
Черногорск 96 - - -
Кизел 97 - - 168
Коркино 97 - - -
Приобье 97 - - 115
Тосно 97 - - -
Асино 98 - - 179
Краснокаменск 98 - - -
Междуреченск 98 - - -
Ожерелье 98 - - 137
Тайга 98 - - 172
Трёхгорный 98 - - -
Грязовец 99 - - 159
Еманжелинск 99 - - -
Ленск 99 - - 174
Покачи 99 - - 158
Алзамай 100 - - 113
Ишимбай 100 - - -
Медногорск 100 - - -
Николаевск-на-Амуре 100 - - 175
Юрюзань 100 - - 144
Лесозаводск 101 - - -
Красновишерск 102 - - 162
Отрадный 102 - - -
Перевоз 102 - - 132
Горняк 103 - - 147
Искитим 103 - - -
Колпашево 103 - - -
Свободный 103 - - -
Фокино (ЗАТО) 103 - - -
Кудымкар 104 - - -
Новоалтайск 104 - - -
Берёзово 105 - - 112
Добрянка 105 - - -
Зима 105 - - -
Ноглики 105 - - 135
Татарск 105 - - -
Гурьевск 106 - - 147
Нытва 106 - - 174
Алейск 107 - - -
Полевской 107 - - -
Северобайкальск 107 - - -
Биробиджан 109 - - -
Советская Гавань 109 - - -
Ялуторовск 109 - - -
Змеиногорск 110 - - 140
Оха 110 - - -
Арамиль 111 - - 160
Камень-на-Оби 111 - - -
Пугачёв 112 - - -
Яровое 114 - - 172
Исилькуль 115 - - -
Волчанск 117 - - 137
Славянка 117 - - -
Похвистнево 121 - - -
Партизанск 122 - - -
Семёнов 122 - - -
Спасск-Дальний 123 - - -
Усть-Илимск 123 - - -
Камбарка 124 - - 144
Урай 125 - - -
Петровск-Забайкальский 131 - - -
Белорецк 133 - - -
Киселёвск 133 - - -
Бердск 134 - - -
Балей 135 - - 155
Бикин 136 - - -
Железногорск-Илимский 141 - - -
Вихоревка 156 - - -
Шимановск 163 - - -
Бор 168 - - -
Борзя 172 - - -
Шахтерск 173 - - -
В модели также есть Алдан, Аргун, Арск, Артышта, Артём, Артёмовск, Аян, Бабушкин, Багдарин, Байкальск, Байкит, Батагай, Белая Гора, Белый, Берёзовый, Богородское, Болотное, Буинск, Ванавара, Ванино, Великий Устюг, Верхневилюйск, Верхотурье, Вилюйск, Вяземский, Гремячинск, Гусиноозёрск, Давлеканово, Депутатский, Диксон, Долинск, Ербогачён, Жиганск, Жуковка, Забайкальск, Завитинск, Заинск, Залахтовье, Заринск, Злынка, Зуевка, Зырянка, Игарка, Игрим, Избербаш, Изборск, Известковый, Казачинское, Калачинск, Калевала, Карагайский, Карасук, Карачев, Каргасок, Каргат, Кепервеем, Кинель, Киренск, Кола, Кослан, Красный Чикой, Купино, Курильск, Ленинск, Лобня, Луза, Любань, Макаров, Макушино, Малоархангельск, Мама, Манжерок, Мещовск, Миньяр, Могоча, Мураши, Мыски, Мытищи, Называевск, Нарткала, Нижнеангарск, Новоабзаково, Новоржев, Новосиль, Нюрба, Облучье, Обь, Озеро-Карачинское, Озёрск, Оленёк, Олёкминск, Омолон, Омсукчан, Охотск, Павелец, Певек, Пено, Петухово, Плёс, Поронайск, Пржевальское, Пряжа, Саккырыр, Салми, Саскылах, Светлогорск (Красноярск.), Северо-Енисейский, Сеймчан, Симеиз, Синяя Осока, Слюдянка, Соль-Илецк, Сонково, Сорск, Сосновка, Спас-Деменск, Среднеколымск, Сретенск, Сунтар, Сусуман, Таксимо, Талакан, Терек, Тикси, Тогучин, Толька, Томмот, Топки, Тура, Туран, Туруханск, Усть-Качка, Усть-Кокса, Усть-Куйга, Усть-Нера, Усть-Цильма, Хандыга, Хатанга, Хилок, Холм, Хонуу, Хотынец, Чара, Чемал, Черемхово, Черепаново, Чернолучье, Черский, Чокурдах, Чулым, Чумикан, Чёрмоз, Шилка, Эвенск, Южно-Курильск — эти города либо заражаются позднее моделируемого периода, либо не набирают 1000 инфицированных.
Сценарий 2
Самый «изолированный» сценарий. В нём остаются только 10% от трафика перевозок, то есть попадать из одной точки в другую становится куда тяжелее, но возможно. Это не полный карантин, а существенное снижение связности. Люди внутри городов не ходят на ярмарки и стараются самоизолироваться, но делают это не идеально, а в меру своего понимания. Моделируется период в 180 дней (соответственно, Барнаул, набравший тысячу больных на 174-й день модели не успеет набрать меньше тысячи больных в процессе «придавливания» эпидемии). Города, которых нет в таблице, не набирают больше 1000 больных или не заражаются.
Город >1000 >10.000 >100.000 <1000
Москва 18 33 51 -
Ижевск 40 60 - -
Киров 42 - - 158
Нижний Новгород 45 66 - -
Архангельск 46 68 - -
Брянск 46 67 - -
Санкт-Петербург 46 62 88 -
Ростов-на-Дону 56 76 - -
Сыктывкар 61 91 - -
Воронеж 62 86 - -
Ярославль 63 88 - -
Переславль-Залесский 65 - - 172
Рязань 65 91 - -
Пенза 66 94 - -
Тула 66 93 - -
Симферополь (Крым) 68 99 - -
Алексин 69 - - -
Калуга 69 108 - -
Киржач 69 - - 160
Белгород 70 103 - -
Казань 70 103 - -
Липецк 70 104 - -
Иваново 71 105 - -
Краснодар 71 104 - -
Саратов 71 105 - -
Астрахань 72 109 - -
Каменск-Шахтинский 72 - - -
Смоленск 72 110 - -
Сочи 72 109 - -
Тамбов 72 112 - -
Волгоград 73 108 - -
Елец 73 - - -
Ставрополь 74 113 - -
Владимир 75 118 - -
Ржев 75 - - -
Кольчугино 77 - - -
Минеральные Воды 77 - - -
Чебоксары 77 128 - -
Старый Оскол 78 - - -
Волгодонск 80 - - -
Курск 81 - - -
Таганрог 81 - - -
Узловая 81 - - -
Ливны 82 - - -
Моршанск 82 - - -
Орёл 82 - - -
Екатеринбург 83 166 - -
Скопин 83 - - 168
Вологда 84 - - -
Касимов 84 - - 173
Кострома 84 - - -
Пущино 84 - - 149
Самара 84 178 - -
Белая Калитва 85 - - -
Нелидово 85 - - 157
Псков 85 - - -
Уфа 85 - - -
Великие Луки 86 - - -
Махачкала 86 - - -
Шахты 86 - - -
Калининград 87 - - -
Богородицк 88 - - 175
Пермь 89 - - -
Данков 90 - - 155
Йошкар-Ола 90 - - -
Вязьма 91 - - -
Новочеркасск 91 - - -
Кашин 92 - - 141
Рыбинск 92 - - -
Таруса 92 - - 117
Углич 92 - - -
Нижний Ломов 93 - - 160
Дятьково 94 - - 175
Михайлов 94 - - 126
Муром 94 - - -
Новгород Великий 94 - - -
Новосибирск 94 - - -
Осташков 94 - - 147
Тюмень 94 - - -
Лебедянь 95 - - 157
Мурманск 96 - - -
Саранск 96 - - -
Челябинск 96 - - -
Анапа 97 - - -
Кинешма 97 - - -
Ульяновск 97 - - -
Валуйки 98 - - -
Гагарин 98 - - -
Десногорск 98 - - 178
Ейск 98 - - -
Балашов 99 - - -
Зарайск 99 - - 167
Камышин 99 - - -
Красноярск 99 - - -
Можайск 99 - - -
Обнинск 99 - - -
Омск 99 - - -
Рославль 99 - - -
Руза 99 - - 135
Химки 99 - - -
Оренбург 100 - - -
Рассказово 100 - - -
Сафоново 100 - - -
Сургут 100 - - -
Балаково 101 - - -
Людиново 101 - - -
Озёры 102 - - 171
Ухта 102 - - -
Владикавказ 103 - - -
Ряжск 103 - - 161
Ярцево 103 - - -
Богучар 104 - - 128
Вязники 104 - - -
Губкин 104 - - -
Ковров 104 - - -
Миллерово 104 - - -
Тихвин 104 - - -
Волоколамск 105 - - 165
Мценск 105 - - -
Сергиев Посад 105 - - -
Элиста 105 - - -
Юрьев-Польский 105 - - 154
Новошахтинск 107 - - -
Петровск 107 - - -
Шуя 107 - - -
Мичуринск 108 - - -
Тверь 108 - - -
Назрань 109 - - -
Протвино 110 - - -
Егорьевск 111 - - -
Керчь 111 - - -
Урюпинск 111 - - -
Нижнекамск 112 - - -
Кузнецк 113 - - -
Павловск 113 - - 169
Петрозаводск 114 - - -
Ростов Великий 114 - - -
Майкоп 116 - - -
Россошь 117 - - -
Борисоглебск 118 - - -
Коломна 118 - - -
Хабаровск 118 - - -
Владивосток 119 - - -
Серпухов 119 - - -
Морозовск 120 - - 174
Арзамас 122 - - -
Чайковский 124 - - -
Армавир 125 - - -
Михайловка 126 - - -
Томск 126 - - -
Красный Сулин 127 - - -
Ялта 127 - - -
Алексеевка 128 - - -
Ахтубинск 128 - - -
Севастополь 128 - - -
Феодосия 129 - - -
Кисловодск 130 - - -
Гуково 131 - - -
Ступино 131 - - -
Будённовск 133 - - -
Новый Уренгой 133 - - -
Иркутск 135 - - -
Пятигорск 135 - - -
Орехово-Зуево 137 - - -
Выкса 141 - - -
Сальск 141 - - -
Вольск 145 - - -
Тольятти 148 - - -
Грязи 150 - - -
Канаш 151 - - -
Грозный 157 - - -
Конаково 161 - - 176
Адлер 164 - - -
Сарапул 164 - - -
Набережные Челны 173 - - -
Барнаул 174 - - -
Я ещё раз напомню, что это моделирование распространения инфекции между городами, а не учёт смертности и остального. Вы можете помочь ODS, написав в личку mephistopheies.
Ещё важное: центр в Сколтехе решил выделить вычислительное время на суперкомпьютере Zhores для моделирования задач, так или иначе связанных со сдерживанием эпидемии. У них есть CPU-ноды (небольшая часть, но есть) и GPU-ноды (в нодах стоят по 4 Tesla P100). Если у вас есть распараллеленный под MPI CPU код или необходимость посчитать модели в параллельном режиме на GPU — подходит. Можно приносить любые задачи, которые как-нибудь связаны с борьбой с эпидемией, например по молекулярному моделированию, моделированию транспортных потоков и т.п. Контакты: sergey.sosnin@skoltech.ru или можно подать заявку напрямую.
Что это значит?
Российская логистика — одна из самых сложных в мире. У нас очень много изолированных городов, население значительно раскидано по планете, огромные пустые территории. Из плотносвязанного на западе граф превращается в слабосвязанный на востоке.
Это может означать, что можно отрезать существенные части графа от основных очагов (но, похоже, уже поздно из-за возвращавшихся в разные крупные города из-за границы).
Модели без учёта такого распространения очень сильно ограничены отсутствием нужных данных.
Сейчас фактор неравномерности населения означает, что можно резко переменить ход развития эпидемии, перекрывая транспортное сообщение.
Главный коммерческий вывод — возможно, локдаун сейчас дешевле, чем последствия дальше.
Я приглашаю вас не верить мне на слово, а расколупать модель, поковыряться в CSV и коде, докрутить и улучшить результат, который предоставило ODS. Собственно, сейчас сообщество работает над уточнениями модели.
И особо отмечу, что тот факт, что сообщество взялось за проект, сделало его и открывает результат — это огромный прецедент в пользу того, что сами данные нужно открывать. Потому что иногда они крайне полезны, даже если у вас нет времени или возможности с ними что-то сделать.
Ссылки в одном месте, большой пост с кучей ссылок на разные исследования, mephistopheies — ваш вход в ODS, если вы хотите помочь.
Автор: Сергей Абдульманов