Best et worst case scénarios pour un déconfinement de pandémie

S’il y a bien une interrogation dans tous nos esprits en ce moment, c’est celle-là : Quand ce cauchemar va-t-il bientôt se terminer ?

Il apparaît aujourd’hui de plus en plus évident que le Covid-19 fera partie de nos vies quotidiennes de la même manière que la grippe ou la varicelle. L’éradication de ces dernières n’a jamais pû être réalisée malgré des vaccins et un suivi de leurs épidémies saisonnières respectives.

On peut être tenté de penser qu’il est possible d’éliminer ce virus au Maroc puisque le nombre d’infectés reste faible et le contrôle sanitaire strict et responsable. Mais d’une part, l’apparition régulière de clusters montre que le caractère asymptomatique important des symptômes du virus le rend très difficile à suivre. Et d’autre part, le fait même que d’autres pays aient choisi de se limiter à dompter le virus nous laissera toujours exposés lorsque les frontières seront rouvertes et le commerce mondial relancé. Sauf changement global de paradigme économique.

Alors que faire ?

Lever le confinement. Comme de nombreux pays asiatiques échaudés par de précédentes pandémies, nous devrons également apprendre à modifier nos usages sociaux et professionnels afin de contrôler naturellement la propagation du virus sans éreinter le système sanitaire. Cela suppose des outils technologiques et surtout un grand sens de la responsabilité.

En sommes-nous capable ? Avons-nous même le choix ?

Au regard de cette dernière idée, il me semble que le Covid-19 est un virus de société. Il terrassera les plus inciviques et impréparées mais ne sera qu’une grippe de plus pour les pays les plus robustes et immunisés (au sens sociétal). Seules les sociétés qui auront su s’adapter (ou s’isoler durablement mais est-ce encore possible ?) ne feront pas le sacrifice de leur système de santé et de centaines de milliers de morts pour atteindre l’immunité collective.

Quid de la pandémie en situation de déconfinement

Le déconfinement signifie notamment la levée des restrictions de libertés publiques individuelles et la reprise progressive des activités économiques. Le but est de permettre à la société de refonctionner normalement tout en maîtrisant la situation pandémique. Le déconfinement et ses modalités d’application ne sont qu’une décision politique qu’il convient d’acter. La vraie question est comment évoluera la pandémie dans ce cas ?

Voici quelques scénarios de déconfinement modélisables à l’échelle de notre pays qui peuvent servir à illustrer la complexité de la dynamique du Covid-19 actuel. Attention, certains scénarios sont irréalistes pour ne pas dire fantaisistes, la visée de cet article restant purement pédagogique.

Index

Pour faciliter la navigation dans cet article

Le modèle utilisé

Dans un précédent article, je décrivais brièvement les prémisses d’une modélisation de pandémie basée sur la simulation du comportement individuel de chacun d’entre nous. Cette simulation avait ses forces et ses faiblesses qu’il a fallu résoudre. L’idée était de rendre le modèle le plus vraisemblable possible. Reprenons les bases.

Considérons une population constitué d’individus. Nous affectons à chaque individu :

On attribue à chaque maison :

Chaque individu obligé d’aller à son lieu de travail part de sa maison et passe par un nombre de blocs. Toute personne passant par le même bloc la même journée a un risque d’être contaminée. C’est une façon de modéliser les transports publics que nous allons moduler avec une pondération bien entendu assez faible.

L’épidémie se propage

Ces quatre dernières probabilités sont des paramètres globaux qui représentent l’état du confinement.

Chacune de ces probabilités sera pondérée par l’indice individuel de comportement (matérialisé par les précautions sanitaires, l’usage du masque etc.)

Concernant les états des individus, ils peuvent passer :

Revenir à l’index

Les hypothèses et raccourcis assumés

Il n’y a pas de modélisation sans hypothèses.

Les paramètres liés à l’âge

Les paramètres liés à la vie du virus dans le corps

Les paramètres choisis en situation de vie normale

Les paramètres choisis en situation de confinement normal

Autres paramètres

Tous ces paramètres sont ajustables et me paraissent vraisemblables.

Revenir à l’index

Évaluons à présents quelques scénarios

Le code associé à chaque scénario sera inclus dans l’article afin de permettre aux plus curieux de reproduire les expériences et éventuellement les ajuster en fonction des idées.

Scénario X : Ne rien faire (dit scénario de la grippe saisonnière)

La pandémie commence et les autorités décident que le virus n’est qu’une simple grippe [23]. Aucune modification de comportement n’est demandée à la population. Les cafés, restaurants et entreprises restent opérationnels.

Utilisons les paramètres de situation normale et analysons l’évolution de la situation :

ScX

Ce graphe représente l’état de la population globale. En bleu les personnes en bonne santé, en rouge les personnes infectées, en noir les personnes décédées, en violet les personne hospitalisées et en vert les personnes immunisées.

C’est bien évidemment une hécatombe. Il faut moins de 50 jours pour que l’ensemble de la population ait été infectée. Le résultat est environ une immunité quasi totale et le décès de 3% de la population. La société s’ampute de ses personnes les plus fragiles et âgées pour tourner la page de la pandémie.

Si on s’intéresse à la moyenne sur les 20 simulations du nombre d’hospitalisations et de nouveaux cas : ScX

