Physique Chimie
  | Accueil |         
  Melzani M.,
lycée Pierre de
Coubertin,
Meaux
CPGE TSI2 :  |  documents cours |  TP, DS, maths... |  colles |  cahier texte |  concours |  actualités | 
Autres :       |  plasmas |  agrégation |  archives 2016-2017 |  notes diverses |  épistémologie |  liens | 

  Agrégation de sciences physiques, option physique/

Rubriques :

Plans, remarques, comptes rendus |
Traitements des incertitudes |
Régression linéaire et incertitudes |
Références incertitudes |




Régression linéaire et incertitudes

Quelques mots sur la régression linéaire. Ce qui suit s'applique pour une séance de TP, ou pour un montage à l'agrégation de sciences physiques. Les premiers paragraphes sont assez généraux et donnent des conseils pratiques issus de mon expérience. Le dernier paragraphe, "des éléments théoriques...", est plus technique et vise à donner une introduction a ce qui est effectivement réalisé par les algorithmes de régression linéaire.

Plan du présent document :




Objectifs

On dispose de points de mesures, typiquement une liste de couples $(X_i,Y_i)$.

On souhaite voir si une loi affine, $y = ax+b$, peut convenir pour modéliser ces données.

Si oui, on souhaite connaître les valeurs du "meilleur" couple $(a,b)$, ainsi que les incertitudes types et élargies sur $a$ et $b$.

On peut retenir que ceci s'effectue en minimisant la fonction

\begin{equation}\label{chi2} \chi^2(a,b) = \sum_i \dfrac{[Y_i-(aX_i+b)]^2}{a^2u(X_i)^2+u(Y_i)^2} \end{equation}

par rapport à $a$ et $b$, où les $X_i$, $Y_i$ sont les points expérimentaux (les mesures), $u(X_i)$ et $u(Y_i)$ les incertitudes types associées à chaque point $(X_i,Y_i)$.

