Статистика для Москвы в сценарии «люди стараются сидеть по домам, нет авиасообщения» — к ноябрю модель показывает 5 миллионов переболевших. Это ограниченный прогноз на основе неполных данных, ниже будут детали. За ноль принято 22 марта.
В мире было создано несколько моделей распространения инфекции, но ни одна не подходила нормально для России, либо опиралась на плотность населения без правильного графа перемещений людей. Почему? Потому что либо он получается так сложно, что вы окосеете его согласовывать, либо ни у кого в одном месте этого датасета просто нет.
Кроме нас.
Туту.ру с радостью делится данными с журналистами уже 16 лет (огромная часть новостей в духе «Заметен аномальный спрос на Анталию» — это нарезка наших информационных витрин). Но мы исторически никогда не раскрывали сами данные по перемещениям людей целыми блоками.
Мы собрали датасет передвижений людей по России за апрель 2019 и передали его в сообщество Open Data Science. Если вы их не знаете — это объединение преимущественно русских дата-сайнтистов (но со всего мира), которое перерабатывает открытые данные на полезные модели. Некоммерчески. Ниже выводы, таблица с прогнозом по каждому крупному городу, сам датасет (если вы хотите попробовать с ним что-то сделать). Про то, как работает модель и какая математика и ограничения лежат внутри, расскажет ODS через пару часов. И выложит исходники. UPD: вот.
Датасет
Это то, как люди путешествовали по стране за прошлый апрель-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 одновременно инфицированных. Числа в колонках — день достижения порога. Например, Москва набирает первую тысячу одновременно инфицированных по прогнозу модели в этом сценарии за 13 дней.
Город >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, если вы хотите помочь. Пост ODS от grisme с внутренностями модели и допущениями, ссылкой на репозиторий.
Источник: habr.com
Комментарии: