В комментариях к предыдущему тексту «Введение в теорию автоматического управления», один из читателей усомнился в необходимости изучать этот предмет и задал вопрос:
— Кто такая ТАУ – человек или лошадь? И зачем она нужна?
Такой принципиальный вопрос не может остаться без ответа принципиального ответа.
Прежде чем переходить от введения в ТАУ к зубодробительной математике, покажем на примере, что может ТАУ в очумелых руках специалиста. Спойлер: ТАУ может все!
В это тяжелое время, когда народ вырывается из самоизоляции и одновременно пытается понять, когда мы все умрём, кто-то ищет истину в вине, кто-то – в религиозных текстах, кто-то – в улучшении демографии. Но только тот, кто вооружен ТАУ и средствами моделирования, ничего не ищет, ибо познал истину. Такой счастливчик спокойно и уверенно смотрит вперед. Как белый цисгендерный гражданин США, который в момент паники покупает не дополнительные рулоны туалетной бумаги, а дополнительный автомат и коробки с патронами. Потому что умный американский гражданин знает, если у тебя есть автомат и достаточно патронов, то туалетная бумага понадобится другому. Так и с ТАУ: это инструмент позволяющий не гадать на кофейной гуще, а постигать истину путем математического моделирования.
Далее под катом – простой пример применения средств динамического моделирования для расчёта распространения инфекции, а также методика получения неизвестных коэффициентов в эти уравнения из статистических данных по начальному периоду инфекции.
Ранее, в предыдущих статьях, мы показывали технологию создания физических моделей технических систем и настройку этих моделей по данным эксперимента:
Цифровой двойник системы кондиционирования воздуха (СКВ) самолета
Здесь мы демонстрируем ту же технологию моделирования, только для модели распространения инфекции, а в качестве экспериментальных данных используем данные начального периода эпидемии. Поехали.
В биологии и медицине одной из важных задач является расчёт распространения инфекционных заболеваний. Это позволяет своевременно принимать профилактические меры для предотвращения вспышек инфекций, а также грамотно действовать в условиях эпидемии.
Изучение механизмов развития и распространения эпидемий является важным способом борьбы с заболеваниями наряду с поиском новых лекарств, вакцинацией и профилактическими мерами. На помощь медикам пришли математики: для этого им пришлось объединить дифференциальные уравнения, динамическое моделирование процессов и теорию вероятности.
Первую попытку использовать математический аппарат для исследования механизмов распространения заболеваний предпринял Даниил Бернулли, ранее открывший первые законы гидродинамики. Следующий шаг сделал Уильям Фарр, применивший в 1840 году нормальное распределение к анализу смертности от оспы.
Распространение заболеваний может быть описано системой обыкновенных дифференциальных уравнений. Для примера мы рассмотрим модель распространения инфекции SIR (Susceptible (восприимчивые) — Infected (инфицированные) — Recovered (выздоровевшие), разработанную Андерсоном Кермаком и Уильямом Маккендриком), которая представляет собой систему дифференциальных уравнений, описывающую распространение инфекции с учётом выработки постоянного иммунитета. В частности, эта модель позволяет достаточно точно описывать эпидемии гриппа.
Система уравнений модели SIR выглядит следующим образом:
Где:
- S(t) — численность восприимчивых индивидов в момент времени t;
- I(t) — численность инфицированных индивидов в момент времени t;
- R(t) — численность переболевших индивидов в момент времени t;
- β — коэффициент интенсивности контактов индивидов с последующим инфицированием;
— коэффициент интенсивности выздоровления инфицированных индивидов;
- N – базовое нормировочное число (если 1, то система рассчитывается в абсолютных значениях).
Решение подобной системы дифференциальных уравнений может быть произведено при помощи численного расчёта с применением теории автоматического управления и специализированных пакетов для моделирования динамики технических систем (например Simulink, MATLAB, SimInTech). Рассмотрим метод решения задачи при помощи ТАУ в среде SimInTech.
Чтобы задать систему уравнений, воспользуемся методом структурного моделирования, при котором уравнения описываются в виде функционально-блочной диаграммы, каждый блок которой представляет собой ту или иную математическую операцию. Коэффициенты β и γ модели задаются при помощи блоков типа «Константа», левые части дифференциальных уравнений описываются при помощи блоков «Интегратор». Блок-схема динамической модели эпидемии представлена на рисунке 1.
![](https://habrastorage.org/webt/9q/3u/lh/9q3ulhyb8qhaliixamjwwzvcdey.png)
Рисунок 1. SIR-модель эпидемии в виде структурной схемы.
Для моделирования примем коэффициент масштабирования времени равным 1 день = 1 секунда в программе и следующими значениями коэффициентов модели:
- S(t=0) = 1000 — численность восприимчивых индивидов в начальный момент времени;
- I(t) = 1 — численность инфицированных индивидов в начальный момент времени;
- R(t) = 0 — численность переболевших индивидов в начальный момент времени;
- β = 0.001
=0.1
- N = 1 – расчёт в абсолютных значениях
Конечное время моделирования примем равным 100 дней.
Численное интегрирование будем производить методом Рунге-Кутты 4-го порядка с фиксированным шагом в 0.001 (день).
Результаты численного моделирования представлены на рисунке 2.
![](https://habrastorage.org/webt/zu/sa/fu/zusafu6tpbm_obsr65bb1otou64.png)
Рисунок 2 – Результат моделирования распространение инфекции
Таким образом, зная начальное количество восприимчивых, начальное количество инфицированных и коэффициенты распространения, можно спрогнозировать развитие эпидемий.
Коэффициенты β и γ данной модели могут быть рассчитаны на основе теории вероятности, но обычно они вычисляются на основе статистики заболеваемости в конкретных условиях, т.к. они в свою очередь зависят от большого количества разнообразных факторов (плотность населения, его мобильность, и т.п.). Имея статистику заболеваемости, можно выполнить подбор коэффициентов модели, используя минимизацию функционала качества методом градиентной оптимизации. Процесс подбора коэффициентов модели называется калибровкой.
Данные по начальному периоду заболевания помещается в файл. И модель калибруется методом оптимизации.
Чтобы осуществить калибровку модели, в исходную модель необходимо добавить расчёт критерия оптимизации. В данном случае мы можем использовать интеграл относительной ошибки по всем трем параметрам, поделенный на суммарное время расчёта. Вид оптимизационной модели представлен на рисунке 3.
Оптимизацию будем производить на синтетических данных, сформированных по результатам моделирования исходной модели в пределах 20 сек с шагом моделирования 1 сек. Эталонные результаты будут считываться из текстового файла данных. Настройки модуля оптимизации приведены на рисунке 4.
![](https://habrastorage.org/webt/pz/kn/zn/pzknznmyvyhbs-9eoolw8fbmsnu.png)
Рисунок 3 – оптимизационная модель для подбора коэффициентов распространения
![](https://habrastorage.org/webt/vu/mx/tb/vumxtbe5exjfgkx-wmmfnu6pfy0.png)
Рисунок 4 – настройки блока оптимизации модели
Результат работы оптимизатора на фрагменте синтетических данных приводит к значениям коэффициентов, которые были использованы для получения этих данных, что говорит о её корректности применительно к задаче подбора коэффициентов распространения инфекции.
Все, кто хочет самостоятельно исследовать распространение инфекции в своем регионе, может взять модель здесь… Как говорится, знания в массы.
Как мы видим, методы ТАУ и инструменты работают не только в технических системах, но и в биологии и медицине. Учение ТАУ всесильно, потому что оно верно.