Une remarque importante me vient à l’esprit :

La rapidité de l’évolution de la maladie prouve les caractéristiques exponentielle d’une pandémie. On caractérise souvent cet aspect par un coefficient dit le R0. C’est le nombre moyen de personnes contaminées par une personne infectée. Au delà de 1, l’épidémie devient une pandémie quasiment incontrôlable : ScX

Sur nos 20 simulations, la pandémie connaît en moyenne trois phases quasi exponentielles avec un R0 approchant les 2.75 caractéristique de maladies contagieuses (sans atteindre le R0 de la varicelle qui va jusqu’à 12). J’interprète ces 3 phases comme des périodes de contamination faciles (à la maison par exemple) par opposition à des périodes où il y a une saturation de l’infection (tout le monde est déjà contaminé à la maison et au travail). Puis une ou plusieurs personnes infectées décident d’aller dans une épicerie un peu plus loin (parce qu’il paraît que là-bas il font une meilleure chbakia) ou d’avoir un mauvais comportement (les masques sont réutilisés et on ne se lave pas les mains en rentrant chez soi) et c’est reparti pour un tour.

Pour lancer les simulations précédentes :

python -m scenario.run --nrun 20  --nday 180 --nind 35000 --scenario -1  --draw exa pop summ R0

Quel aurait été le nombre de morts si nous avions suffisamment de lits quelle qu’ait été la situation ? Passons de 85 à 10000 lits par million d’habitants :

ScX

En moyenne 1.73% sur les 9 simulations les plus distinctes soit une différence de 1.2 points avec le scénario de base de saturation des hôpitaux. Notons qu’à l’échelle d’un pays comme le nôtre, 1.2 points de population correspond à 420.000 personnes décédées. Cela donne froid dans le dos.

python -m scenario.run --nrun 20  --nday 180 --nind 35000 --scenario -1 --nbeds-icu 10  --draw exa pop summ R0

Takeaway scénario X

En l’absence de mesure de confinement, l’infection est complètement généralisée, les hôpitaux saturés et de nombreuses personnes mourront sans avoir eu la chance d’une aide médicale. C’est un scénario cruel pour les personnes fragiles infectées durant le pic de saturation des infrastructures de santé.

Revenir à l’index

Scénario 0 : Éradication totale (dit scénario de l’asile psychiatrique)

Le confinement actuel est maintenu indéfiniment. Car on ne sait jamais si le virus est dormant sur une porte de tramway ou un étal de supermarché.

Considérons les paramètres en situation de confinement décrits plus haut. La pandémie risque de durer plus longtemps : Augmentons la durée des simulations à 360 jours.

Resume

Globalement sur les 9 simulations choisies (parmi 20), la pandémie est fortement retardée sans être tout à fait étouffée. Il est fascinant de constater que celle-ci s’est éteinte sur la simulation n°13, probablement parce que les personnes initialement infectées travaillaient à distance ou vivaient seules. Une pandémie c’est aussi beaucoup de variabilité et donc un lancé de dé au départ (ce qui me fait penser à la Mauritanie qui aurait contenu le Covid-19).

Comment a réagit le système hospitalier ? Resume

Plutôt bien puisque le niveau d’hospitalisation est au maximum de la capacité de lits en soins intensifs sans la dépasser vraiment. Le confinement fonctionne puisqu’il permet de juguler le nombre de nouveaux cas (maximum de 70 versus 2300 dans le scénario X) et la surcharge des hôpitaux (5 versus 300 dans le scénario X).

Il est encore plus intéressant de constater que dans certaines simulations (par exemple les n°5, n°9 et n°12), le déclenchement de la pandémie est retardé de dizaines de jours ce qui peut laisser du temps aux autorités de mieux se préparer.

python -m scenario.run --nrun 20  --nday 360 --nind 35000 --scenario 0 --p-house 0.5 --p-work 0.01 --p-transport 0.01 --p-store 0.02 --draw exa pop summ R0

Mais comment évolue la situation au-delà ? Faisons l’expérience d’aller chercher le devenir de la pandémie au bout de 900 jours (soit quasiment 3 ans) :

Resume

L’immunité collective semble atteinte avec un pourcentage non négligeable de la population infectée (ici près de 40% d’infectés). Mon interprétation est que le télétravail a clairement protégé car il s’applique à une part importante de la population (98% ici) même si le déplacement dans les épiceries reste un vecteur de risque important. L’immunité d’une part importante de la population combinée à un confinement modéré a éteint la pandémie en 3 ans.

Quand on regarde l’évolution du nombre de nouveaux cas quotidien :

Resume

Les barres grises correspondent à la variabilité (ou écart standard) sur les simulations que nous lançons. Le pic de nouveaux infectés ne dépasse pas les 75 personnes en moyenne. Et diminue très lentement.

python -m scenario.run --nrun 5  --nday 900 --nind 35000 --scenario 0 --p-house 0.5 --p-work 0.01 --p-transport 0.01 --p-store 0.02 --draw pop new

Confinement strict ?

Le confinement fonctionne mais 3 ans c’est beaucoup trop long. Et si nous mettions en place un confinement strict (mais pas impossible) qui se traduirait par une probabilité de contagion à l’épicerie extrêmement faible (0.1%) (le moqaddem vient vous ramener un panier désinfecté de nourriture devant le pas de votre porte tous les 3 jours) tout en maintenant les 5% de travailleurs sur place (lançons cette fois-ci 40 simulations sur une durée plus courte de 90 jours) :

