Catégories
FR Risques mondiaux

Coronavirus : une simulation pour comprendre

L’objet de cet article est de présenter les résultats d’une simple simulation réalisée pour mieux expliciter le paramètre R0 qui commande à la propagation d’une épidémide comme celle du nouveau coronavirus Covid-19.

J’ai déjà évoqué le sujet du Coronavirus et son impact économique direct et indirect sur l’économie chinoise dans un premier article.

L’objet de ce nouvel article est de présenter les résultats d’une petite simulation que j’ai réalisée pour mieux expliciter les paramètres qui commandent à la propagation d’une épidémie telle que celle du coronavirus, en passe de devenir une pandémie mondiale.

Précisons tout d’abord que je ne suis ni un épidémiologiste, ni un spécialiste de santé publique, et encore moins un microbiologiste. Les analyses réalisées ici sont uniquement une manière de vulgariser certaines notions utilisées par les spécialistes pour cerner la dynamique de cette épidémie, qui s’est déclarée en Chine à la fin de l’année 2019 et qui prend désormais une ampleur mondiale. J’invite fortement toute personne intéressée à consulter les travaux des spécialistes sur ces questions, notamment ceux de l’Université John Hopkins aux Etats-Unis, et ceux de l’Imperial College à Londres.

Dans mon premier article j’ai exposé quelques éléments de base sur les modèles compartimentaux utilisés en épidémiologie, et j’ai mentionné un certain nombre d’articles et d’études parues récemment sur le nouveau coronavirus (Covid-19) et sur sa propagation en Chine au cours deux premiers mois de l’année, ainsi que sur la réponse des autorités chinoises.

J’ai cherché à aller plus loin en réalisant une simulation sur la base du langage de programmation R, en m’appuyant sur un modèle du type SEIR (Susceptible, Exposed, Infected, Recovered).

J’ai également cherché à intégrer un « effet réseau », à travers une modélisation du nombre de contacts journaliers au sein d’une population donnée. Ce paramètre, qui est un proxy de la « densité de la population », est déterminant pour comprendre la rapidité de propagation d’une infection en fonction de la configuration spatiale.

Pour cela, j’ai utilisé la librairie de programmes en R contenus dans le package Epimodel, que l’on peut trouver sur le site éponyme. J’ai également intégré un profil de risque de létalité qui augmente selon l’âge des individus, à travers une fonction de « montée en puissance » de type logistique. Enfin, je n’ai pas tenu compte de l’évolution démographique naturelle dans la population pour ne pas alourdir le modèle. Mais cela n’aurait pas vraiment eu d’incidence sur les résultats, étant donné que l’on s’intéresse ici à l’évolution d’une épidémie sur une courte période (180 jours).

Hypothèses

Voici les différentes hypothèses et les paramètres utilisés pour calibrer le modèle (les lecteurs pressés peuvent directement aller à la section « Résultats ») :

  • Nombre total d’individus : 1000. Choisis par échantillonnage en fonction d’une distribution uniforme entre 1 an et 80 ans (pyramide démographique rectangulaire).
  • Nombre d’interactions quotidiennes « actives » entre individus : 5
  • Nombre d’individus infectés à l’origine : 1
  • Nombre de contacts effectifs par jour entre une personne infectée et une personnes saine lorsqu’elles sont appariées dans le réseau : 1. Il s’agit d’un paramètre obtenu de manière indirecte, car pour des raisons de computatibilité du modèle, il était plus facile de supposer qu’il y avait chaque jour 1/10 de contacts au sein de chaque appariement S-I (Susceptible – Infecté) et que la durée moyenne d’un tel appariement était de 10 jours. Mais une telle hypothèse ne change pas la dynamique d’ensemble du modèle dans une population homogène dans laquelle tous les individus ont un risque d’infection identique.
  • Période moyenne non contagieuse d’incubation du virus (E->I) : 6,5 jours (soit un taux de transition Epsilon = 0.15 entre les états Exposed et Infected)
  • Période moyenne de durée de l »infection contagieuse jusqu’à la convalescence (I->R) : 6,5 jours
  • La probabilité moyenne de décès en cas d’infection (Mu) a été fixée à 2%. La probabilité de décès en fonction de l’âge a été calibrée comme la fonction de répartition d’une loi logistique avec une espérance de 0,5 et un paramètre d’échelle de 0,1. Il en ressort que la probabilité maximale de décès pour les personnes les plus vulnérables, c’est à dire les plus âgées, est de 4%.
  • Nous avons retenu quatre variantes pour le taux de reproduction de base (R0) : 0.9 , 1.35 , 1.8 , 2.25
    • Ces variantes sont obtenues en prenant différentes probabilités d’infection lors d’un contact entre un individu sain et un individus infecté (qui découlent de différents niveaux de précaution). Nous aurions également pu modifier le nombre de contacts. Cela aurait produit le même effet.
    • La probabilité d’infection multipliée par le nombre total anticipé de contacts au sein des appariements entre individus Susceptibles-Infectés (S-I) donne Béta, c’est à dire la probabilité de transition d’un individu de l’état susceptible (S) à l’état de porteur non infectieux du virus (E ou Exposed).
    • Pour obtenir R0 il faut multiplier Béta par le délai moyen de passage d’un état infecté à l’état de guérison (R) ou à l’état de décès (D). Ce délai est l’inverse de la somme des paramètres Gamma et Mu, soit la probabilité de transition entre l’état infectieux (I) et la convalescnce (R) – Gamma – ou entre l’état infectieux (I) et le décès (D) – Mu.
    • R0 = Béta / (Gamma + Mu) dans le cas simplifié où l’on ne tient pas compte de la dynamique démographique naturelle de la population (taux de natalité et de mortalité « naturels »). L’évolution des décès n’est alors due qu’à l’épidémie.

