Quelle est l'efficacité du vaccin ?

Ce que les données de la DREES révèle de l'efficaité des vaccins

Soit $M$ : l’évènement malade du Covid (aussi bien contaminé, hospitalisé, réanimation, décès).

Soit $V$: l’évènement vacciné contre le Covid.

Alors on note $P_{\overline{V}}(M)$ la probabilité d’attraper le covid sans vaccin. Un vaccin avec une efficacité $E$ (ex. 95%) signifie que la probabilité $P_V(M)$ d’attraper la maladie vacciné est réduit de 95% par rapport à $P_{\overline{V}}(M)$, comme expliqué ici. Ce qui se traduit par

\begin{array}{rcl} \frac{P_{\overline{V}}(M)-P_V(M)}{P_{\overline{V}}(M)} & = & E
P_V(M) & = & (1-E)*P_{\overline{V}}(M) \end{array}

Si une population a $C_v$ % de couverture vaccinale, uniformément répartis dans la société. Alors, on peut noter la probabilité qu’un personne soit vaccinées $P(V) = C_v$, ainsi que $P(\overline{V}) = 1 - C_v$.

Donc si nous voulons $R$ le ratio de gens vaccinés parmis les gens malades:

On peut vérifier le model avec quelques valeurs triviales:

  • $\forall C_v, R(E=0, C_v) = C_v$, si le vaccin n’a aucune efficacité, le ratio des nouveaux malades vaccinés est égal au ratio des citoyens vaccinés
  • $\forall C_v, R(E \to 1, C_v) \to 0$, si la vaccin est 100% efficace, il n’y a aucun nouveau malade vacciné
  • $\forall E, R(E, C_v=1) = 1$, si toute la population est vaccinée, tous les nouveaux malades sont vaccinés
  • $\forall E, R(E, C_v \to 0) \to 0$, si personne n’est vacciné, il n’y a aucun nouveau malade vacciné
import numpy as np
import pandas as pd
import plotly.graph_objects as go
from plotly.offline.offline import plot
def E(R, V):
    return 1 + (1 - 1 / V) / (1 / R - 1)
fig = fig = go.Figure()
ratio = np.linspace(0.01, 99.99, 10000)

for vacc in range(5, 100, 5):
    eff = E(ratio / 100, vacc / 100)
    eff[eff < 0] = None
    fig.add_trace(go.Scatter(name=f"R(Cv={vacc} %)", x=ratio, y=eff))

fig.update_layout(title="Par de l'efficacité du vaccin en fonction des vaccinés dans les nouveaux malades",
                 height=800)
fig.update_xaxes(title_text="% des vaccinés malades")
fig.update_yaxes(title_text="Efficacité des vaccins")

#fig.show()
plot(fig, include_plotlyjs=False, include_mathjax=False, output_type='div')