Resume

La pandémie est instantanément anéantie. Et ce même si le dernier cas de nouvelle infection peut subsister jusqu’au 60ème jour.

Resume

L’évolution du coefficient R0 montre bien qu’une fois les passé les premiers jours (les 5 premiers infectés contaminent leur entourage proche - famille et travail lorsque c’est le cas), le R0 tombe naturellement à quasiment 0.

python -m scenario.run --nrun 40  --nday 90 --nind 35000 --scenario 0 --p-house 0.5 --p-work 0.01 --p-transport 0.01 --p-store 0.001  --draw exa pop summ R0

Pour rendre la situation plus réaliste (et plus proche de ce que nous vivons au Maroc), nous partirons dans les scénarios suivants sur le même confinement strict en corsant un peu le point de départ : 50 personnes initialement infectées.

Resume

Pas de surprise, le confinement strict est efficace tant qu’il est prolongé indéfiniment.

python -m scenario.run --nrun 40  --nday 90 --nind 35000 --scenario 0 --p-house 0.5 --p-work 0.01 --p-transport 0.01 --p-store 0.001 --inn 50  --draw exa pop summ R0

Takeaway scénario 0

L’épidémie peut donc se prolonger plusieurs année dans certaines simulations. Mais confiner 35.000 individus pour quelques dizaines de nouveaux cas quotidiens paraît disproportionné. Un confinement strict jugule fortement l’épidémie. Combiné à un contrôle proactif des autorités, le virus pourrait rapidement disparaître. Mais ce scénario semble fort peu probable en raison de sa durée insoutenable pour la société et l’économie.

Revenir à l’index

Scénario 1 : Éradication totale puis retour au bon vieux temps (dit scénario sbro m3ana)

Le confinement infini n’est pas réaliste. Par conséquent, nous allons maintenir le confinement strict défini précédemment jusqu’à extinction totale du nombre de nouveaux cas et étendu un certain nombre de jours après. Puis le déconfinement est progressif : les frontières restent fermées mais la vie quotidienne peut reprendre un cours normal en espérant qu’il n’y ait pas de foyers caché…

Reprenons le paramétrage en situation de confinement strict avec un nombre personnes initialement infectées à 50, mais cette fois-ci, à chaque fois que 14 jours sont passés sans nouveau cas, tous les paramètres de contagion sont passés à la racine dont augmentés (c’est à dire que 0.01 de probabilité de contagion devient 0.1) et les paramètres décroissants en dureté de confinement passés au carré (98% de télétravailleurs devient 96%). On pourrait appliquer d’autres fonctions mais celles-ci font l’affaire puisque les probabilités restent dans [0,1] et sont monotones.

Resume

Sur les 9 simulations les plus distinctes, 7 connaissent un scénario catastrophe : le déconfinement a été réalisé trop tôt malgré la période de sûreté et la progression de la pandémie redevient exponentielle. Pour les simulations n°13 et n°15, attendre 14 jours a été suffisant. Dans cette configuration, le déconfinement arrive en moyenne après 56.10 jours (avec un pic à 82 jours pour une des simulations) ce qui est relativement honnête et acceptable pour la population. Mais visiblement insuffisant en moyenne pour le contrôle de la pandémie.

Si on observe le résumé moyen des simulations, nous avons 0.80% de décès avec une variabilité importante comme nous venons de le voir précédemment :

Resume

Les hospitalisations en violet atteignent tout de même des niveaux importants (24 lits), bien au delà des 4 lits de capacité maximum.

python -m scenario.run --nrun 20  --nday 360 --nind 35000 --scenario 1 --extra 14 --draw exa pop summ lock hos new R0

Regardons ce que ça donne en attendant cette fois-ci 21 jours après la dernière occurrence de nouvelle infection :

Resume

Attendre 3 semaines est bien plus encourageant. Sur les 9 simulations remarquables, seules 4 ont viré au cauchemar au bout d’une centaine de jours tandis que les autres ont permis une maîtrise de la pandémie. Dans cette configuration, le déconfinement intervient en moyenne après 66.48 jours.

Mesurons la dureté moyenne du confinement par une fonction des probabilités de contagion, du taux de télétravail et de la probabilité d’aller à l’épicerie la plus proche. Plus la valeur est élevée et plus le confinement est sévère.

Si on observe la variation de la dureté du confinement :

Resume

Tel qu’espéré, le confinement diminue au fur et à mesure au bout de la cinquantaine de jours. L’intégrale du confinement correspond à la quantité de douleur sociétale et économique endurée. Dans ce scénario, nous avons 266 unités (contre 307 unités en attendant 14 jours).

python -m scenario.run --nrun 20  --nday 360 --nind 35000 --scenario 1 --extra 21 --draw exa pop summ lock hos new R0

Vérifions enfin qu’en définissant une période de sûreté de 28 jours, aucune de nos simulation ne voit sa situation échapper à tout contrôle :

Resume

On constate bien que la pandémie est parfaitement jugulée. Le relâchement se fait en moyenne au bout de 75.33 jours avec un pic de 105 jours pour l’une des simulations.

Resume

