{"id":14272,"url":"\/distributions\/14272\/click?bit=1&hash=9c431bca9c7cafdd4ed114bc7fb4d407f06f28aa165d6f80b9637d3a8581e5c2","title":"\u0421\u0431\u0435\u0440\u041a\u043e\u0442 \u2014 \u043f\u0435\u0440\u0432\u044b\u0439 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0438\u043d\u0444\u043b\u044e\u0435\u043d\u0441\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043b\u0435\u0442\u0435\u043b \u0432 \u043a\u043e\u0441\u043c\u043e\u0441","buttonText":"","imageUuid":""}

Прогноз пандемии коронавируса. Математическая модель

​Прогноз развития эпидемии в России coronavirussia.online

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

Решил я узнать, когда же закончится эта канитель. Покопался в интернете и на то время ничего конкретного ни нашел.

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

Согласно статистике, развитие эпидемий в мире происходит по нормальному закону распределения Гаусса. Его и взял за основу.

Для начала подключился к открытым источникам и научился выкачивать данные раз в 15 минут. Отобразил их красиво с помощью Chart.js и перешел к прогнозу. Взял для работы функцию нормального распределения

y(t) = b · e -c·(t-a)2

Исходные данные ti - ежедневные отметки времени xi - число активных случаев болезни в этот день

Взял натуральный логарифм от y(t) и от данных xi

ui = ln(xi)

u(t) = ln(y) = ln(b)-c·t2 + 2c·a·t-c·a2

Сделаем замены: А=-с; B=2a·c; C=ln(b)-c·a2; Получаем

u(t) = A·t2+B·t+C

Чтобы найти А, В и С - использую метод наименьших квадратов, согласно которому сумма по i от 1 до n квадратов разностей

Σ(xi-y(ti))2 -> min

должна стремится к минимуму.

Назовем эту сумму Ф(А,В,С)

Продифференцируем dФ по dA, dB и dC. Производные при это должны быть равны нулю.

Получаем систему уравнений

A·Σti4+B·Σti3+C·Σti2 = Σui·ti2

A·Σti3+B·Σti2+C·Σti = Σui·ti

A·Σti2+B·Σti+C·n = Σui

Решаем эту систему по методу Крамера

А = ∆A/∆

B = ∆B/∆

C = ∆C/∆

Находим нужные коэффициенты a,b,c для исходной функции

c = -A a = B/2·c b = eC+c·a2

И, вуаля, готово! Программируем и рисуем красивые графики и узнаем когда это кончится!

Так как данные обновляются с появлением новых случаев, и мой прогноз обновляется тоже.

Чем больше данных, тем точнее прогноз. На данный момент, реальные данные экспертов в Италии говорят о пике эпидемии, и кривая Гаусса показывает тоже самое

​Прогноз развития эпидемии в Италии coronavirussia.online

Будьте здоровы!

0
64 комментария
Написать комментарий...
Aleksey Goncharov

Модель изначально ошибочная. ТК в ней неверные исходные данные. 

Официальные цифры по заболевшим это те люди, которые смогли таки сдать тест.

Во-первых, тест берут только при предъявлении паспорта с отметкой о въезде за последние 2 недели или после контакта документально подтвержденным носителем. Инфу тоже проверяют по ФИО. 
Я знаю случаи, когда открыли в тексте людям с температурой и затрудненным дыханием в Москве.

Во-вторых, в России на каждый тест в десятки раз меньше выявленных носителей, чем в других странах. Используется только наши тесты и не импортируются другие. Можно объяснить головой чувствительностью наших тестов.

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

Ответить
Развернуть ветку
Aleksandr Makarov

Совершенно очевидно, что на самом деле больных, переболевших и умерших больше.

Но модель и не претендует на отображение реального количества всех этих групп, она лишь собирает все выявленные и подтверждённые кейсы из открытых источников и на их основе делает прогноз развития (а в этом и весь смысл данной конкретной модели), тебе же указали на это в самом начале статьи.

Ответить
Развернуть ветку
Aleksey Goncharov

Так я же и говорю. У вас неверные исходные данные с вероятностью ошибки в тысячи раз. Соответственно, модель неправильная. По ней мы в начале пути, а по факту одни из самых жестоких мер введены. Их нет смысла вводить при тысяче заболевших. А вот при миллионе уже смысл есть чтобы сгладить пики и не заболели поголовно как в Италии. 

Ответить
Развернуть ветку
Николай Кузнецов

Вы бредите, какие миллионы заболевших в стране, нет у современных гриппов такой вирулентности. 

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Коронавирус Онлайн
Автор

Голикова сказала же что у 11 из 226 случайных людей выявили антитела к коронавирусу, т.е. они уже переболели, можно предположить что 5% - 7 млн человек уже переболели в стране.

Ответить
Развернуть ветку
Aleksey Goncharov

Это интересно. А как отбирали эти 226 человек? Есть ссылка?

Ответить
Развернуть ветку
Коронавирус Онлайн
Автор

я хз как, знаю точно, что любой тест на антитела проводят параллельно с тестом на само заболевание, т.е. если они взяли случайных 226 человек из разных коллективов, и узнали что 11 уже переболели, одновременно они узнали и сколько из них болеют в данный момент и этой цифры нет(( 

https://www.youtube.com/watch?v=XDqE2anu0GE

Ответить
Развернуть ветку
Aleksey Goncharov

Спасибо!)

Ответить
Развернуть ветку
Николай Кузнецов

Как поживате среди миллионов заболевших?

Ответить
Развернуть ветку
61 комментарий
Раскрывать всегда