Crise sanitaire du Coronavirus Covid-19 (Rediffusion d’un article publié le 3 avril 2020)

Modélisation d’une épidémie, partie 2

Autres modèles et résolution numérique

Piste noire Le 29 novembre 2021  - Ecrit par  Bayette, Corentin, ZZZZavec la participation de Marc Monticelli pour les simulations Voir les commentaires (14)
Lire l'article en  

La crise sanitaire mondiale du Coronavirus Covid-19 a fait émerger le rôle des modélisations mathématiques dans la prise de décisions politiques et sanitaires. Dans l’article précédent, nous avons introduit le modèle SIR et nous avons discuté de l’effet des mesures sanitaires en illustrant leur impact sur l’évolution de l’épidémie. Nous allons maintenant définir le modèle SEIR et le complexifier grâce à une structure en âge. De plus, une courte partie (difficile mais non-essentielle, qui peut donc être évitée par le lecteur ou la lectrice) a pour objet une approche succincte des méthodes de résolution numérique utilisées. En fin d’article, une simulation interactive utilisant de nombreux paramètres est disponible.

Rediffusion d’un article publié le 3 avril 2020.

Avant de commencer...

Nous rappelons que le modèle SIR comporte trois populations ($S$ pour saine, $I$ pour infectée et $R$ pour retirée), qu’il est schématisé ainsi : où $\beta$ représente le taux d’infection et $\gamma$ le taux de guérison [1], et que son système est le suivant :

\[ \begin{cases} \displaystyle \frac{dS(t)}{dt} &=& -\beta S(t)I(t)&(1.1)\\ \displaystyle \frac{dI(t)}{dt} &=& \beta S(t)I(t)-\gamma I(t)&(1.2)\\ \displaystyle \frac{dR(t)}{dt} &=& \gamma I(t)&(1.3) \end{cases} \]

Les définitions du modèle et de ces paramètres sont disponibles ici : Modélisation d’une épidémie et [HW].

Le modèle SEIR

Le modèle SEIR est un peu plus élaboré : il prend en compte trois hypothèses de plus que le modèle SIR, la démographie de la population en particulier. La population totale $N(t)$ évolue donc au cours du temps $t$. Voici l’évolution du modèle SIR vers le modèle SEIR :

  1. Une nouvelle sous-population est ajoutée : les personnes infectées non-infectieuses (exposed), qui ne sont donc pas contagieuses, représentées par la fonction $E(t)$ ; ce qui permet de prendre en compte la durée d’incubation (via $\alpha$ le taux d’incubation) d’une maladie. En reprenant le schéma et le système du modèle SIR, et en ajoutant un terme ${\color{blue}{\pm \alpha E(t)}}$, on obtient :
    \[ \begin{cases} \displaystyle \frac{dS(t)}{dt} &=& -\beta S(t)I(t)\\ \displaystyle {\color{blue}{\frac{dE(t)}{dt}}} &=& \beta S(t)I(t){\color{blue}{-\alpha E(t)}}\\ \displaystyle \frac{dI(t)}{dt} &=& {\color{blue}{\alpha E(t)}}-\gamma I(t)\\ \displaystyle \frac{dR(t)}{dt} &=& \gamma I(t) \end{cases} \]
  2. Le taux de natalité $\nu$ de la population est aussi considéré. Les personnes sont supposées naître saines, on ajoute alors un terme ${\color{green}{\nu N(t)}}$ à la première ligne :
    \[ \begin{cases} \displaystyle \frac{dS(t)}{dt} &=& -\beta S(t)I(t){\color{green}{+\nu N(t)}}\\ \displaystyle {\color{blue}{\frac{dE(t)}{dt}}} &=& \beta S(t)I(t){\color{blue}{-\alpha E(t)}}\\ \displaystyle \frac{dI(t)}{dt} &=& {\color{blue}{\alpha E(t)}}-\gamma I(t)\\ \displaystyle \frac{dR(t)}{dt} &=& \gamma I(t) \end{cases} \]
  3. Enfin, on complète avec l’ajout du taux de mortalité $\mu$ de la population. Une personne pouvant décéder quelque soit son état (S,E,I ou R), et de cause non liée avec l’épidémie, on retire donc ces personnes de chaque ligne (soit ${\color{red}{-\mu S(t)}}$, soit ${\color{red}{-\mu E(t)}}$, soit ${\color{red}{-\mu I(t)}}$, soit ${\color{red}{-\mu R(t)}}$ selon la sous-population considérée) pour obtenir :
    \[ \begin{cases} \displaystyle \frac{dS(t)}{dt} &=& -\beta S(t)I(t){\color{green}{+\nu N(t)}}{\color{red}{-\mu S(t)}}\\ \displaystyle {\color{blue}{\frac{dE(t)}{dt}}} &=& \beta S(t)I(t){\color{blue}{-\alpha E(t)}}{\color{red}{-\mu E(t)}}\\ \displaystyle \frac{dI(t)}{dt} &=& {\color{blue}{\alpha E(t)}}-\gamma I(t){\color{red}{-\mu I(t)}}\\ \displaystyle \frac{dR(t)}{dt} &=& \gamma I(t){\color{red}{-\mu R(t)}} \end{cases} \]
    Voici ce que nous pouvons obtenir après résolution numérique de ce système.
    Solution du modèle SEIR
    Les taux utilisés sont les suivants : 0,009 (natalité) ; 0,01 (mortalité) ; 0.75 (incubation) ; 0.05 (guérison) et 0.8 (transmission).