Il est logique de constater que la dureté du confinement pour 28 jours d’attente est de 279 unités, soit 13 unités supplémentaires par rapport au scénario à 21 jours d’attente (266 unités). Attendre plus longtemps avant de déconfiner augmente la “quantité totale de confinement”.

Ce qui est par contre plus étonnant de remarquer, c’est que le premier scénario à 14 jours d’attente a un nombre d’unités plus élevé que les deux derniers scénarios. Déconfiner plus vite pour soulager la population et l’économie s’avère contre-productif sur le long terme. Attendre plus longtemps avant de déconfiner, c’est d’une part s’assurer contre le risque d’une rechute pandémique, et d’autre part avoir plus de libertés globalement durant le cours de la pandémie. Sbro m3ana.

python -m scenario.run --nrun 20  --nday 360 --nind 35000 --scenario 1 --extra 28 --draw exa pop summ lock hos new R0

Takeaway scénario 1

Le déconfinement progressif paraît être l’option idéale pour contrôler la propagation du virus sans asphyxier la société. Dans notre jeu de paramètres, une durée de 21 jours d’attente après la dernière nouvelle infection a donné des résultats encourageants qui paraissent à peu près optimaux. Attendre seulement 14 jours semble bien trop risqué. Mais 3 semaines c’est beaucoup trop long. Il faudrait idéalement déconfiner rapidement par exemple après 7 jours et pouvoir ajuster au besoin selon l’évolution de la situation. Peut-on avoir plus de souplesse et déconfiner/reconfiner en fonction de l’évolution de la propagation ?

Revenir à l’index

Scénario 2 : Le risque modulé (dit scénario du yo-yo)

Le modèle du scénario 1 a permis d’extraire une variable intéressante : le nombre de jours avant le début du déconfinement. 21 jours a semblé un sweet spot pour un déconfinement responsable. Mais ce sont 21 jours après la dernière infection déclarée et celle-ci peut tarder. En moyenne avec notre scénario 1 à 21 jours d’attente, il a fallu attendre 66 jours pour la dernière occurence d’infection. Une population peut-elle tenir aussi longtemps sans incivilités [15] ?

Si on y réfléchit un peu plus, le vrai trade-off à aller chercher est bien entre le niveau de saturation des hôpitaux [10] et le niveau de confinement de la population. Confiner c’est soulager le système sanitaire, mais c’est aussi fragiliser l’économie [16] et s’exposer à un mécontentement populaire au mieux, à des manifestations et révoltes au pire [14].

Le scénario 1 n’est donc à première vue pas réalisable et un déconfinement temporaire doit survenir pour relâcher la pression. A quel moment celui-ci peut-il être réalisé et pendant combien de temps ? Suivant quelle périodicité ?

Testons un nouveau scénario :

Sachant que tuer la pandémie nécessiterait trop de temps et trop de confinement, le but assumé est double :

  1. Maintenir les hôpitaux à un niveau de saturation optimal (1 à 2 fois le maximum soit jamais plus de 4 à 8 lits occupés) afin de garder des taux de mortalité normaux
  2. Obtenir la quantité totale d’unités de confinement minimale

Et tenir le plus longtemps possible jusqu’à extinction de la pandémie par chance ou immunité globale. Peut-on faire cela ?

Resume

Voilà qui est intéressant. Le déconfinement de la simulation n°16 n’a pas pu être rattrapé par les resserrements de confinements et la situation a dégénéré (1.44% de morts). Mais la situation est maîtrisée dans la plupart des simulations.

En moyenne, le graphe ci-dessous montre 0.19% de mortalité et une courbe d’hospitalisation (violet) qui fait des vagues.

Resume

Les chiffres au premier abord paraissent satisfaisant mais a-t-on suffisamment déconfiné ?

Resume

508 unités de confinement sur les 360 jours, c’est bien au-dessus de nos variantes du scénario 1 (200 à 300 unités de confinement).

python -m scenario.run --nrun 20  --nday 360 --nind 35000 --scenario 2 --extra 7 1 2  --draw exa pop summ lock hos new R0

Essayons de chercher à atteindre une valeur la plus faible possible sans trop retarder le déconfinement :

Le relâchement sera cette fois-ci acté au bout de 14 jours :

Resume

Resume

Aucune simulation catastrophe cette fois-ci. Le niveau d’hospitalisation reste modéré sans même atteindre en moyenne la capacité maximum.

Resume

Quant au niveau de confinement, nous avons un excellent 314 unités de l’ordre de grandeur. Lorsque nous analysons la courbe finement, il y a des ajustements de type resserrement fréquents entre 50 et 100 jours qui permettent de gérer des situations critiques.

python -m scenario.run --nrun 20  --nday 360 --nind 35000 --scenario 2 --extra 14 1 2  --draw exa pop summ lock hos new R0

Takeaway scénario 2

Un déconfinement modulé adaptatif paraît être une solution intelligente pour déconfiner rapidement et pouvoir ajuster en cas de réactivation de la pandémie. Peut être qu’attendre 28 jours après le dernier cas et tout déconfiner d’une traite est acceptable et auquel cas le scénario 1 reste possible. Mais nous illustrons ici qu’un déconfinement à seulement 14 jours du dernier nouveau cas associé à la possibilité d’ajuster est un bon compromis sociétal et économique.

Revenir à l’index

