Estimation d'une incertitude-type par la méthode de Monte-Carlo

Principe de la méthode Monte-Carlo


Le résultat d'une mesure correspond à l'ensemble des valeurs raisonnablement attribuables à la grandeur mesurée.

L'écart-type de cet ensemble de valeurs est appelée à l'incertitude-type.

Evaluation de type A : Lorsque la mesure est répétée plusieurs fois, l'expérimentateur obtient plusieurs valeurs de la grandeur mesurée. L'incertitude-type est l'écart-type de cet ensemble de valeurs.

Evaluation de type B : Lorsque l'expérience n'est pas répétée plusieurs fois, il faut mettre en oeuvre une autre méthode pour évaluer l'incertitude-type. Dans ce contexte, la méthode de Monte-Carlo consiste à simuler numériquement la répétition de l'expérience. L'écart-type de l'ensemble des valeurs obtenues lors des ces répétitions in silico fournit l'incertitude-type recherchée.

La méthode de Monte-Carlo est très utile à mettre en oeuvre dans le cas d'une propagation d'incertitudes, c'est-à-dire lorsque l'on souhaite déterminer l'incertitude-type sur une grandeur calculée à partir de grandeurs expérimentales, mesurées ou fournies.

Exemple dans le cadre d'un titrage acido-basique


Contexte du titrage

Dans le cas d'un titrage acido-basique visant à déterminer la concentration d'un acide fort dans une solution, un expérimentateur :

  • prélève un volume $\mathsf{V_{sol}}$ de la solution à titrer à l'aide d'une pipette jaugée,
  • choisit une solution titrante basique de concentration $\mathsf{C_b}$ qu'il verse pas à pas à l'aide d'une burette graduée,
  • met en place un suivi pH-métrique pour évaluer le volume équivalent $\mathsf{V_{eq}}$.

L'équation de réaction support du titrage s'écrit :

\begin{equation} \mathsf{ H^+(aq)+HO^-(aq)=H_2O(l) \\ } \end{equation}

La concentration en acide de la solution titrée s'obtient par une relation du type :

\begin{equation} \mathsf{ [H^+]_{titrée}=\frac{[HO^-]_{titrante} \cdot V_{eq}}{V_{sol}}\\ } \end{equation}

Sources d'incertitudes

L'incertitude sur la concentration en acide est donc le résultat d'incertitudes sur les grandeurs $\mathsf{ [H^+]_{titrée} \text{ , } [HO^-]_{titrante} \text{ et } V_{eq}}$. Celles-ci doivent être évaluées.

Proposition à adapter en fonction de la situation :

  • volume de solution titrée : l'expérimentateut a utilisé une pipette jaugée de $\mathsf{10mL}$ pour prélever le volume $\mathsf{V_{sol}}$. Selon l'habileté du manipulateur et la classe de la pipette, le volume effectivement prélevé a de grandes chances d'appartenir à l'intervalle $\mathsf{[9,9 \text{ , } 10,1] \text{ mL}}$ (valeurs à adapter selon le contexte et l'expérimentateur),

  • concentration de la solution titrante : selon la qualité des réactifs utilisés, la nature de la verrerie utilisée et l'habileté du préparateur, la solution titrante de concentration affichée $\mathsf{[HO^-]_{titrante} = 0,10 \text{ mol} \cdot L^{-1}}$ a de grandes chances d'appartenir à l'intervalle $\mathsf{[0.099 \text{ , } 0.101] \text{ mol} \cdot L^{-1}}$ (valeurs à adapter selon le contexte et l'expérimentateur),

  • volume équivalent : selon l'espacement entre les points de mesure sur la courbe de titrage, selon la méthode retenue pour évaluer le volume équivalent, selon la précision de la burette graduée utilisée, la capacité de l'expérimentateur à lire les volumes sur les graduations et à régler le zéro, on peut penser que le volume équivalent $\mathsf{V_{eq} = 9.6 \text{ mL}}$ a de grandes chances d'appartenir à l'intervalle $\mathsf{[9.6 \text{ , } 9.8] \text{ mL}}$ (valeurs à adapter selon le contexte et l'expérimentateur).

Etapes de la méthode


  1. Lister les grandeurs expérimentales utiles pour le calcul de $\mathsf{ [H^+]_{titrée}}$ et associer à chacune, un intervalle au sein duquel on peut raisonnablement penser que celle-ci appartient,

  2. Faire procéder à un tirage au sort aléatoire d'un jeu de valeurs pour chaque grandeur expérimentale $\mathsf{[HO^-]_{titrante} \text{ et } V_{sol} \text{ et } V_{eq}}$ et faire calculer la valeur de concentration $\mathsf{ [H^+]_{titrée}}$ obtenue avec ce jeu de valeurs.

  3. Stocker la valeur dans une liste de résultats,

  4. Calculer la moyenne des valeurs de concentration $\mathsf{ [H^+]_{titrée}}$ obtenues : meilleur estimateur de la concentration recherchée,

  5. Calculer l'écart-type de l'ensemble des valeurs de concentration : incertitude-type associée à $\mathsf{ [H^+]_{titrée}}$.

Fonctions pour réaliser le tirage au sort


La bibliothèque numpy est ici utilisée pour simuler un processus aléatoire (numpy.random).

Pour réaliser le tirage au sort :

  • Si l'on suppose que la valeur centrale de l'intervalle n'est pas plus probable que les valeurs latérales de l'intervalle, on peut utiliser la commande numpy.random.uniform(borne_inf , borne_sup).

  • Si l'on suppose que la valeur centrale de l'intervalle est plus probable que les valeurs latérales de l'intervalle, on peut utiliser la commande numpy.random.triangular(borne_inf , centre , borne_sup).

  • Si l'incertitude-type sur la grandeur est fournie (rare), on peut utiliser la commande numpy.random.normal(valeur centralee , incertitude-type).

Exemple de code


In [ ]:
import numpy as np
import matplotlib.pyplot as plt

N=100000                                                                          #Nombre de tirages simulés

Ca = []                                                                           #Liste des valeurs calculées de la concentration Ca

for k in range(N) :                                                               #Procédure de tirage
    Vsol = np.random.uniform(9.9,10.1)
    Veq = np.random.triangular(9.6 , 9.7 , 9.8)
    Cb = np.random.uniform(.099 , .101)
    Ca.append(Cb * Veq / Vsol)                                                    #Calcul de Ca

Ca_moy = sum(Ca)/N                                                                #Calcul de la valeur moyenne
uCa = np.std(Ca,ddof=1)                                                           #Calcul de l'écart-type 

print(f'Concentration Ca : {Ca_moy} mol/L')                                       #Affichage des résultats
print(f'Incertitude-type u(Ca) : {uCa} mol/L')
Concentration Ca : 0.09700147737363778 mol/L
Incertitude-type u(Ca) : 0.0008893468324514736 mol/L

Conclusion


L'incertitude-type pourra être donnée avec deux chiffres : \begin{equation}\mathsf{ C_{a} = 0,09700 mol.L^{-1} \\ u_{C_{a}}=0,00089 mol.L^{-1} \\ } \end{equation}