La trame principale suivante résume l'ensemble du document. Les paragraphes qui suivent fournissent des détails ou des justifications.

  • Identifier des grandeurs $X_i$ et $Y_i$ qui doivent, d'après la théorie et le modèle utilisé, suivre une loi affine $Y_i = a_\text{théo} X_i + b_\text{théo}$.

    Il est possible qu'il y ait une incertitude expérimentale sur $a_\text{théo}$ et $b_\text{théo}$ (par exemple $a_\text{théo} = RC$, les valeurs de $R$ et de $C$ sont connues à incertitude près), que l'on évalue avec les méthodes habituelles pour obtenir $\Delta a_\text{théo}$ et $\Delta b_\text{théo}$ (incertitudes élargies à 95%).

  • Réaliser les mesures $X_i$ et $Y_i$, estimer les incertitudes associées (en général on obtient des incertitudes élargies à 95%, en déduire alors les incertitudes types en divisant par 2 (voir plus bas)).

  • Tracer les points $(X_i,Y_i)$ et tenter une régression linéaire.

    Vérifier visuellement si les points sont alignés ou non, s'il y a une tendance ou non (oscillations autoir de la droite, parabole, ...). Ce critère visuel reste le meilleur critère (voir paragraphe sur le chi 2 réduit plus bas).

    Si les points ne semblent pas alignés, c'est soit que le modèle n'est pas le bon (oubli d'un effet ? mauvaises hypothèses ?), soit qu'il y a eu erreur de manipulation.

  • Si les points semblent alignés, on peut relever les valeurs $a$ et $b$ donnés par le programme. On peut les noter $a_\text{exp}$ et $b_\text{exp}$, car il s'agit des valeurs issues de l'expérience, mais on omettra ce exp pour alléger les notations.

    Le programme doit également fournir une incertitude sur $a$ et sur $b$. L'incertitude type $u(a)$ et $u(b)$ est obtenue par le logiciel sans plus d'hypothèses. Il donne également l'incertitude élargie $f_\alpha u(a)$ et $f_\alpha u(b)$ pour un degré de confiance typiquement à 95%, en multipliant $u(a)$ et $u(b)$ par un facteur d'élargissement. Ce dernier est donné par celui d'une distribution de Student, sous l'hypothèse que les $X_i$ et $Y_i$ suivent une loi normale. Il dépend du nombre de points sur lequel est effectué la régression linéaire. On peut remarquer qu'il est important (3 ou 4) si le nombre de points est de 4 ou 5.

    On appelle $\Delta a$ et $\Delta b$ les incertitudes ainsi obtenues pour un facteur de 95%.

    Si $b_\text{théo} = 0$, et si $0\in (b\pm\Delta b)$, on peut recommencer en utilisant un modèle linéaire $y=ax$.

  • On vérifie enfin si $a\pm\Delta a$ et $a_\text{théo}\pm\Delta a_\text{théo}$ ont un intervalle de valeurs communes, et de même pour $b$.




Programmes disponibles

Différents outils pour effectuer des régressions linéaires en traitant de façon rigoureuse les incertitudes :

  • Le programme Python écrit par moi-même (lien) (qui complète celui du site www.physique-experimentales.com).

  • Le programme Reg Lin MC (lien), qui est adapté des consignes du Gum. Très complet, permet également des simulations Monte Carlo, ainsi que la visualisation des corrélations entre $a$ et $b$. Mais un peu difficile d'approche.

  • Le logiciel Régressi (lien). Rigoureux et intuitif. Très utilisé en séance de TP. Penser à cocher "prendre en compte les incertitudes" pour que celles-ci soient considérées et que les calculs de $\Delta a$ et $\Delta b$ correspondent à ce qui est expliqué ici.

On notera que ces trois programmes retournent exactement les mêmes résultats pour les paramètres $a$ et $b$ et pour les incertitudes types ou élargies à 95% associées. Ils implémentent donc la même approche. Cette approche est détaillée dans la partie "éléments théoriques'' plus bas.




Quelles incertitudes entrer pour les données ?

Les incertitudes à entrer dans les programmes listés ci-dessus sont toujours les incertitudes types.

A contrario, on a souvent accès expérimentalement aux incertitudes élargies à 95% : c'est genre d'incertitude fournie par les notices constructeur lorsque rien n'est précisé, c'est aussi une incertitude élargie que l'on considère quand on dit, par exemple, qu'une règle graduée au millimètre donne un résultat à $\pm 0.5$\,mm près (en toute rigueur il y a dans ce cas un intervalle de confiance de 100%), etc...

Si la variable suit une distribution normale, on repasse à l'incertitude type en divisant l'incertitude à 95% par 1.96. Si on ne connaît pas la distribution, on peut raisonnablement la diviser par 2.

On retiendra donc qu'on entre dans le logiciel des incertitudes types, obtenues en divisant par $\simeq 2$ les incertitudes élargies connues sur les $X_i$ ou les $Y_i$.




Interprétation du $\chi^2$ réduit

On définit $\chi^2_\text{réduit} = \chi^2/(N-p)$, où $p$ est le nombre de paramètres (2 pour une régression affine, 1 pour une régression linéaire), et $\chi^2$ reste définit par l'équation~\ref{chi2}.

Il s'agit d'un paramètre donné par les logiciels de traitement de données. La question est de savoir si oui ou non il est utile, et si oui, à partir de quelles valeurs on peut considérer un modèle validé.

Le plus important est de bien comprendre ce qu'il mesure. Vu sa définition, on peut dire que :

\begin{equation} \chi^2_\text{réduit} \sim \frac{1}{\text{Nombre de points}}~\frac{\text{écart entre le modèle et les points}}{\text{valeur de l'incertitude}}. \end{equation}

Autrement dit, il s'agit de la valeur moyenne de "l'écart entre le modèle et les mesures" / "l'incertitude associée à chaque mesure".

Donc :

  • Si $\chi^2_\text{réduit} \gg 1$, alors en moyenne l'écart point-droite est beaucoup plus grand que l'incertitude, et le modèle doit être rejeté. C'est le cas sur la figure~\ref{chi2} en bas.

  • Si $\chi^2_\text{réduit} \ll 1$, alors les incertitudes sont beaucoup plus grandes que la distance entre points et modèle. On peut conclure que le modèle est validé par l'expérience. Mais attention toutefois, il faut remarquer que l'expérience n'est pas très contraignante : certes, le modèle passe par les barres d'erreur, mais beaucoup d'autres modèles pourraient également passer ! C'est le cas sur la figure~\ref{chi2} en haut à droite.

  • Si $\chi^2_\text{réduit} \simeq 1$, alors le modèle passe par les barres d'erreur, mais les barres d'erreur ne sont pas trop grandes non plus. On peut alors conclure que l'accord et bon, et valider le modèle. Cette validation semble alors plus ``satisfaisante'' que dans le cas précédent où $\chi^2_\text{réduit} \ll 1$. C'est le cas sur la figure~\ref{chi2} en haut à gauche, où on voit que la droite effleure les barres d'incertitude.

Jeux de données et régression linéaire avec valeurs du chi2
Exemples de jeux de données avec régression linéaire et évaluation du $\chi^2_\text{réduit}$.
Sauf en bas à droite, les données sont de la forme $y_i = 2x_i+1+w_i$ avec $w_i$ un nombre aléatoire entre -3 et 3. En bas à droite, on a $y_i = 4\sin x_i$.
Sigma est l'incertitude rentrée pour les données.

Une fois que l'on a compris ceci, on voit que la valeur du $\chi^2_\text{réduit}$ n'apporte en fait pas plus d'information qu'une inspection visuelle : on voit bien visuellement si le modèle passe par les barres d'erreur ou non, et si les barres d'erreur sont beaucoup plus grandes que l'écart point-modèle ou non. Une inspection visuelle permet, en plus, de voir clairement (surtout si le modèle est une droite) s'il y a une tendance ou des points aberrants (et d'autant plus si on trace les résidus).

Il faut se souvenir que pour n'importe quel jeux de données et n'importe quel modèle pris au hasard, on peut toujours trouver des incertitudes qui font que $\chi^2_\text{réduit}=1$ (il suffit de prendre $\sigma$ égal au $\chi^2_\text{réduit}$ calculé pour $\sigma=1$...), voir par exemple sur la figure ci-dessous.

Jeux de données et régression linéaire avec valeurs du chi2
Exemples de jeux de données avec régression linéaire et évaluation du $\chi^2_\text{réduit}$.
Ici, $\sigma$ est choisi pour avoir précisément $\chi^2_\text{réduit}=1$.

On ne peut donc que conseiller de contrôler visuellement les résultats, de le dire, et ensuite, éventuellement, de commenter la valeur de $\chi^2_\text{réduit}$ (à condition de pouvoir expliquer ce qu'elle signifie).




Comment interpréter les résultats lorsqu'on ne saisit pas les incertitudes sur les données ?

Il est possible de réaliser une régression linéaire sur un ensemble de points pour lesquels on n'a pas saisi d'incertitude. Le logiciel retourne néanmoins une valeur de $u(a)$, $u(b)$, et de $\chi^2_r$. Comment fait-il ?

  • La recherche de $a$ et $b$ n'est pas impactée. Le programme minimise $\chi^2(a,b)$ en supposant les $u(y_i)$ tous égaux et les $u(x_i)$ nuls.

  • Le programme suppose que $u(x_i)=0$, et il estime l'incertitude type sur les $y_i$ à l'aide de l'écart-type entre la loi linéaire et les données : pour tout $i$, $u(y_i) = \sqrt{\dfrac{1}{N-2}\sum_i[Y_i - (aX_i+b)]}$. Il procède ensuite comme d'habitude.

  • Le programme retourne parfois une valeur du $\chi^2$ réduit, mais son interprétation n'est alors pas possible. Il ne faut pas le prendre en compte (voir paragraphe sur $\chi^2_r$ : si l'incertitude expérimentale n'est pas connue on ne peut rien dire).

    Le critère de modélisation correct ou non est alors avant tout visuel.




Faut-il imposer l'ordonnée à l'origine ?

Une question récurrente est de savoir s'il faut imposer l'ordonnée à l'origine lors d'une régression linéaire.

  • Si le modèle ne le prévoit pas, alors évidemment non. Attention, il se peut que la théorie prévoit une ordonnée à l'origine nulle, mais que la prise en compte de contraintes expérimentales la rende non nulle (par exemple le temps de réponse d'un détecteur, une position d'un détecteur mal contrôlée, ...). Il faut alors le dire, et ainsi justifier un fit affine.

  • Si au contraire le modèle prévoit une ordonnée à l'origine nulle, alors il faut d'abord effectuer un fit affine en $y=ax+b$, et voir si oui ou non le 0 est dans les barres d'erreurs de $b$.

    • S'il ne l'est pas, c'est qu'un biais expérimental non pris en compte peut rendre $b\neq0$, et on conserve donc un fit affine.
    • S'il l'est, alors on peut valider l’hypothèse d'un modèle linéaire et imposer $b=0$.

Dans le cas où $b=0$ est imposé, il faut toujours prendre garde à vérifier visuellement si cette contrainte est raisonnable (elle ne le sera pas si les données semblent clairement indiquer une pente autre de celle obtenue pour $b=0$...).




Des éléments théoriques sur l'obtention des paramètres et de leur incertitude

  • On détermine les paramètres $a$ et $b$ en minimisant la fonction

    \begin{equation} \chi^2(a,b) = \sum_i \dfrac{[Y_i-(aX_i+b)]^2}{a^2u(X_i)^2+u(Y_i)^2+2a\text{cov}(X_i,Y_i)} \end{equation}

    où les $X_i$, $Y_i$ sont les points expérimentaux (les mesures), $u(X_i)$ et $u(Y_i)$ les incertitudes types associées à chaque point $(X_i,Y_i)$ et $\text{cov}(X_i,Y_i)$ la covariance associée (qu'on prend à 0 en général car on la connaît rarement).

    Dans le cas où les couples $(X_i,Y_i)$ suivent une loi binormale, avec ou sans corrélation, alors cette minimisation assure que la solution correspond au maximum de vraisemblance {\small(voir \url{gum_MC_reg_lin/html/principe.fr.html})}. Si ce n'est pas le cas, on minimise tout de même la même expression.

    L'algorithme numérique utilisé pour effectuer la minimisation est par exemple celui de York {\small(voir \url{gum_MC_reg_lin/html/algo_york.fr.html})}.

  • La quantité $\chi^2$ définie ci-dessus peut être vue comme une variable aléatoire, car elle est définie en fonction des variables aléatoires $(X_i,Y_i)$.

    On détermine ainsi l'incertitude type de $\chi^2$ en utilisant sa définition et la formule de sommation des incertitudes types. On a donc facilement $u(\chi^2)$ dans le cas général.

    Cependant, on n'a pas en général de moyen d'obtenir l'intervalle de confiance associé à $\pm u(\chi^2)$, ni d'obtenir le facteur d'élargissement à appliquer pour un intervalle de confiance donné.

    C'est seulement dans le cas où les couples $(X_i,Y_i)$ suivent une loi binormale, que l'on connaît la distribution de probabilité de $\chi^2$ et qu'on en déduit les intervalles de confiances voulus. \verb

  • On détermine les incertitudes types sur $a$ et $b$ : $u(a)$, $u(b)$, et $\text{cov}(a,b)$. Même méthode que pour $\chi^2$.

    Le programme python retourne la matrice $2\times2$ de ligne 1 $u(a)^2,\text{cov}(a,b)$ et ligne 2 $\text{cov}(a,b),u(b)^2$. \verb

    Ici aussi, c'est seulement si les couples $(X_i,Y_i)$ suivent une loi binormale que l'on peut en déduire l'intervalle de confiance associé à $\pm u(a)$ et $\pm u(b)$, ou obtenir un facteur d'élargissement pour un intervalle de confiance pour $a$ et $b$. En effet dans ce cas, le facteur d'élargissement est donné par celui de la loi de Student à $N-2$ degrés de liberté ($N$ est le nombre de couples de points $(X_i,Y_i)$ sur lesquels on effectue la régression).

    Reg Lin Mc fournit ainsi différentes valeurs pour différents intervalles de confiance. Régressi fournit l'incertitude élargie à 95% seulement. Le programme python fournit celle à 95% (ou à ce que l'on veut si on change la variable level).

    La figureci-dessous donne le facteur d'élargissement pour différents niveaux de confiance.

    Facteur d'élargissement pour les incertitudes des coefficients d'une régression linéaire

    Facteur d'élargissement, par lequel multiplier l'incertitude type $u(a)$ ou $u(b)$ sur les paramètres $a$ et $b$ afin d'obtenir l'incertitude élargie correspondant à un niveau de confiance de 68%, 95% ou 99%.

    Ceci est dans l'hypothèse (toujours effectuée) où les couples $(X_i,Y_i)$ suivent une loi binormale.

    On peut retenir que pour un niveau à 95% le facteur est de 4, 3 ou 2.5 pour 4, 5 ou 6 points, puis entre 2.5 et 2 ensuite.

    On voit également que l'intervalle $\pm u(a)$ donne quasiment toujours une confiance à 68% (car le facteur est proche de 1 partout pour ce niveau).

  • On peut aller plus loin en prenant en compte le fait que $a$ et $b$ sont corrélés (en général si on prend une ordonnée à l'origine importante on a plutôt une pente plus faible, et vice versa).

    permet donc de tracer les ellipses de confiance {\small(\url{gum_MC_reg_lin/html/ellipse_iso_densite_student_ab.fr.html})} pour $a$ et $b$, qui sont des surfaces telles qu'il y ait 95\% (par exemple) des couples $(a,b)$. Si l'ellipse est inclinée c'est qu'il y a corrélation entre $a$ et $b$. Ces ellipses sont tracées en supposant que les couples $(X_i,Y_i)$ suivent une loi binormale.

  • Enfin on peut, une fois $a$ et $b$ connus, obtenir $y$ pour une valeur de $x$ donnée par la relation $y=ax+b$. L'incertitude type sur ce $y$ est alors $u(y)^2 = u(b)^2+x^2u(a)^2+u(x)^2a^2+2x\text{cov}(a,b)$.

    Si on suppose que les couples $(X_i,Y_i)$ suivent une loi binormale, alors on peut en déduire des intervalles de confiance avec un facteur d'élargissement de loi de Student à $N-2$ degrés de liberté. {\small(Voir \url{gum_MC_reg_lin/html/prevision.fr.html}, et \url{gum_MC_reg_lin/html/prevision_x_y.fr.html})}.

    On peut faire la même chose si l'on souhaite calculer $x$ pour une valeur de $y$ donnée.

    On peut aussi tracer une ellipse de confiance autour du point $(x_i,y_i)$ : {\small\url{gum_MC_reg_lin/html/ellipse_iso_densite_normale.fr.html}}

Évidemment, on peut aussi faire des simulations Monte Carlo, et retrouver les ellipses de confiance pour $a$ et $b$. Il faut bien sûr se donner une distribution de probabilité pour les couples $(X_i,Y_i)$. Reg Lin Mc le propose, en supposant cette distribution gaussienne : \url{gum_MC_reg_lin/html/principe_monte_carlo.fr.html}.



  Site version 02/2018.