Scénario 3 : L’immunité collective (dit scénario de la mitigation)

La fameuse idée proposée par les britanniques et suédois était d’aboutir rapidement à l’immunité collective (atteinte en mai en Suède d’après un officiel ? ) de la manière la plus efficiente possible à travers un confinement très limité combiné à une prise de conscience citoyenne irréprochable. Cette idée est séduisante mais nécessite un changement spontanée des comportements (ce qui est le cas en Suède) et un système de santé robuste. Comment se traduit-elle dans la modélisation proposée ?

Concernant la capacité hospitalière, nous allons la rendre infinie afin de ne pas impacter les tables de mortalité. Après tout, un pays qui se lance dans une immunité collective doit avoir confiance en son système de santé.

De plus, autorisons la population à aller travailler en repassant à 58% de personnes en télétravail et uniquement 30% des individus qui vont à l’épicerie la plus proche. Par contre, nous allons considérer des probabilités de contagion strictes : 1% de contagion au travail et dans les transports publics, 0.1% dans les épiceries et toujours 50% dans les foyers.

Nous avions déjà constaté qu’avec la première partie de ces paramètres, la pandémie fait un ravage. Mais nous avions aussi vu qu’avec la deuxième partie de ces paramètres (probabilités de propagation de confinement strict), le virus et très vite maîtrisé au bout d’une cinquantaine de jours. Comment évoluera l’épidémie avec la combinaison de ces deux facteurs ?

Resume

Resume

Ce scénario est similaire au scénario 0 où nous sommes allés chercher une immunité collective extrêmement lentement (900 jours) car le télé-travail avait été maintenu. Sauf qu’ici, l’immunité collective d’à peu près 60% d’infectés est plus rapidement atteinte (250 jours), et bien entendu en éreintant le système de santé (au maximum 10 fois la capacité marocaine, à priori aucun pays développé ne la possède).

Est-il possible de conclure que ne pas confiner tout en maintenant des probabilités de contagion très faible marche ? Probablement si on pense que tous les pays vont devoir chercher une immunité globale un jour ou l’autre, plutôt que d’éradiquer l’épidémie. J’imagine que les 1.26% de décès de population sont un prix à payer en attendant un vaccin.

python -m scenario.run --nrun 20  --nday 360 --nind 35000 --scenario 3 --extra 0  --draw exa pop summ lock hos new R0

Mais je reste sceptique, aucune population ne peut être civilisée au point de prendre des précautions extrêmes pendant 1 an. Testons une variante quelque peu insidieuse :
Chaque semaine, toutes les probabilités de contagion sont augmentées de 3% de manière à aboutir à une augmentation d’à peu près 500% au bout d’un an.

Resume

Resume

Sans surprise, il faut moins de 200 jours pour atteindre l’immunité collective (contre 250 précédemment). Au prix de quasiment 80% d’augmentation de la surcharge hospitalière et 0.3 points de mortalité en plus. En ayant gardé l’impact de la surcharge sur les taux de mortalités, nous aurions vu encore plus de morts. Je laisserais les spécialistes de l’éthique discuter la moralité de tels scénarios.

python -m scenario.run --nrun 20  --nday 360 --nind 3500 --scenario 3 --extra 0.03  --draw exa pop summ lock hos new R0 lock

Revenir à l’index

Takeaway scénario 3

L’immunité collective est-elle une réponse viable à une pandémie plutôt contagieuse mais globalement peu meurtrière (sauf le respect aux personnes qui ont perdu un proche ou un ami) ? Est-elle une solution morale ? Ethique ? Peut-être est-elle la seule solution dans un contexte de pandémie mondialisée. Les prochains mois nous diront ce qu’il en est.

Scénario 4 : Le risque latent des incivilités individuelles (dit scénario du rogue citizen)

Le scénario 0 avec confinement strict a été adopté par les autorités. Ce sera difficile pour la population mais il faut tuer la pandémie au plus vite. Par contre, il existe un peu partout un certain nombre de citoyens infectés qui ne respectent pas les consignes de protection sanitaire. Ce sont les fameux super spreaders [19] [20].

Considérons donc les paramètres de ce scénario avec l’ajustement suivant :

Le confinement strict peut-il vaincre quelques incivilités isolées ?

Mais d’abord, reprenons une illustration du scénario 0. Voici comment meurt la pandémie en confinement strict (la durée des simulation est réduite à 180 jours) :

Resume

Pas de surprise, nous connaissions ces résultats.

python -m scenario.run --nrun 20  --nday 180 --nind 35000 --scenario 4 --extra 0 10  --draw pop summ

Testons à présent avec une seule et unique personne contagieuse au comportement irresponsable par jour :

Resume

Une seule personne par jour a suffit pour alimenter la pandémie et ruiner en moyenne l’effort de 35000 personnes !

Resume

C’est aussi globalement une question de chance. Les simulations n°2 et n°3 s’en sortent honnêtement avec des pourcentage de décès de 0.19% et 0.38%. Mais dans la simulation n°18, on retrouve quasiment le scénario X avec des proportions de décès de plus de 2%. Il est fascinant de voir la sensibilité de notre modèle de confinement au comportement de quelques individus isolés

python -m scenario.run --nrun 20  --nday 180 --nind 35000 --scenario 4 --extra 1 10  --draw exa pop summ lock hos new R0