Il est fondamental de raisonner en termes de flux lorsque l’on étudie un phénomène comme une épidémie et de comparer les flux entrants (S –>E –> I) et les flux sortants ( I –> R ou D). Le taux de reproduction de base est un ratio synthétique qui traduit bien la dynamique d’ensemble d’une épidémie en rapportant les flux entrants aux flux sortants. Néanmoins, il faut garder à l’esprit que ce paramètre R0 est lui même une variable aléatoire. Le modèle utilisé ici fait l’hypothèse que certains événements clés qui impactent R0, comme la probabilité d’infection d’un individu sain et la probabilité de décès d’un individu infecté suivent une loi binomiale. Nous avons supposé aussi que les distributions sous-jacentes de ces événements sont stables dans le temps et plus fondamentalement que les processus aléatoires qui sont associés à ces variables sont markoviens. C’est à dire que l’état du système à l’instant t+1 ne dépend que de son état à l’instant t et de probabilités de transition constantes. En outre, le réseau d’interactions entre individus est homogène dans notre cas. Nous ne distinguons pas différents groupes au sein de la population, hormis le facteur d’âge qui n’influence que le taux de létalité. Ces limites sont importantes à prendre en compte pour comprendre le caractère essentiellement didactique de cet exercice.

Résultats

Ci-dessous les résultats détaillés de la simulation réalisée, indiquant la prévalence de chacun des états (S, E, I, R, D) à tout instant au sein de la population totale, à partir d’un seul individu infecté en début de simulation. Dans le cas où R0 est proche de 2, on observe qu’entre 20% à 30% de la population a été contaminée par le virus à l’issue d’une période de 180 jours, en tenant compte de nos hypothèses. Néanmoins, si on observe que la part de la population contaminée par le virus augmente avec R0, la prévalence de l’infection au sein de la population totale reste faible, en raison de la rapidité de la transition entre les états sain, contaminé, infecté et convalescent. Le message principal est que la « disruption systémique » provoquée par le coronavirus doit être relativisée.

Evolution de la population des différents compartiments : S (Susceptible), E (Exposed), I (Infected), R (Recovered), D (Deceased)

Nous montrons également le nombre de décès obtenu dans chaque variante de R0. Dans le cas du Covid-19, plusieurs études et commentaires de spécialistes, que nous avons cités dans notre premier article laissent à penser que le taux de létalité de 2% avancé initialement par les autorités et les médias est très exagéré, en raison des nombreux cas asymptomatiques non détectés. Dans tous les cas, nos résultats doivent être lus et interprétés uniquement comme le produit d’un exercice de modélisation. Leur intérêt réside surtout dans la possibilité de comparer différents scénarios, en mettant en évidence le rôle joué par les différents flux entrants et sortants dans la dynamique d’ensemble d’une telle épidémie / pandémie. Cela permet de relativiser la focalisation des médias et des marchés financiers sur le nombre d’infections et de décès, au détriment d’une compréhension plus fine de la dynamique sous-jacente et des mesures engagées par les autorités des différents pays concernés pour contenir la crise sanitaire.

Nombre de décès simulés sur une population de 1000 individus pour chaque taux de reproduction de base, en supposant qu’aucune mesure de précaution n’est mise en oeuvre pour faire baisser R0.

Références

Les personnes qui souhaitent se documenter davantage sur les méthodes de modélisation utilisées peuvent consulter les deux articles suivants :

  1. BUTTS, Carter T.. network: A Package for Managing Relational Data in R. Journal of Statistical Software, [S.l.], v. 24, Issue 2, p. 1 – 36, may 2008. ISSN 1548-7660. Available at: <https://www.jstatsoft.org/v024/i02>. 
  2. JENNESS, Samuel M.; GOODREAU, Steven M.; MORRIS, Martina. EpiModel: An R Package for Mathematical Modeling of Infectious Disease over Networks. Journal of Statistical Software, [S.l.], v. 84, Issue 8, p. 1 – 47, apr. 2018. ISSN 1548-7660. Available at: <https://www.jstatsoft.org/v084/i08>.

2 réponses sur « Coronavirus : une simulation pour comprendre »

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.