Observations : Le taux de mortalité est supérieur au taux de natalité : la population diminue (courbe violette). Le pic des personnes infectées non-infectieuses (courbe verte) précède le pic de la courbe (jaune) représentant les personnes infectées infectieuses. De plus, une fois le pic (de la courbe jaune, personnes infectées) passé, la courbe décroit ; simultanément, les courbes des personnes retirés (rouge) et saines (bleue) croissent.

Vous pouvez à présent vous rendre compte de l’évolution de la solution du système SEIR en jouant sur les paramètres grâce à cette simulation interactive :

Une question se pose : comment calculer tous ces paramètres $\alpha, \beta, \gamma, \mu$ et $\nu$. Ce travail est effectué en collaboration entre les équipes médicales, les épidémiologistes et virologistes, et les mathématiciens. Les taux de natalité et de mortalité peuvent être obtenus grâce au recensement effectué par l’INSEE. Mais alors par exemple :


Comment calculer le taux de mortalité d’une maladie ? La réponse semble simple, on divise le nombre de morts par le nombre de personnes contaminées. Mais il y a un piège ! [2] Pour de nombreux virus (et c’est le cas du Covid-19), le nombre de personnes asymptomatiques [3] n’est pas négligeable, le nombre de personnes contaminées est donc plus grand et le taux de mortalité plus faible. Une discussion sur ce sujet fait l’objet de l’article Taux de mortalité du virus Ebola (piste rouge) de ce site.


Dans notre modélisation, nous avons utilisé de fortes hypothèses : une personne retirée est immunisée (c’est à dire qu’il n’y a pas de rechute, ce qui est le cas de la varicelle mais pas de la grippe saisonnière par exemple), les personnes naissent saines, etc. Le dépliant ci-dessous présente quelques modèles SEIR modifiés [ST] pour tenir compte de ces paramètres et leurs effets sur les courbes.

D’autres modèles SEIR

Les modèles SEIR peuvent être modifiés afin de prendre en compte plus d’hypothèses selon les caractéristiques d’un virus ; voici trois exemples.

Perte d’immunité

Pour certains virus, il est nécessaire de prendre en compte la perte d’immunité des personnes : des personnes retirées redeviennent saines, c’est à dire qu’elles sont susceptibles (avec un taux ${\color{orange}{\delta}}$) d’être de nouveau infectées. On modifie le schéma en conséquence : ce qui se traduit sur le système ainsi :
\[ \begin{cases} \displaystyle \frac{dS(t)}{dt} &=& -\beta S(t)I(t){\color{green}{+\nu N(t)}}{\color{red}{-\mu S(t)}}{\color{orange}{+\delta R(t)}}\\ \displaystyle {\color{blue}{\frac{dE(t)}{dt}}} &=& \beta S(t)I(t){\color{blue}{-\alpha E(t)}}{\color{red}{-\mu E(t)}}\\ \displaystyle \frac{dI(t)}{dt} &=& {\color{blue}{\alpha E(t)}}-\gamma I(t){\color{red}{-\mu I(t)}}\\ \displaystyle \frac{dR(t)}{dt} &=& \gamma I(t){\color{red}{-\mu R(t)}}{\color{orange}{-\delta R(t)}} \end{cases} \]

L’effet sur l’évolution de l’épidémie est le suivant :

Illustration de la perte d’immunité
On a repris les mêmes paramètres que pour le modèle SEIR auxquels on a ajouté le taux de perte d’immunité (ici 0,04).

A partir de $t=45$, les personnes retirées (courbe rouge) commencent à redevenir saines (courbe bleue), et donc de nouveau susceptibles d’être infectées. Ce qui se traduit par une chute de la courbe rouge et un pic pour la courbe bleue. En outre, on observe un léger pic de la courbe verte (personnes infectées non-infectieuses) juste avant un nouveau pic de la courbe jaune représentant les personnes infectées. En fait, l’épidémie recommence...

Vaccination

Pour éviter ou limiter les conséquences d’une perte d’immunité, une politique de vaccination (avec un taux ${\color{purple}{\epsilon}}$ de vaccination) peut être mise en place. Des personnes saines vont donc directement devenir retirées. On a alors : puis :
\[ \begin{cases} \displaystyle \frac{dS(t)}{dt} &=& -\beta S(t)I(t){\color{green}{+\nu N(t)}}{\color{red}{-\mu S(t)}}{\color{purple}{-\epsilon S(t)}}\\ \displaystyle {\color{blue}{\frac{dE(t)}{dt}}} &=& \beta S(t)I(t){\color{blue}{-\alpha E(t)}}{\color{red}{-\mu E(t)}}\\ \displaystyle \frac{dI(t)}{dt} &=& {\color{blue}{\alpha E(t)}}-\gamma I(t){\color{red}{-\mu I(t)}}\\ \displaystyle \frac{dR(t)}{dt} &=& \gamma I(t){\color{red}{-\mu R(t)}}{\color{purple}{+\epsilon S(t)}} \end{cases} \]