Takeaway scénario 4

Il faut tester le plus massivement possible. Dépister et isoler car le type d’individu que nous avons modélisé existe dans notre société sans que nous lui prêtions toute mauvaise intention. C’est le vendeur de figue de barbarie (moul lkarrossa) dans la rue, c’est le responsable de rayon de supermarché quelque peu négligent, c’est le conducteur de taxi qui ne porte pas de masque. Nos sociétés fragiles sont sensibles à ce genre d’aléas. Si nous ne permettons pas au plus grand nombre ou à minima à ces individus très exposés d’être dépistés régulièrement, nous nous exposons à ruiner l’effort de confinement et à revenir naturellement au scénario 3 d’immunité collective en ayant gaspillé de précieux mois de confinement strict.

Revenir à l’index

Scénario 5 : Le foyer persistent (dit scénario du quartier rebelle)

Si au lieu d’avoir des individus irresponsables, nous avions un quartier entier mais avec un indice de comportement seulement légèrement plus important que les autres quartiers. A travers ce scénario, nous cherchons à modéliser des quartiers pour lesquels la confinement est structurellement et socialement difficile [21]. Le confinement strict peut-il cette fois-ci battre un quartier entier ?

Nous avions évoqué dans nos hypothèses le système de grille et de quartiers. Il y en a par défaut 400.

Prenons 4 quartiers au hasard (donc à peu près 1% des foyers) et multiplions leur indice de comportement par 10 comme dans le scénario précédent :

Resume

On s’attendait à une explosion de cas mais non. Le confinement est plus fort qu’une minorité incivile sauf dans les simulations n°2 et n°6 pour lesquelles la pandémie se maintient légèrement. Le scénario précédent ciblait précisément les personnes contagieuses et ajoutait une chaque jour alors qu’ici nous avons pris 1% de la population (315 personnes en moyenne soit quasiment le même nombre que les 360 ou 1 par jour du scénario 6).

Resume

Le nombre de nouveaux cas reste tout de même persistant sur plusieurs mois alors qu’on a vu précédemment que le confinement strict tuait la pandémie au bout d’une cinquantaine de jours. L’impact n’est donc pas négligeable.

python -m scenario.run --nrun 20  --nday 180 --nind 35000 --scenario 5 --extra 4 10  --draw exa pop summ lock hos new R0

Takeaway scénario 5

Là encore, tout nous pousse à croire que c’est la détection et isolation précoce des infectés qui prime sur le comportement général de la société. La plupart des gens ne sont pas infectés. Leur comportement n’impacte que très peu le sort de la pandémie. Par contre, quelques individus lorsqu’ils sont contagieux peuvent avoir un pouvoir énorme sur la propagation du virus.

Revenir à l’index

Scénario 6 : Les cas importés (dit scénario du voyageur)

Restons toujours dans la situation de confinement strict mais imposons qu’il y ait un certain nombre de personnes infectées qui arrivent chaque jour dans notre pays. Ce sont des touristes, des MRE, des hommes d’affaire …

Avec par exemple une personne infectée par jour qui s’ajoute à la population, le confinement strict est-il suffisant pour contrôler la pandémie (qui ne peut du coup pas s’arrêter par construction) et l’empêcher de s’emballer ?

Resume

Pas de problème tant que les cas importés sont en nombre plutôt faible. La pandémie est parfaitement contrôlée même si ces cas provoquent une saturation des hôpitaux.

python -m scenario.run --nrun 20  --nday 180 --nind 35000 --scenario 6 --p-store 0.001 --extra 5  --draw exa pop summ lock hos new R0

Si nous continuons ce raisonnement avec cette fois-ci 50 cas importés par jour :

Resume

Resume

L’augmentation semble plus linéaire qu’exponentielle même si le niveau de saturation des hôpitaux est évidemment très élevé.

python -m scenario.run --nrun 20  --nday 180 --nind 35000 --scenario 6 --p-store 0.001 --extra 50  --draw exa pop summ lock hos new R0

L’évolution est-elle exponentielle avec respectivement pour les deux graphes suivants 5 puis 50 cas importés par jour en situation de confinement normal plutôt que strict ?

Resume

Resume

Toujours pas. Ce paramètre ne semble pas jouer sur le type de comportement de la pandémie.

python -m scenario.run --nrun 20  --nday 180 --nind 35000 --scenario 6 --p-store 0.02 --extra 5  --draw exa pop summ lock hos new R0

Takeaway scénario 6

La pandémie en confinement résiste bien aux infections exogènes. Faut-il ouvrir les frontières pour autant ? Je ne m’avancerais pas là-dessus mais je ne suis pas étonné qu’un pays comme la Chine qui ne cherche pas à enrayer l’épidémie mais à la circonscrire ait relancé son trafic aérien [22].

Revenir à l’index

Scénario 7 : L’immunité temporaire (dit scénario de la grippe saisonnière)

Nous terminerons cette dense étude par l’immunité temporaire. Une fameuse étude sud-coréenne expliquait que certains patients testés négatif après avoir été infectés montraient une charge virale qui augmentait peu de temps après. [1] [2]. L’idée qu’il existe une possibilité de rechute face au Covid-19 paraît insoutenable car elle condamnera nos société à vivre dans un confinement permanent ou à sacrifier toutes les personnes exposées. En attendant un vaccin.

