{"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 комментария
Написать комментарий...
Аккаунт удален

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

Ответить
Развернуть ветку
Ai Kyuu

Это полезное моделирование, достаточно посмотреть на модель, представленную правительством США.

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

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

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