Voici l’impact d’une politique de vaccination sur l’évolution de l’épidémie :

Illustration de la vaccination
Les paramètres choisis sont identiques à ceux utilisés pour le modèle SEIR avec en plus le taux de vaccination (ici de 0,7).

A $t=40$, on observe un « saut » vers le haut sur la courbes rouge (retirées) et un « saut » vers le bas pour la courbe bleue (saines) : la vaccination permet à des personnes saines de devenir directement retirées, et donc immunisées. La vaccination n’a en revanche aucun effet sur l’évolution de l’épidémie en ce qui concerne les personnes infectées (courbe jaune).

Transmission et immunité in-utéro

Certaines mères infectées peuvent transmettre directement le virus au nouveau-né (qui est donc potentiellement directement infecté). Cette hypothèse modifie le modèle de la façon suivante : et le système devient :
\[ \begin{cases} \displaystyle \frac{dS(t)}{dt} &=& -\beta S(t)I(t){\color{green}{+\nu N(t)}}{\color{red}{-\mu S(t)}}\\ \displaystyle {\color{blue}{\frac{dE(t)}{dt}}} &=& \beta S(t)I(t){\color{blue}{-\alpha E(t)}}{\color{red}{-\mu E(t)}}\\ \displaystyle \frac{dI(t)}{dt} &=& {\color{blue}{\alpha E(t)}}-\gamma I(t){\color{red}{-\mu I(t)}}{\color{green}{+\nu I(t)}}\\ \displaystyle \frac{dR(t)}{dt} &=& \gamma I(t){\color{red}{-\mu R(t)}} \end{cases} \]

Au contraire, le nouveau-né peut être immunisé « naturellement » contre le virus, et devient immédiatement retiré. On a alors : et
\[ \begin{cases} \displaystyle \frac{dS(t)}{dt} &=& -\beta S(t)I(t){\color{green}{+\nu N(t)}}{\color{red}{-\mu S(t)}}\\ \displaystyle {\color{blue}{\frac{dE(t)}{dt}}} &=& \beta S(t)I(t){\color{blue}{-\alpha E(t)}}{\color{red}{-\mu E(t)}}\\ \displaystyle \frac{dI(t)}{dt} &=& {\color{blue}{\alpha E(t)}}-\gamma I(t){\color{red}{-\mu I(t)}}\\ \displaystyle \frac{dR(t)}{dt} &=& \gamma I(t){\color{red}{-\mu R(t)}}{\color{green}{+\nu I(t)}} \end{cases} \]

Mixage

Toutes ces différentes déclinaisons du modèle SEIR peuvent être combinées : un virus avec perte d’immunité et transmission in-utéro ou une politique de vaccination avec une immunité des nouveau-nés. Les variations sont presque aussi nombreuses que les différents virus que l’on peut rencontrer.

Malgré la complexification du modèle, il semble que de nombreux paramètres ne soient pas encore pris en compte par le modèle SEIR. En effet, pour l’instant nous regardons l’évolution de l’épidémie uniquement par rapport au temps $t$. Dans le prochain modèle, nous allons en plus prendre en compte l’âge $a$ des personnes.

Modèle SEIR structuré par âge

Dans ce modèle, on considère que le comportement de la maladie dépend de l’âge de la personne (ce qui est le cas pour le Covid-19), on obtient alors des équations aux dérivées partielles (EDP). En reprenant grosso-modo le système du modèle SEIR, et avec les mêmes sous-populations $S(a,t), E(a,t), I(a,t)$ et $R(a,t)$ que précédemment mais en fonction du temps $t$ et de l’âge $a$, on a :
\[ \begin{cases} \displaystyle \frac{\partial S(a,t)}{\partial t}+\frac{\partial S(a,t)}{\partial a} &=& -\lambda(a,t) S(a,t)-\mu(a) S(a,t)&(2.1)\\ \displaystyle \frac{\partial E(a,t)}{\partial t}+\frac{\partial E(a,t)}{\partial a} &=& \lambda(a,t) S(a,t)-\alpha(a) E(a,t)-\mu(a)E(a,t)&(2.2)\\ \displaystyle \frac{\partial I(a,t)}{\partial t}+\frac{\partial I(a,t)}{\partial a} &=& \alpha(a) E(a,t)-\gamma(a)I(a,t)-\mu(a)I(a,t)&(2.3)\\ \displaystyle \frac{\partial R(a,t)}{\partial t}+\frac{\partial R(a,t)}{\partial a} &=& \gamma(a)I(a,t)-\mu(a)R(a,t)&(2.4) \end{cases} \]