Confrontons quelques uns de nos scénarios les plus encourageants à l’immunité temporaire.

Scénario 0 - Confinement strict : On a vue que le confinement strict était très efficace pour éteindre une pandémie en 50 à 60 jours. Pour le tester, nous allons utiliser une immunité très court de 10 à 15 jours et chercher des cas où la fin de la pandémie est retardé :

Resume

Resume

L’épidémie se comporte plutôt bien mais refuse de s’éteindre comme en témoigne le R0 qui oscille au-dessus de 0. Je pense que les infections deviennent cycliques dans les maisons et les lieux de travail en raison de la faible durée de l’immunité. Les hospitalisations semblent s’arrêter au 80ème jour mais globalement la situation est maîtrisée.

python -m scenario.run --nrun 20  --nday 90 --nind 35000 --scenario 0 --p-house 0.5 --p-work 0.01 --p-transport 0.01 --p-store 0.001 --imm 10 15 --draw exa pop summ R0

Scénario 0 - Confinement normal : Le confinement normal permettait de maintenir l’épidémie dans des proportions gérables. Nous avions même observé une immunité collective au bout de 900 jours. Mais par définition, il ne peut plus y avoir d’immunité maintenant. Alors comment va réagir l’épidémie ?

Resume

Très mal. Le réservoir de personnes immunisées ne parvient pas à augmenter suffisamment pour atteindre une immunité collective et étouffer la pandémie. Le résultat logique est l’augmentation énorme du nombre de personnes décédées à 16% en arrêtant la simulation à 900 jours. Cela s’apparente à un lancer de dé : Même si vous réchappez au virus une fois, 10 à 15 jours plus tard, vous redevenez candidats à une infection et donc soumis aux tables de mortalité. Et ainsi de suite jusqu’au décès de suffisamment de personne pour atteindre une “immunité” collective arithmétique provoquée par l’amputation d’une grosse partie de la population. Le scénario n’est pas joyeux. Allons voir ailleurs.

# Attention, cette simulation prend près de 25 minutes
python -m scenario.run --nrun 20  --nday 900 --nind 35000 --scenario 0 --p-house 0.5 --p-work 0.01 --p-transport 0.01 --p-store 0.02 --imm 10 15 --draw exa pop summ R0

En passant la durée de l’immunité à des valeurs plus réalistes : 60 à 90 jours, voici l’évolution du confinement normal sur 900 jours.

Resume Resume

Là aussi, aucune immunité collective n’est atteinte au bout des 900 jours. Prolonger l’immunité ralentit l’augmentation du nombre de décès mais ne semble pas enrayer l’épidémie. Notons quand même que sur le graphe des simulations individuelles, la simulation n°17 a vu l’épidémie s’éteindre comme cela peut arriver lorsque la chance est de notre côté.

# Attention, cette simulation prend près de 25 minutes
python -m scenario.run --nrun 20  --nday 900 --nind 35000 --scenario 0 --p-house 0.5 --p-work 0.01 --p-transport 0.01 --p-store 0.02 --imm 60 90 --draw exa pop summ R0

Scénario 2 - Le yo-yo après 14 jours : Gardons l’immunité de 60 à 90 jours et analysons son effet sur le scénario où on déconfinait et reconfinait en fonction de l’évolution de la situation :

Resume Resume

Le scénario du yo-yo s’est correctement adapté à la situation malgré des explosions de nouveaux cas comme par exemple sur la simulation n°8 rapidement rattrapée par le resserrement.

Resume

Lorsqu’on regarde la courbe d’évolution de la mesure de confinement, on constate un rebond vers 150 jours correspondant probablement aux simulations où il fallu donner un tour de vis avant l’explosion.

python -m scenario.run --nrun 20  --nday 360 --nind 35000 --scenario 2 --extra 14 1 2 --imm 60 90   --draw exa pop summ lock hos new R0

Scénario 3 - L’immunité collective : Ce scénario paraît irréaliste dans le cas d’une immunité temporaire. Mais nous allons constater des phénomènes intrigants :

Resume Resume

Un phénomène de vague d’infection empêche l’immunité collective et reverse des immunisés dans les personnes saines pouvant être contaminées. Lorsque le nombre d’immunisé augmente, la pandémie ralentit naturellement. Mais dès que l’immunité disparaît, la pandémie profite du vivier de personnes saines plus important pour se propager. Peut-on faire un parallèle avec les épisodes de grippes saisonnière dont on sait que l’immunité plus ou moins temporaire empêche le développement d’un vaccin stable ? Seul un épidémiologiste saurait à priori répondre.

Constatons simplement que nous atteignons ainsi déjà 2.77% de mortalité et ce pourcentage ne peut que croître tant que les vagues ne se sont pas stabilisées.

python -m scenario.run --nrun 20  --nday 360 --nind 35000 --scenario 3 --extra 0 --imm 60 90  --draw exa pop summ hos new

Enfin, nous terminerons sur une note négative :
Scénario X - La grippe saisonnière : La pire situation possible. Aucune précaution sociétale ou individuelle n’est prise. L’infection au virus ne donne qu’une courte immunité de 1 à 3 mois. Combien faut-il de temps pour décimer la population ?

Resume Resume Resume

Vous connaissez maintenant suffisamment bien les graphiques pour les analysez vous-même.

