Размер шрифта
-
+

Искусственный интеллект в прикладных науках. Медицина - стр. 19

```python

import numpy as np

import matplotlib.pyplot as plt

def seirs_model(beta, sigma, gamma, delta, susceptible, exposed, infectious, recovered, days):

N = susceptible + exposed + infectious + recovered

S = [susceptible]

E = [exposed]

I = [infectious]

R = [recovered]

for _ in range(days):

new_exposed = beta * S[-1] * I[-1] / N

new_infectious = sigma * E[-1]

new_recovered = gamma * I[-1]

new_susceptible = delta * R[-1]

susceptible -= new_exposed

exposed += new_exposed – new_infectious

infectious += new_infectious – new_recovered

recovered += new_recovered – new_susceptible

S.append(susceptible)

E.append(exposed)

I.append(infectious)

R.append(recovered)

return S, E, I, R

# Параметры модели

beta = 0.3 # Скорость инфекции

sigma = 0.2 # Скорость инкубационного периода

gamma = 0.1 # Скорость выздоровления

delta = 0.05 # Скорость временного иммунитета

susceptible = 990

exposed = 10

infectious = 0

recovered = 0

days = 160

# Запуск модели

S, E, I, R = seirs_model(beta, sigma, gamma, delta, susceptible, exposed, infectious, recovered, days)

# Визуализация результатов

plt.figure(figsize=(10, 6))

plt.plot(S, label='Susceptible')

plt.plot(E, label='Exposed')

plt.plot(I, label='Infectious')

plt.plot(R, label='Recovered')

plt.xlabel('Days')

plt.ylabel('Population')

plt.title('SEIRS Model')

plt.legend()

plt.grid(True)

plt.show()

```




Этот код создает функцию `seirs_model`, которая моделирует SEIRS-модель в течение определенного количества дней. Затем задаются параметры модели и вызывается функция `seirs_model` с этими параметрами. Результаты моделирования визуализируются с помощью библиотеки `matplotlib`.

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

– "Susceptible" (подверженные инфекции) показывает, как меняется количество людей, которые могут быть инфицированы.

– "Exposed" (инфицированные, но еще не заразные) показывает количество людей, которые уже заразились, но еще не стали инфекциозными.

– "Infectious" (инфициозные) отображает количество людей, которые являются инфекциозными и могут передавать болезнь.

– "Recovered" (выздоровевшие) показывает количество людей, которые уже выздоровели от болезни и временно имеют иммунитет.

График позволяет визуализировать динамику эпидемии: как изменяется число подверженных инфекции, инфицированных, выздоровевших с течением времени в моделируемой популяции.


4. SIS-модель – это математическая модель, которая описывает динамику распространения инфекционных заболеваний в популяции, учитывая только переход между инфицированными и восприимчивыми состояниями, без учета выздоровления или приобретения иммунитета. В этой модели популяция делится на две основные категории: инфицированные (Infected) и восприимчивые (Susceptible).

Основное предположение SIS-модели состоит в том, что после инфицирования человек остается восприимчивым к заболеванию снова, после того как вылечится или станет носителем болезни. Это означает, что в модели нет категории выздоровевших или имеющих иммунитет.

Математически SIS-модель описывается системой дифференциальных уравнений, которые описывают скорость изменения численности инфицированных и восприимчивых во времени, учитывая параметры, такие как скорость заражения и скорость выздоровления. Эта модель может быть использована для прогнозирования динамики эпидемии, определения оптимальных стратегий контроля и оценки эффективности мер по борьбе с распространением инфекционных заболеваний.

Страница 19