avec $\alpha(a),\gamma(a)$ et $\mu(a)$ respectivement les taux d’incubation, de guérison et de mortalité qui dépendent tous de l’âge. Nous considérons de plus que $I(0,t)=E(0,t)=R(0,t)=0$ et $S(0,t)=S_L$ ; c’est à dire que, pour tout temps $t$, les personnes naissent ($a=0$) saines et où $S_L$ est un paramètre connu pour une population donnée (taux de natalité en fonction de l’âge). Un des coefficients semble plus compliqué que pour les modèles précédents : le taux d’infection, noté ici $\lambda(a,t)$. Il dépend de l’âge de l’individu et du temps, et est donné par \[\lambda(a,t)=\int_0^{a_{\text{max}}}\beta(u,a)I(u,t)du\] où $a_{\text{max}}$ est l’âge maximal atteint dans la population et $\beta$ est une fonction qui décrit le taux d’infection pour un âge donné fixé. Le coefficient $\lambda$ permet de sommer (d’où l’intégrale) le nombre de personnes saines qui vont devenir infectées au contact d’autres personnes infectées (d’où $\beta(u,a)I(u,t)$) pour chaque âge considéré (de 0 à $a_{\text{max}}$). Nous avons choisi ici une gaussienne centrée en $a$ pour représenter $\beta$, nous considérons qu’il est en effet plus probable qu’une personne contamine d’autres personnes d’un âge relativement proche (écoles, universités, travail,...) : \[\beta(u,a)=\frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{(u-a)^2}{2\sigma^2}}\] où $\sigma$ dépend du virus considéré.

Pourquoi ce choix et illustration

Loi normale (ou gaussienne) centrée en a=40 et d’écart-type de 15 ans

Cette courbe « en cloche » illustre le fait qu’un malade de 40 ans va en majorité contaminer des personnes de plus ou moins 20 ans que lui. C’est effectivement là où la courbe est la plus haute (entre 20 et 60 ans environ). A l’opposé, il a peu de chance de contaminer des personnes entre 0 et 10 ans et de plus de 70 ans. Ce choix de fonction dépend du virus considéré et peut bien évidemment être contesté et modifié.

Pour plus de précisions et de renseignements sur la gaussienne (aussi connue sous le nom de « la courbe en cloche »), nous vous conseillons, selon votre niveau et/ou votre intérêt, de lire ça (piste verte) ou ça (piste bleue) ou bien, pour les plus téméraires, ça (piste noire). Il s’agit du même article écrit pour trois niveaux de lecture différents.

Une fois tous ces paramètres définis :


Comment lire ce système d’équations ?

De manière analogue aux modèles SIR et SEIR, les variations en âge $a$ et en temps $t$ sont représentées par des dérivées partielles (car elles ne prennent en compte chacune qu’une partie des deux données) : $\frac{\partial}{\partial t}$ pour le temps et $\frac{\partial}{\partial a}$ pour l’âge. Ensuite la lecture du système est semblable à celle du modèle SEIR : un terme avec $-\mu(a)$ représente sur chaque ligne les personnes décédées, le terme $\pm \lambda(a,t) S(a,t)$ aux lignes (2.1) et (2.2) représente le nombre de personnes saines qui deviennent infectées non infectieuses, le terme $\pm\alpha(a)E(a,t)$ celui des personnes non infectieuses (2.2) qui le deviennent (2.3), et enfin le terme $\gamma(a)I(a,t)$, représentant les personnes qui guérissent (2.4), est soustrait de la ligne (2.3).


En utilisant une méthode numérique plus compliquée que celle pour les modèles SIR et SEIR, nous pouvons obtenir ces graphiques :