python -m scenario.run --nrun 20  --nday 720 --nind 35000 --scenario -1 --imm 30 60  --draw exa pop summ R0

Takeaway scénario 7

Etant donné la contagiosité du Covid-19 et son taux de mortalité relativement élevé comparé à des virus similaires, une immunité temporaire serait une très mauvaise nouvelle pour notre civilisation à moyen terme et nous imposera de repenser encore plus profondément qu’aujourd’hui le fonctionnement de l’humanité.

D’autres scénarios ?

Revenir à l’index

Remarques méthodologiques

A propos des probabilités de contagion :

A propos de la projection de ces résultats sur la réalité :

A propos de la taille des entreprises (à partir des données HCP) :

Revenir à l’index

Prochaines étapes

Le code est disponible, publique et les simulations reproduisibles

Vous retrouverez l’ensemble du code à jour ici (une simulation prend en moyenne 15 secondes et peut aller jusqu’à 20 minutes lorsqu’on allonge l’horizon temporel) :

https://github.com/AshtonIzmev/covid-19-pandemic-simulation

Mises à jour

L’article sera mis à jour au fur et à mesure de vos retours ou nouvelles idées

Remerciements

Sources

[1] WHO Investigates Reports of Recovered COVID-19 Patients Testing Positive Again https://www.sciencealert.com/who-investigates-reports-of-recovered-covid-19-patients-testing-positive-again
[2] Recovered coronavirus patients are testing positive again. Can you get reinfected? https://edition.cnn.com/2020/04/17/health/south-korea-coronavirus-retesting-positive-intl-hnk/index.html
[3] Updated understanding of the outbreak of 2019 novel coronavirus (2019‐nCoV) in Wuhan, China https://onlinelibrary.wiley.com/doi/full/10.1002/jmv.25689?af=R
[5] The Incubation Period of Coronavirus Disease 2019 (COVID-19) From Publicly Reported Confirmed Cases: Estimation and Application https://annals.org/aim/fullarticle/2762808/incubation-period-coronavirus-disease-2019-covid-19-from-publicly-reported
[6] Age, Sex, Existing Conditions of COVID-19 Cases and Deaths https://www.worldometers.info/coronavirus/coronavirus-age-sex-demographics/
[7] COVID-19 Laboratory-Confirmed Hospitalizations https://gis.cdc.gov/grasp/COVIDNet/COVID19_5.html
[8] Population Pyramids of the World from 1950 to 2100 https://www.populationpyramid.net/world/2019/
[9] Coronavirus seems to mutate much slower than seasonal flu https://www.livescience.com/coronavirus-mutation-rate.html
[10] Le trilemme du déconfinement, ou comment résoudre un problème insoluble https://www.linkedin.com/pulse/le-trilemme-du-d%C3%A9confinement-ou-comment-r%C3%A9soudre-un-probl%C3%A8me-sibony/
[11] LES PRINCIPALES CARACTÉRISTIQUES DE LA POPULATION ACTIVE OCCUPÉE EN 2019 https://www.hcp.ma/Les-principales-caracteristiques-de-la-population-active-occupee-en-2019_a2463.html
[12] Recensement Général de la Population et de l’Habitat 2014 : Microdonnées anonymisées https://www.hcp.ma/Open-Data_a2401.html
[13] COVID-19 : Morocco Expands Hospital Capacity http://northafricapost.com/39786-covid-19-morocco-expands-hospital-capacity.html
[14] US anti-lockdown rallies could cause surge in Covid-19 cases, experts warn https://www.theguardian.com/us-news/2020/apr/20/us-protests-lockdown-coronavirus-cases-surge-warning
[15] Twitter : Le 18ème vient officiellement de s’auto-déconfiner (et il aimerait qu’on le laisse danser) https://twitter.com/CocoChrist/status/1254125416421437440
[16] Covid-19 : la bourse ou la vie ? Sur l’inanité de la science économique officielle https://www.contretemps.eu/economie-covid19/
[17] Swedish Ambassador Says Stockholm Expected To Reach ‘Herd Immunity’ In May https://www.npr.org/2020/04/26/845211085/stockholm-expected-to-reach-herd-immunity-in-may-swedish-ambassador-says
[18] Wikipedia : List of countries by hospital beds https://en.wikipedia.org/wiki/List_of_countries_by_hospital_beds
[19] How an Austrian ski resort helped coronavirus spread across Europe https://edition.cnn.com/2020/03/24/europe/austria-ski-resort-ischgl-coronavirus-intl/index.html
[20] India quarantines 15,000 after ‘super-spreader’ dies of virus https://www.aljazeera.com/news/2020/03/india-quarantines-15000-virus-kills-super-spreader-guru-200328092832309.html
[21] (daté du 2 avril) هذه أجواء سوق المدينة القديمة في زمن كورونا https://www.youtube.com/watch?v=L49n6637pXQ
[22] Pour la « Golden week » en Chine, le tourisme s’éveille prudemment https://www.la-croix.com/Monde/Asie-et-Oceanie/Golden-week-Chine-tourisme-seveille-prudemment-2020-05-01-1201092075
[23] TRUMP’S DEADLY MISTAKE IN COMPARING CORONAVIRUS TO FLU https://theintercept.com/2020/03/25/coronavirus-flu-comparison-trump/

Revenir à l’index