Ваньо Георгиев
Статия в блог от: Ваньо Георгиев
Със започване на ежедневното обявяване на данни за брой заболели от корона вирус в България, започнах да си записвам в една таблица на Excel броя на регистрираните през денонощието нови случаи в страната и общия брой заболели към момента. Като човек познаващ до някаква степен възможностите на софтуерните продукти за електронните таблици за онагледяване и анализиране на данни бях любопитен сам да направя някоя и друга графика и да изпробвам някои формули модели.
Понеже се боях, че може да пропусна някой ден и да забравя да запиша новите данни, ми се видя, че е много логично да предположа, че в някоя от официална държавна институция има човек, който прави подобна на моята табличка с данни и по някой от сайтовете на институциите би могла да се намери такава наготово... Все още не успявам да открия такава, вие откривате ли?
Но се намират доброволци, които пишат Wikipedia и там може да се открие:
https://bg.wikipedia.org/wiki/Коронавирусна_болест_2019_в_България#Обща
https://en.wikipedia.org/wiki/Template:COVID-19_pandemic_data/Bulgaria_medical_cases
Има и привърженици на отворения код, които поддържат хранилища като това:
https://github.com/snify/covid-opendata-bulgaria
Така че, цифри има налице.
Да вземем таблицата с данни като:
Започваща с данните от първите съобщения за страната и завършваща с последните към днешен деня данни.
Да започнем с данните за общия брой заразени, а по-късно ще разгледаме и броя на установяваните всеки ден нови заразени. С няколко кликвания на мишката от тези данни се получава графика, която изглежда така:
Логиката ни подсказва, че какъвто и да е броят на новите откривани дневно заразени, тази графика ще върви все нагоре, къде с по-голям, къде с по-малък наклон, но когато епидемията започне да затихва ще стигне едно хоризонтално плато, защото нови заразени ще спрат да се откриват и общия брой заразени ще спре да расте. Една от възможните криви с подобен ход е графиката на функцията:
\( \Large \frac{1}{1+e^{-x}} \)
известна като сигмоида. Графиката на тази функция е разположена в ивицата между 0 и 1 на ординатната ос и има стойност от 1/2 при x=0.
За да се "разтегне" по направление на осите тази крива и да се напасне към група от точки, като на нашата графика, въвеждаме някои коефициенти, които ще подлежат на уточняване:
\( \Large \frac{A}{1+e^{-b(x-C)}} \)
Смисълът на тези коефициенти е:
A - Максималният брой заразени, който ще се достигне когато епидемията затихне.
С - е номерът на денят когато бъде достигнат брой заразени, равен на половината от максималния. Тъй като кривата е симетрична то може да се очаква, че краят на епидемията е денят с номер 2C.
b - е параметър, който определя "разтягането" на процеса във времето, без да му търсим по-нагледна интерпретация.
Ако зададем приблизителни стойности A=2500, C=50, b=0,1, които записваме в три клетки на електронната таблица и в следваща колона на таблицата въведем формули, които за всеки ден пресмятат броя заразени. Може да добавим към графиката от точки, още една линия модел, по тази формула.
Отклонението е голямо, но има възможност да открием по-удовлетлорителни стойности на параметрите прилагайки метода на най-малките квадрати и инструмента за намиране на оптимални решения Solver на Excel.
За целта добавяме нова колона в таблицата, в клетките на която въвеждаме формули, пресмятащи квадратите на разликите между действителните данни и изчислените с приблизителния модел. В друга клетка въвеждаме формула, която пресмята сумата на колоната от квадрати. Така сме готови да използваме инструмент Solver, който намира по-точни стойности на параметрите, водещи до минимална грешна на модела. Резултатът са следните стойности и графика:
И така съставеният модел показва:
максималният брой, регистрирани заразени с корона вирус в България, според данните до момента ще бъде 3111
"средата" на развитието на епидемията е била на 1.05.2020 г.
затихване на епидемията се очаква към 24.06.2020 г.
Моля, не приемайте сериозно тези дати, тук не се използват знания от вирусология, епидемиология, и др. науки, които се занимават адекватно с проблема. Това е само едно упражнение по Excel и неговите инструменти...