Comparaison de l’épidémie au début (t=0) et à la fin en fonction de l’âge
Le taux de natalité est de 0,009. Les autres taux sont modélisés en fonction de l’âge : une fonction proportionnelle à la fonction carrée pour la mortalité (la taux augmente en fonction de l’âge), une fonction affine décroissante pour la guérison (le taux diminue fortement avec l’âge), une fonction affine croissante pour l’incubation (le taux augmente avec l’âge : les personnes âgées vont devenir infectées infectieuses, passage de E à I, avec un plus grand taux que les personnes plus jeunes . Enfin, le taux de transmission utilisé est calculé en utilisant une loi normale (comme expliqué ci-dessus).
Ces choix peuvent être modifiés et ajustés selon le virus considéré.

On voit clairement (sur le graphique de droite, courbe violette) que la population de plus de 60 ans a été fortement diminuée suite à l’épidémie, ce qui n’est pas le cas de la population âgée de 0 à 25 ans environ. De plus, le nombre de personnes infectées non-infectieuses (courbe jaune, à droite) est plus élevé chez les jeunes entre 0 et 20 ans que chez les personnes âgées au-dessus de 60 ans.

L’étude beaucoup plus approfondie du modèle SIR/SEIR structuré par âge est disponible dans [KWI] ou dans [ZK].

Une approche des techniques de résolution numérique des systèmes SIR et SEIR

Les plus avancés mathématiquement auront reconnu que les modèles SIR et SEIR font appel à des équations différentielles ordinaires (EDO) non-linéaires pour lesquelles nous n’avons pas de résolution explicite, nous n’avons pas de formule donnant directement la réponse. Le modèle SEIR structuré pas âge, quant à lui, fait apparaître des dérivées partielles (EDP). Il faut dès lors avoir recours à des méthodes de résolution numérique [4] pour les résoudre. Cette partie étant nettement plus technique et n’apportant pas grand-chose à la compréhension du problème, elle est rédigée dans le bloc dépliant suivant et est laissée aux lecteurs les plus expérimentés.

Résolution numérique

En l’absence de solution explicite, le principe général est de discrétiser le système en temps (pour SIR et SEIR) et en âge (SEIR par l’âge).

Modèles SIR et SEIR : méthode d’Euler

Pour ces deux modèles, toutes les équations des deux systèmes sont de la forme $y'=f(t,y(t))$, nous choisissons alors d’utiliser ici la méthode d’Euler dont le principe est d’approcher itérativement la solution $y$ grâce à un développement de Taylor à l’ordre 1. Pour $i\in\{0,1,...n-1\}$, les itérés sont $y_{i+1}=y_i+dtf(t_i,y_i)$ pour Euler explicite ou $y_{i+1}=y_i+dtf(t_i,y_{i+1})$ pour Euler implicite qui nécessite alors d’utiliser la méthode de Newton (voir aussi : La méthode de Newton et son fractal... en 3D).

Ce qui nous donne (cas explicite) pour le modèle SIR :

  • $S_{i+1}=S_i - dt(\beta S_i I_i)$ pour les personnes saines
  • $I_{i+1}=I_i + dt(\beta S_i I_i - \gamma I_i)$ pour les personnes infectées
  • $R_{i+1}=R_i + dt(\gamma I_i)$ pour les personnes retirées

que l’on modifie légèrement pour le modèle SEIR (cas explicite) afin d’obtenir :

  • $S_{i+1}=S_i + dt(-\beta S_i I_i + \nu N_{i} - \mu S_{i})$ pour les personnes saines
  • $E_{i+1}=E_i + dt(\beta S_i I_i - \alpha E_{i} - \mu E_{i})$ pour les personnes infectées non-infectieuses
  • $I_{i+1}=I_i + dt(\alpha E_{i} - \gamma I_{i} - \mu I_i)$ pour les personnes infectées
  • $R_{i+1}=R_i + dt(\gamma I_{i} - \mu R_i)$ pour les personnes retirées

Ceci nous permet de pouvoir calculer l’évolution de chaque population au temps $i+1$ en fonction de l’état des populations au temps $i$.

Explicite vs implicite : pourquoi deux méthodes ? Chacune a des avantages (facilité d’implémentation) et des inconvénients (instabilité notamment) selon la valeur des paramètres choisis, mais nous ne rentrerons pas dans la comparaison de ces deux méthodes (stabilité, convergence, etc.) dans cet article. Une fois ces calculs implémentés dans un logiciel de calcul, nous obtenons les graphiques illustrant l’évolution d’une épidémie donnée.

Modèle SEIR structuré par âge : maillage et méthode des différences finies

De même que pour les modèles SIR et SEIR, nous ne connaissons pas de solutions explicites pour le schéma en âge. Le principe est alors d’approcher la solution exacte en discrétisant le problème. Pour cela, on créé un pas de temps $\Delta t$ et un pas d’espace (ici correspondant à l’âge) $\Delta a$, puis on définit un maillage de l’espace et du temps : $(t^n,a_j)=(n\Delta t,j\Delta a)$ pour $0\leq n\leq N$ et $0\leq j\leq J$, avec $J$ et $N$ fixés. On approche alors $S(a,t)$ par $S(a_j,t^n):=s_j^n$ [5]. La méthode des différences finies consiste alors à approcher les solutions grâce à un développement de Taylor :
\[\frac{\partial S(a,t)}{\partial t}+\frac{\partial S(a,t)}{\partial a}=\frac{s_j^{n+1}-s_j^n}{\Delta t}+\frac{s_j^n-s_{j-1}^n}{\Delta a} +O(\Delta t + \Delta a)\] En approchant de même tous les termes de (2.1), on obtient après calcul :
\[s_j^{n+1} = s_j^n\Big[-\lambda(a_j,t^n)\Delta t-\mu(a_j)\Delta t-\frac{\Delta t}{\Delta a}+1\Big] +s_{j-1}^n\Big[\frac{\Delta t}{\Delta a}\Big]\]
Ce qui nous permet de calculer le nombre de personnes saines au temps $n+1$ en fonction des personnes saines au temps $n$ ainsi que de le calculer à l’âge $j$ en fonction de l’âge $j-1$. Les calculs sont analogues pour $E(a,t), I(a,t)$ et $R(a,t)$. Là encore, un logiciel de calcul est nécessaire pour obtenir le résultat sous forme de graphique.

D’autres modèles... encore plus compliqués

Jusqu’à maintenant, nous avons considéré l’évolution d’une épidémie uniquement selon l’âge et le temps. Il manque (au moins) un paramètre : l’espace. L’épidémie ne va pas se comporter de manière identique d’un pays à l’autre ou d’une ville à l’autre. On peut en effet prendre une structure de population plus complexe : considérer le flux des personnes (avions, trains, bateaux, voitures), leurs contacts (notamment lors de leurs déplacements) et prédire l’évolution de l’épidémie dans l’espace ; ceci afin de prévoir par exemple à quel endroit il est plus « intéressant » de vacciner en premier, ou quel aéroport il faut fermer. De plus, les modèles épidémiologiques peuvent être plus compliqués en considérant, par exemple, les délais (durée de la maladie, etc.), les méthodes de transmission diverses d’un même virus, la variation du taux de guérison selon le nombre de malades et les différents niveaux d’infectiosité. Sachez que ces modèles existent mais qu’ils ne seront pas détaillés ici.

Pourquoi complexifier les modèles ? Ajouter plus de paramètres a un but : obtenir une simulation plus fine et un résultat plus proche de la réalité. Le niveau de complexité du modèle dépend en effet du nombre de paramètres choisis (structure de la population, interactions possibles, phénomènes à prendre ou pas en compte, etc.) et du modèle utilisé (SIR, SEIR, SEIR âge ou d’autres). Ces choix sont en fait déterminés selon l’objectif de l’étude à mener.

C’est le cas de la simulation interactive suivante qui est basée sur un modèle plus complexe que le seul modèle SIR : elle reprend les trois sous-populations (S, I et R) ainsi que la natalité et la mortalité du modèle SEIR, mais également les déplacements et les contacts des individus modélisés de manière aléatoire. Le confinement y est de plus pris en compte.

Pour les tablettes, voir ici sur le site du CNRS pour une version pleine page.

Les personnes saines (qui peuvent être infectées), infectées, retirées (donc guéries et immunisées) et décédées sont respectivement représentées par des points gris, rouges, verts et des croix noires. Les personnes confinées sont représentées par un point entouré d’un cercle plus épais : elle peuvent être contaminées mais ne peuvent contaminer personne [6].

Conclusion et mise en garde

Le tour d’horizon des modèles épidémiologiques proposé ici n’est bien évidemment pas exhaustif, il aura néanmoins permis d’en découvrir certains parmi les plus simples. Leur résolution numérique (et donc leur implémentation sur ordinateur) reste indispensable en l’absence de méthode de résolution exacte.

Il convient de rappeler pour conclure que les modélisations restent des outils mathématiques qui aident à prévoir l’évolution d’une épidémie donnée ; ils sont certes précis et rigoureux, mais calculés à un moment donné, avec des paramètres donnés et dans un contexte plutôt idéal. C’est pourquoi, à l’image des sondages et des statistiques, il est nécessaire de les utiliser, de savoir les lire mais aussi de les comprendre. Il faut ainsi trouver le bon équilibre entre : considérer sérieusement les modèles d’épidémies obtenus après modélisation et prendre du recul sur la situation.

Références

[HW]
Howard Weiss, The SIR model and the Foundations of Public Health, MATerials MATemàtics, Publicació electrònica de divulgació del Departament de Matemàtiques de la Universitat Autònoma de Barcelona, 2013.

[ST]
Suzanne Touzeau, Modèles épidémiologiques, AgroParisTech (cours au format PDF), 2010.

[KWI]
Toshikazu Kuniya, Jinliang Wang, Hisashi Inaba, A multi-group SIR epidemic model with age structure, Discrete and Continuous Dynamical Systems, 2016.

[ZK]
Gul Zamana, Asaf Khana, Dynamical aspects of an age-structured SIR endemic model, Computers and Mathematics with Applications, 2016.

Post-scriptum :

L’auteur et la rédaction d’Images des Mathématiques remercient Pierre-Antoine Guihéneuf, Jérôme Buzzi et Clément Caubel pour leur relecture rapide et attentive.

Article édité par Berglund, Nils

Notes

[1Plusieurs lettres grecques vont être utilisées dans cet article, voici leur nom et prononciation : « alpha » pour $\alpha$, « bêta » pour $\beta$, « gamma » pour $\gamma$, « delta » pour $\delta$, « epsilon » pour $\epsilon$, « mu » pour $\mu$ et « nu » pour $\nu$.

[2C’est ce qu’on appelle parfois le taux de létalité, à ne pas confondre donc avec le taux de mortalité.

[3Ce sont les personnes infectées mais qui n’ont aucun symptôme, ou très peu. Elles sont donc très difficiles à repérer mais peuvent néanmoins transmettre le virus. Elles doivent/devraient cependant être prises en compte dans le calcul. On estime, au moment de la rédaction de cet article, que le taux de personnes asymptomatiques peut aller jusqu’à $2/3$ des personnes infectées par le Covid-19.

[4Tous les calculs et les graphiques de cet article ont été obtenus avec le langage de programmation Python.

[5Attention, $t^n$ n’est pas une puissance, c’est une notation ! Elle permet d’être cohérent lorsqu’on écrit une valeur approchée $x^n_j$ au temps $t$ et en espace $j$ : avec $n$ en « haut » et $j$ en « bas ».

[6C’est un choix de modélisation des auteurs. Si les personnes confinées sont totalement isolées, elles sortent finalement du problème, et on se ramène à un problème avec moins de population : ça ne correspond pas à la réalité. Avec le confinement, on minimise les interactions mais elles existent (on va chercher ses courses, on reçoit du ravitaillement de l’extérieur, on est dépendant et une infirmière passe, on reçoit un colis,… ).

Partager cet article

Pour citer cet article :

Bayette, Corentin, ZZZZavec la participation de Marc Monticelli pour les simulations — «Modélisation d’une épidémie, partie 2» — Images des Mathématiques, CNRS, 2021

Crédits image :

Image à la une - Le logo de l’article est une image libre de droit représentant un coronavirus.

Commentaire sur l'article

  • Modélisation d’une épidémie, partie 2

    le 6 avril 2020 à 17:33, par ROUX

    J’ai joué avec votre simulation qui « reprend les trois sous-populations (S, I et R) ainsi que la natalité et la mortalité du modèle SEIR, mais également les déplacements et les contacts des individus modélisés de manière aléatoire. Le confinement y est de plus pris en compte. »

    Ma crainte est là, sous mes yeux.

    Sans confinement (et tous les autres paramètres laissés aux valeurs), la mortalité est élevée (15%) mais la population survivante (85%) a atteint le seuil d’immunité grégaire : 100% des points vivants sont immunisés.

    En cas de confinement (84%) , il y a moins de morts (2%) mais la population survivante est malheureusement encore composée de points qui ne sont pas immunisés : en cas de nouvelle apparition du virus, il va falloir à nouveau confiner la population...

    Répondre à ce message
    • Modélisation d’une épidémie, partie 2

      le 20 avril 2020 à 13:35, par Corentin Bayette

      Bonjour,

      Comme vous l’écrivez, les modélisations illustrent les deux cas de figure possibles avec ou sans confinement. Mais je pense que vous pointez du doigt la limite entre ce que les maths apportent et les décisions de politique sanitaire prises.

      Les décisions appartiennent au pouvoir politique (ce qui dépasse largement le but de cet article) qui doit également prendre en compte la réaction de la population : je ne suis pas sûr qu’un taux de mortalité élevé soit bien accueilli, même s’il signifie qu’une seule période de confinement sera/aurait été nécessaire.

      Il est vrai cependant que l’immunité (ou pas) de la population reste un problème.

      Cordialement,
      Corentin BAYETTE

      Répondre à ce message
  • Modélisation d’une épidémie, partie 2

    le 16 avril 2020 à 16:35, par Youri

    Bonjour,

    Merci pour cet article accessible et compréhensible par tous c’est super ! Où est ce que je pourrais trouver plus d’informations (aussi claires) concernant les modèles plus complexes prenant en compte la dimension spatiale ? Ainsi que la méthode utilisée pour faire ce genre de modélisation (spatiale) ? Cela est il accessible à un étudiant en CPGE ?

    Répondre à ce message
    • Modélisation d’une épidémie, partie 2

      le 20 avril 2020 à 13:47, par Corentin Bayette

      Bonjour,

      Merci beaucoup pour ce commentaire. L’accessibilité de cet article au plus grand nombre de lecteurs était l’objectif premier de la rédaction : je suis heureux que ce point semble réussi.

      J’avoue que mes connaissances sont assez limitées sur les modèles spatiaux. Je sais néanmoins qu’une des théories utilisées est la théorie des graphes (voir notamment l’article Wikipédia) qui permet à la fois d’avoir une approche mathématique et informatique (et donc des modélisations). En fait, les nœuds peuvent correspondre aux individus ou aux villes par exemple et les arrêtes aux contacts ou aux transports.
      Je pense que certains points de cette théorie (et notamment le début) sont accessibles à un élève de CPGE (en lien avec l’option info en MP par exemple).

      N’ayant pas fait les modélisations spatiales moi-même et n’étant pas spécialiste du sujet, je n’ai cependant (désolé) pas de document précis à proposer. N’hésitez-pas à contacter Marc Monticelli ( le co-auteur) pour avoir plus d’infos.

      Encore merci,
      Corentin BAYETTE

      Répondre à ce message
  • Système incomplet .Modélisation d’une épidémie, partie 2

    le 25 avril 2020 à 19:13, par EMMANUEL BEAU

    Bravo pour votre exposé.
    Cependant dans le système d’ODE de SEIR il manque
    diff N/dt= (nu-mu)*N
    Si non N (t) n’est pas défini. D’ailleurs l’intégration numérique ne démarre pas. Je peux vous envoyer un programme Maple très compact si vous le désirez.
    Cordialement.

    _

    Répondre à ce message
    • Système incomplet .Modélisation d’une épidémie, partie 2

      le 28 avril 2020 à 15:31, par Corentin Bayette

      Merci.

      Il ne me semble pas nécessaire d’avoir une équation différentielle pour $N(t)$. Il suffit de considérer $N$ comme somme des quatre sous-populations : $N(t)=S(t)+E(t)+I(t)+R(t)$. C’est d’ailleurs comme ça que je l’ai implémenté dans mon code Python.

      Cordialement

      Répondre à ce message
  • Modélisation d’une épidémie, partie 2

    le 9 mai 2020 à 22:38, par Dominique

    Bonjour,
    Votre exposé sur l’intérêt de la modélisation numérique jusque dans l’analyse d’une pandémie est passionnant : j’ai eu la chance de participer au développement de ces méthodes, fortement lié d’ailleurs aux capacité de calcul, l’un n’allant pas sans l’autre, dans le domaine de la physique (équation de Fourier entre autres) pour l’Industrie Spatiale.
    C’était dans les années 1970-80, dans une autre vie (!) : méthode des différences finies, résolution explicite, implicite, Crank-Nicholson (stable) ...
    Certes le sujet est ici plus dramatique mais il est extraordinaire que ces méthodes puissent ainsi aider à la prévision d’une épidémie et fournir des informations pour la circonscrire (études paramétriques)
    J’ai deux questions :

    • quelle est la réalité de la variable temps, s’agit-il d’une variable réduite ou l’unité en est définie par les constantes intervenant dans le modèle ? Quel est le pas de temps assurant la meilleure stabilité et précision ?
    • effectivement la seconde variable, l’espace, manque cruellement. A l’heure d’une France confinée par départements rouges ou verts, j’imagine bien la complexité, mais aussi l’intérêt d’un modèle prenant en compte ces flux de circulation inter-départements avec chacun ses caractéristiques (densité de population, fragilité de la population, etc etc ).
      Vous dites que des modèles existent, pouvez-vous donner quelques références ?
      Merci
    Répondre à ce message
    • Modélisation d’une épidémie, partie 2

      le 12 mai 2020 à 18:38, par Corentin Bayette

      Bonjour,
      et merci beaucoup pour ce commentaire.

      Par rapport à vos deux questions :

      La variable temps est considérée comme continue puis discrétisée lors de la résolution numérique. Dans ces articles, elle a une unité de temps arbitraire (de 0 à 100). On peut, pour une modélisation plus précise, adapter cette unité au virus étudié (jours, semaines, mois, années).

      La stabilité va dépendre de la méthode de résolution numérique : stable sous condition pour un modèle explicite (prendre un dt très « petit ») et stable pour un modèle implicite (mais avec une difficulté supplémentaire lors du calcul). Ayant préféré l’approche pratique pour ces articles, je n’ai pas effectué de calculs théoriques concernant la stabilité. Comme elle dépend également de la valeur des paramètres utilisés ; je vous renvoie ici pour (beaucoup) plus d’informations.

      Enfin, voici une référence concernant les modèles spatiaux et la structures des graphes.

      Corentin BAYETTE

      Répondre à ce message
      • Modélisation d’une épidémie, partie 2

        le 30 décembre 2020 à 18:10, par Dominique

        Bonjour,
        J’ai repris le modèle SEIR, résolu en explicite.
        Je ne comprends pas le terme μSi+1 dans le calcul de Ii+1 ?
        Je verrai plutôt μI(t).
        Merci pour une explication ...
        Dominique

        Répondre à ce message
        • Modélisation d’une épidémie, partie 2

          le 5 janvier 2021 à 20:12, par Corentin Bayette

          Bonjour,

          Effectivement une erreur s’est glissée dans l’article. Elle a été corrigée.
          Merci pour votre lecture attentive.

          Corentin Bayette

          Répondre à ce message
  • Modélisation d’une épidémie, les vagues

    le 17 novembre 2020 à 10:35, par jjvz

    Bonjour,
    Merci pour ces modélisations.
    Pour ma part , j’ai simulé les vagues successives en utilisant les exposants positifs de Lyapounov .
    Voir photo annexée .
    Merci de votre commentaire .
    Cordialement.
    Jean-Jacques

    Document joint : covid-vagues002.png
    Répondre à ce message
    • Modélisation d’une épidémie, les vagues

      le 5 janvier 2021 à 17:34, par Corentin Bayette

      Bonjour,

      merci pour votre retour et pour votre apport.

      Cordialement,
      Corentin Bayette

      Répondre à ce message
  • Modélisation d’une épidémie, partie 2

    le 12 novembre 2021 à 23:24, par Ghizlane

    Merci pour cet article.. c’est très pertinent.
    Svp..Pouvez vous me communiquer le code avec lequel vous avez fait la simulation numérique.
    Merci.

    Répondre à ce message
  • Code python modélisation d’une épidémie, partiE 2

    le 10 août 2022 à 12:36, par Stephane

    Bonjour, je viens de lire avec un grand intérêt votre article.
    Est il possible de partager avec moi votre code python ?
    J’aimerais l’exploiter pour réaliser des études personnelles. En vous citant bien sûr.

    Merci d’avance.

    Mon adresse mail : stephanekuitche08 yahoo.com

    Répondre à ce message

Laisser un commentaire

Forum sur abonnement

Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d’indiquer ci-dessous l’identifiant personnel qui vous a été fourni. Si vous n’êtes pas enregistré, vous devez vous inscrire.

Connexions’inscriremot de passe oublié ?

Dossiers

Cet article fait partie du dossier «Épidémies» voir le dossier