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:
\[\begin{array}{rcl} R & = & \frac{Nb\ personnes\ vaccinées\ et\ malades}{Nb\ personnes\ malades} \\ R & = & \frac{P(V \cap M)}{P(M)} \\ R & = & \frac{P(V \cap M)}{P(V \cap M) + P(\overline{V} \cap M)} \\ R & = & 1 / \left[ 1 + \frac{P(\overline{V} \cap M)}{P(V \cap M)} \right] \\ R & = & 1 / \left[ 1 + \frac{P(\overline{V}) * P_{\overline{V}}(M)}{P(V) * P_V(M)} \right] \\ R & = & 1 / \left[ 1 + \frac{P(\overline{V}) * P_{\overline{V}}(M)}{P(V) * P_{\overline{V}}(M)*(1-E)} \right] \\ R & = & 1 / \left[ 1 + \frac{P(\overline{V})}{(1-E)*P(V)} \right] \\ R(E, C_v) & = & 1 / \left[ 1 + \frac{1 - C_v}{(1-E)*C_v} \right] \\ E(R, C_v) & = & 1 + \frac{1 - 1/C_v}{1/R - 1} \end{array}\]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')