TangenteX.com

Les probabilités comme outil de modélisation

Beaucoup de phénomènes physiques peuvent être modélisés par des variables aléatoires : la désintégration radioactive, la diffusion, pour ne citer que des cas rencontrés au lycée ou en prépa. Vous utilisez aussi des lois probabilistes pour traiter vos mesures expérimentales, parfois sans le savoir ! Il m'a donc semblé utile de revenir sur les lois probabilistes que vous rencontrerez en physique, et plus particulièrement sur les distribution de probabilité que vous serez amenés à utiliser.

La modélisation d'un phénomène physique par une loi probabiliste présente plusieurs intérêts :

Dans cette page, je vais rappeler quelques définitions relatives aux variables aléatoires et aux lois de distribution de probabilité, pour les variables aléatoires discrètes et continues. Puis je présenterai avec un peu plus de détails les principales lois de distribution de probabilités, que l'on utilise le plus souvent en physique.

Tous les scripts mentionnés dans cette page sont téléchargeables dans la bibliothèque de codes de TangenteX.

Quelques définitions

La physique et les mathématiques sont des domaines dans lesquels les mots et leur signification ont leur importance. Je vais donc rappeler ici quelques définitions que j'emploierai pour parler de probabilité et des lois et fonctions que j'utiliserai.

Un point de terminologie : les termes "distribution de probabilités" et "loi de probabilité" sont synonymes et utilisés indifférement dans la littérature. J'utiliserai les deux termes indifféremment.

Les variables aléatoires

On peut définir une variable aléatoire comme une grandeur, que je limiterai ici aux grandeurs réelles, caractérisant le résultat d'une expérience aléatoire. Il s'agit par exemple de la valeur d'une carte tirée au hasard d'un paquet de cartes, de la valeur de la face supérieure d'un dé après un lancer, ou encore de la durée de vie d'un équipement électrique.

Considérons d'ailleurs ces deux derniers exemples : la valeur affichée lors du lancé d'un dé et la durée de vie d'un équipement électrique, par exemple une ampoule.

Dans le cas du lancer de dé, le nombre de valeurs possibles est fixe : la variable aléatoire peut prendre une des 6 valeurs possibles : 1,2,3,4,5 ou 6. Ce n'est pas le cas de la durée de vie d'une ampoule. En imaginant que je puisse mesurer le temps avec une résolution infinie, cette durée peut prendre une valeur quelconque comprise entre 0 et l'infini, quoique ce dernier cas soit infiniment peu probable.

Il existe deux espèces de variables aléatoires, que nous rencontrerons en physique : les variables aléatoires discrètes, comme la valeur d'une face de dé, et les variables aléatoires continues, comme la durée de vie d'une ampoule.

Les variables aléatoires discrètes

Considérons un ensemble fini \( \Omega \) d'évènements \( \omega \). Définir une variable aléatoire consiste à associer une valeur réelle \( x \in \mathbb{R} \) à chaque évènement \( \omega \) de \( \Omega \).

Une variable aléatoire \( X \) est une application (on dit qu'elle est mesurante) de  \( \Omega \) dans \( \mathbb{R} \) telle qu'à tout \( \omega \) de \( \Omega \) corresponde une valeur \( X( \omega) = x \).

On appelle "support de X" l'ensemble des valeurs que peut prendre la variable aléatoire X.

Si le support de X est un ensemble fini ou infini dénombrable, alors la variable X sera dite "variable aléatoire discrète".

En physique, nous utiliserons ces variables lorsque nous traiterons des comptages, par exemple un nombre de désintégrations par seconde ou le nombre d'états d'un automate.

En pratique, les supports infinis dénombrables sont généralement réduits à des supports finis, car bien souvent, on laisse de coté les valeurs associées à une probabilité très faible.

Les variables aléatoires continues

En physique, on trouve le plus souvent des cas où la variable à étudier n'est pas discrète. Considérons par exemple la température d'un corps. Physiquement, la grandeur "température" est une grandeur réelle, qui peut prendre une infinité de valeurs. Toutefois, lorsqu'on mesure cette température, notre thermomètre, qui ne possède pas une résolution infiniment petite, va "discrétiser" les valeurs, par exemple par pas de 0,01 K si sa résolution est de 0,01 K. Dans les modèles que nous construirons, nous supposerons que le pas de discrétisation est suffisamment petit pour pouvoir considérer que la variable "température" mesurée est une grandeur continue.

On appelle variable aléatoire continue, les variables aléatoires associées à un support sur \( \mathbb{R} \).

En pratique, nous utiliserons les variables aléatoires continues lorsque nous traiterons des mesures de grandeurs physiques.

Lois de probabilités des variables aléatoires discrètes

Il existe plusieurs façons de caractériser une loi de probabilité. J'aborderai ici les plus classiques, c'est à dire la fonction de probabilité et la fonction de répartition.

Fonction de probabilité

On appelle fonction de probabilité, la fonction p(x) sur le support \( R_x \) telle que :

\(  p(x) = \left \{ \begin{array}{lr}  P(X =x) \hspace{1cm} \mbox{si } x \in R_x \\ 0 \hspace{2.5cm} \mbox{si } x \not\in R_x   \end{array} \right. \)

La fonction de probabilité d'une variable aléatoire discrète présente les propriétés suivantes :

N'importe quelle fonction qui possède ces deux propriétés peut être considérée comme une fonction de probabilité.

La fonction de probabilité permet de calculer la probabilité d'un évènement appartenant au support de X, associé à la variable aléatoire discrète X.

Fonction de répartition

On appelle fonction de répartion d'une variable aléatoire discrète X, la fonction F(x) telle que \( F(x) = P(X \le x) \).

Elle associe à chaque valeur x de la variable aléatoire X, la probabilité de ne pas dépasser cette valeur.

La fonction de répartition d'une variable aléatoire discrète présente les propriétés suivantes :

La fonction de répartition d'une variable aléatoire discrète est une fonction en escalier, avec une continuité à droite et une discontinuité à gauche pour chaque \( x_i \).

Comme pour les fonctions de probabilité, il existe une infinité de fonctions de répartition possibles pour une variable aléatoire discrète. Cependant, seules quelques unes sont couramment utilisées en modélisation physique.

Espérance et variance

Dans le cas d'une variable aléatoire discrète, l'espérance E[X], ou encore notée \( \mu \), est définie par :

\( \displaystyle E[X] = \mu = \sum_{i=1}^{n} x_i p(x_i) \)

Pour rappel, l'espérance E[X] est la valeur que l'on s'attend à observer en moyenne lors d'un ensemble d'expériences aléatoires sur une même variable aléatoire.

La variance Var[x], ou encore notée \( \sigma^2 \) est définie par : 

\( \displaystyle Var[X] = \sigma^2 = \sum_{i=1}^{n} (x_i - \mu)^2 p(x_i) \)

Pour rappel, la variance est une mesure de la dispersion des valeurs de la variable aléatoire X autour de sa valeur moyenne.

Lois de probabilités des variables aléatoires continues

Fonction de probabilité

Rapellons la définition de la fonction de probabilité pour une variable aléatoire discrète, i.e. dans le cas où le support de cette variable est fini ou infini dénombrable :

\(  p(x) = \left \{ \begin{array}{lr}  P(X =x) \hspace{1cm} \mbox{si } x \in R_x \\ 0 \hspace{2.5cm} \mbox{si } x \not\in R_x   \end{array}  \right. \)

Dans le cas d'une variable aléatoire continue, la probabilité P(X = x), quelque soit x réel, tend vers 0. On ne peut donc plus définir une fonction de probabilité qui possède les propriétés requises mentionnées plus haut.

Fonction de répartition

La définition de la fonction de répartition d'une variable aléatoire continue est très similaire à celle concernant les variables discrètes. Dans le cas des variables continues, la fonction de répartition n'est pas une fonction en escalier mais une fonction continue sur \( \mathbb{R} \).

Fonction de densité de probabilité

Si la fonction de répartition est dérivable, on définit la fonction de densité de probabilité notée f(x) telle que :

\( \displaystyle f(x) = \dfrac{dF(x)}{dx} = \lim_{\Delta x \rightarrow 0} \dfrac{F(x + \Delta x) - F(x)}{\Delta x} \)

La fonction f(x) est toujours positive ou nulle et son intégrale vaut \( \displaystyle \int_{-\infty}^{+\infty} f(x)dx = 1 \).

Il est très facile donc de passer de f(x) à F(x) et réciproquement par intégration ou dérivation, à condition bien sur que les fonctions soient intégrables ou dérivables.

La fonction de densité de probabilité est l'équivalent pour une variable aléatoire continue de la fonction de probabilité dans le cas d'une variable discontinue. La probabilité pour l'évènement X d'être inclus dans l'intervale [a,b] est donnée par :

\( \displaystyle P(a \le X \le b) = \int_{a}^{b} f(x)dx \)

Espérance et variance

Dans le cas d'une variable aléatoire continue, l'espérance E[X] est définie par :

\( \displaystyle E[X] =  \mu =  \int_{-\infty}^{+\infty} xf(x)dx \)

La variance Var[x], ou encore notée \( \sigma^2 \) est définie par : 

\( \displaystyle Var[X] =  \sigma^2 =  \int_{-\infty}^{+\infty} (x - \mu)^2f(x)dx \)

Distribution continue uniforme

Définition et principales propriétés

La fonction de densité de probabilité de la loi uniforme sur le support Rx = [a,b] s'exprime par :

\(  f(x) = \left \{ \begin{array}{lr} P(X = x) = K \hspace{1cm} \mbox{si } x \in R_x \\ 0 \hspace{3.6cm} \mbox{si } x \not\in R_x   \end{array} \right. \)

avec K une constante. Comme l'intégrale de p(x) doit être égale à 1, on en déduit que \( K = \dfrac{1}{b - a}\).

Sa fonction de répartition F(x) est définie par :

\( F(x) = \left \{ \begin{array}{lr} 0 \hspace{1.2cm} \mbox{si } x \lt 0 \\ \dfrac{x - a}{b - a} \hspace{0.2cm} \mbox{si } a \le x \lt b \\ 1 \hspace{1.2cm} \mbox{si } x \ge b \end{array} \right. \)

Son espérance E[X] est égale à :

\( \displaystyle E[X] =  \dfrac{a + b}{2} \)

et sa variance Var[X] est égale à :

\( \displaystyle Var[X] =  \dfrac{(b - a)^2}{12}\)

Tracer la courbe de la fonction de densité de probabilité

Le package scipy.stats nous fournit tous les outils nécessaires pour tracer la courbe représentative de la fonction de densité de probabilité uniforme.

Le script TraceUniforme.py est très simple : on commence par importer le module nécessaire :

from scipy.stats import uniform

puis on définit le domaine de variation, dans ce cas j'ai choisi l'intervalle [0,1] :

x_min = 0.0
x_max = 1.0
x = linspace(x_min, x_max, 100)

et j'appelle la fonction uniform() :

y = uniform.pdf(x)

Le tracé de la courbe n'appelle aucun commentaire. J'obtiens :

Distribution uniforme

Générer un nombre aléatoire selon une distribution uniforme

Pour générer un nombre aléatoire selon une distribution uniforme, compris dans l'intervalle [0,1], vous pouvez utiliser l'instruction :

x = uniform.rvs(loc=0,scale=1)

Par défaut, loc = 0 et scale = 1, et donc pour notre exemple, il est inutile de les préciser. En général, cette instruction retourne un nombre aléatoire distribué uniformément entre a et a+b, si loc = a et scale = b.

Son utilisation en physique

La loi de distribution uniforme nous donne une représentation de ce qu'est la distribution d'évènements qui surviennent par hasard et qui sont tous équiprobables. Ainsi, si vous voulez déterminer si une distribution d'évènements est équiprobable, vous la comparerez à la loi de distribution uniforme à l'aide d'un test statistique. C'est très utile en physique expérimentale lorsqu'on est à la recherche de la loi qui gouverne tel ou tel phénomène.

La loi de distribution uniforme est beaucoup utilisée en simulation. Nous l'avons déjà rencontré dans la mise en oeuvre de la méthode de Monte-Carlo. Et comme Monte-Carlo est commune dans beaucoup de domaines de la physique numérique, vous utiliserez souvent cette loi ! Par exemple, dans l'étude de l'algorithme de Metropolis, où nous rencontrons deux lois de distribution : la loi uniforme et la loi de Boltzmann.

Les générateurs de nombres aléatoires des langages informatiques comme C ou Python génèrent presque toujours des nombres aléatoires selon une loi de distribution uniforme. Il existe beaucoup de techniques qui permettent ensuite de transformer cette loi en une autre loi, par exemple un loi normale gaussienne. Citons par exemple la transformation de Box-Muller sur laquelle nous reviendrons plus loin.

Loi de Laplace-Gauss

Commençons par une remarque sur le nom de cette loi. Dans la plupart des cas, vous entendrez parler de "loi normale" ou plus couramment encore de "loi gaussienne". Mais il est plus juste de l'appeler "loi de Laplace-Gauss", pour rendre justice à ces deux mathématiciens (Gauss en 1809 et Laplace en 1812). Certains auteurs encore plus rigoureux parlent de la "loi de Moivre-Laplace-Gauss" (Moivre a travaillé le sujet en 1733). Dans tous les cas, sachez que ces termes désignent la même loi.

Définition et principales propriétés

La loi normale générale

La fonction de densité de probabilité de la loi de Laplace-Gauss sur le support \( \mathbb{R} \) s'exprime par :

\(  \displaystyle f(x) = \dfrac{1}{\sigma \sqrt{2\pi}} e^{-\dfrac{1}{2} \left(\dfrac{x - \mu}{\sigma}\right)^2} \)

Où \( \mu \) est la moyenne de la distribution et \( \sigma^2 \) sa variance. \( \sigma \) est l'écart type de la distribution. Moyenne et variance sont donc les deux paramètres réels qui définissent une distribution gaussienne. Notez que pratiquement, on définit plutôt une distribution gaussienne par sa moyenne et son écart type.

Sa fonction de répartition F(x) est définie par :

\( \displaystyle F(x) =  \dfrac{1}{\sigma \sqrt{2\pi}} \int_{-\infty}^{x} e^{-\dfrac{1}{2} \left(\dfrac{t - \mu}{\sigma}\right)^2} dt \)

Une remarque sur cette fonction de répartition : il n'en existe pas d'expression analytique, c'est à dire qu'il faut l'intégrer numériquement.
Son espérance E[X] est égale à :

\( \displaystyle E[X] = \mu \)

et sa variance Var[X] est égale à :

\( \displaystyle Var[X] = \sigma^2  \)

Ses principales propriétés

La courbe représentative de la fonction de densité de probabilité est une courbe en "cloche", caractéristique de la loi gaussienne. Elle est symétrique par rapport à un axe \( x = \mu \). Elle admet l'axe Ox comme asymptote.
Son maximum est atteint pour \( x = \mu \) et vaut \( \displaystyle \dfrac{1}{\sigma \sqrt{2 \pi}} \).
L'étalement de la "cloche" est d'autant plus grand que \( \sigma \) est grand. Notons que \( \sigma \) représente l'écart entre l'abscisse du sommet de la courbe et celle du point d'inflexion, obtenu en calculant la dérivée seconde de la courbe.

Enfin, notons que la somme de deux distributions gaussiennes \( X \left(\mu_1, \sigma_1 \right) \) et \( Y \left(\mu_2, \sigma_2 \right) \), X et Y étant des distributions gaussiennes indépendantes, est égale à une distribution gaussienne Z de paramètres \( Z \left(\mu_1 + \mu_2, \sqrt{\sigma_1^2 + \sigma_2^2} \right) \).

On considère que l'aire sous la courbe est négligeable en dehors de l'intervalle \( [ \mu - 3\sigma, \mu + 3\sigma ]\), considération qui a son importance dans le calcul des probabilités sur une distribution gaussienne. Plus précisément, dans une distribution gaussienne :

La loi normale centrée réduite

La loi normale centrée réduite est un cas particulier de la loi normale lorsque les variables aléatoires xi sont centrées par rapport à la moyenne et réduites par rapport à l'écart type, soit \( \displaystyle  x_i = \dfrac{x_i - \mu}{\sigma}\).
Cette distribution possède des propriétés particulière très intéressantes :

On démontre qu'il est possible de ramener les calculs de probabilité d'une loi normale quelconque, de paramètres \( \mu \) et \( \sigma \), à un calcul de probabilité sur la loi centrée réduite.

Tracer la courbe de la fonction de densité de probabilité

J'utilise toujours le package Le package scipy.stats mais en appelant cette fois la fonction norm() , qui comme son nom l'indique fournit différents outils afférents à la loi normale.
Dans le script TraceGaussienne.py, je trace la courbe représentative de la distribution gaussienne sur le domaine [-10.0, 10.0] que je définis ainsi :

x_min = -10.0
x_max = 10.0
x = linspace(x_min, x_max, 200)

avec les paramètres de la loi suivants :

mu = 2.0      # moyenne
sigma = 1.0   # écart type

Je calcule la distribution par :

y = norm.pdf(x,mu,sigma)

et j'obtiens la courbe en cloche suivante :

Densité de probabilité gaussienne

Tracer la courbe de la fonction de répartition

Le calcul de la fonction de répartition est très simple avec scipy :

z = norm.cdf(x,mu,sigma)

La courbe résultante est :

Répartition gaussienne

Tracer la courbe de la fonction de densité de probabilité de la loi normale centrée réduite

Avec le même script, mais en initialisant le paramètre mu = 0.0 et sigma = 1.0, j'obtiens le tracé de la fonction de densité de probabilité de la loi normale centrée réduite :

Densité probabilité gaussienne NCR

et de sa fonction de répartition :

Fonction de répartition gaussienne NCR

Générer un nombre aléatoire selon une distribution gaussienne

Avec Scipy

Scipy.stats nous fournit la méthode rvs, qui permet de générer un nombre aléatoire selon une loi de distribution donnée. Pour obtenir un nombre aléatoire de distribution gaussienne :

z = norm.rvs(mu,sigma)

où mu et sigma sont les deux paramètres de la distribution gaussienne, moyenne et écart type.

Par la méthode de Box-Muller

La méthode de Box-Muller permet de générer une paire de nombres aléatoires selon la loi normale centrée réduite à partie d'une paire de nombres aléatoires de distribution uniformes compris entre 0 et 1. C'est utile lorsqu'on ne dispose pas de librairie spécifique et qu'on programme en C/C++ ou autre langage similaire. Il faut toutefois que le langage en question possède un générateur de nombres aléatoires selon une distribution uniforme, comme le C/C++. Sinon, il faut en programmer un (voir ici).

Le principe de la transformation de Box-Muller est simple : soit x1 et x2 deux nombres aléatoires compris entre ]0, 1], selon la loi de distribution uniforme, on obtient une paire de nombres aléatoires g1, g2 de distribution normale centrée réduite sur le même support en posant :

\( \displaystyle g1 = \sqrt{-2\ln x1} \cos(2\pi x2) \)

\( \displaystyle g2 = \sqrt{-2\ln x2} \sin(2\pi x1) \)

Attention, cette transformation n'est pas très stable pour les couples (x1,x2) proches de (0,0).

Son utilisation en physique

Une des utilisations principales de la distribution gaussienne en physique est la modélisation des données expérimentales.

Rappelons que l'utilisation de la loi normale nécessite des conditions particulières : les causes de fluctuation des grandeurs doivent être indépendantes. En physique expérimentale, cela signifie que les erreurs, les fluctuations autour d'une valeur "vraie", doivent être dues à des phénomènes aléatoires et pas à des erreurs systèmatiques, par exemple un défaut de précision d'un instrument ou une mauvaise conception du modèle. Aussi, avant d'appliquer un traitement statistique par la loi normale à un jeu de données, il faut s'assurer d'avoir éliminé, autant que faire se peut, les erreurs systématiques.

Dans la page suivante de TangenteX, nous avons utilisé la loi de Laplace-Gauss pour traiter une série de mesures. Je vous y renvoie pour plus de détails.

Dans une page à venir, je traiterai l'usage des tests statistiques en mesure physique, en particulier le test de Student.

Loi de Cauchy

Pour cette loi aussi, il faut parler de son nom. Les probabilistes parlent de loi de Cauchy. Les physiciens, qui l'utilisent dans des domaines très particuliers, parlent de la loi de Lorentz. Dans la littérature physicienne, vous trouverez fréquement le terme "lorentzienne" pour désigner la courbe représentative de la fonction de densité de probabilité de la loi de Cauchy.

Définition et principales propriétés

La fonction de densité de probabilité de la loi de Cauchy s'exprime par :

\( \displaystyle f(x) = \dfrac{1}{\pi}  \left( \dfrac{a}{(x - x_0)^2 + a^2}  \right)\)

Sa courbe représentative est une courbe en cloche. Le réel x0 détermine l'abscisse de l'axe de symétrie Oy de la courbe et le réel a détermine l'étalement de la courbe. Souvent, on appelle x0 le paramètre de location (un anglicisme) et a le paramètre d'échelle.

Sa fonction de répartition F(x) est définie par :

\( \displaystyle F(x) =  \dfrac{1}{\pi} \arctan{\left(\dfrac{x - x_0}{a}\right)} + \dfrac{1}{2} \)

La loi de Cauchy est "pathologique" : elle n'admet ni espérance E[X] ni variance Var[X]. En effet, nous avons plus haut que ces deux grandeurs se calculent en intégrant la fonction f(x). Or il se trouve que la densité de probabilité f(x) n'est pas intégrable au sens de Lebesgue, l'intégrale diverge. Voici donc une loi de distribution sans moyenne ni variance. Du moins plus précisément, la variance est infinie, comme l'écart type donc ! Toutefois, pratiquement, on considère que x0 joue le rôle de "moyenne" de la distribution : "joue le rôle", mais ce n'est pas vraiment la moyenne (je ne rentre pas dans les détails des intégrales impropres qui permettent de définir une moyenne pour les moments impairs de la loi de Cauchy).

Tracer la courbe de la fonction de densité de probabilité

J'utilise toujours le package Le package scipy.stats mais en appelant cette fois la fonction cauchy() qui comme son nom l'indique fournit différents outils afférents à la loi de Cauchy.
Dans le script Cauchy.py, je trace la courbe représentative de la distribution gaussienne sur le domaine [-10.0, 10.0] que je définis ainsi :

x_min = -10.0
x_max = 10.0
x = linspace(x_min, x_max, 200)

avec les paramètres de la loi suivants :

x0 = 0.0    # paramètre loc
a =  2.0    # paramètre scale

Je calcule la distribution par :

y = y = cauchy.pdf(x,x0,a)

et j'obtiens la courbe en cloche bleue suivante :

Densité probabilité Cauchy

J'ai tracé sur le même repère la distribution gaussienne de moyenne 0 et d'écart type 2.0, pour pouvoir comparer une gaussienne et une lorentzienne. Vous constatez que la gaussienne est moins étalée et qu'elle tend plus vite vers 0 autour de son axe de symétrie.

Tracer la courbe de la fonction de répartition

J'utilise, comme pour la gaussienne, la méthode cdf() pour tracer la fonction de répartition :

z = cauchy.cdf(x,x0,a)

J'obtiens la courbe suivante :

Fonction de répartition Cauchy

Générer un nombre aléatoire selon une distribution lorentzienne

Rien de plus simple, en utilisant l'instruction :

z = cauchy.rvs(x0,a)

x0 et a étant les deux paramètres de la loi de distribution de Cauchy.

Son utilisation en physique

La loi de Cauchy est une loi "large". On dit qu'une loi est "large" lorsque sa variance (son second moment) n'est pas définie. Les lois larges ne répondent pas aux hypothèses du théorème de la limite centrale.

Comme vous le devinez en regardant la courbe de densité de probabilité, les évènements extrêmes ont une probabilité qui n'est pas négligeable. Les évènements extrêmes ne sont pas si rares que cela, ce que l'on peut constater dans le comportement des systèmes complexes.

La distribution de Cauchy sert souvent à modéliser des phénomènes aléatoires très oscillants, c'est à dire dont les valeurs extrêmes ont une probabilité non négligeable. Par exemple, on l'utilise en optique pour modéliser les variations de l'indice de réfraction d'un faisceau monochromatique entre deux milieux. On l'utilise aussi, ce qui n'a rien à voir avec la physique, en finance pour modéliser les fluctuations d'amplitude des produits financiers. Une petite digression à ce sujet : les recherches financières utilisent de plus en plus de modèles physiques dans la modélisation boursière. Ce faisant, elles emploient beaucoup de physiciens, ce qui est un débouché non négligeable pour les numériciens... Enfin, si on aime les maths fi !

On retrouve aussi la distribution de Cauchy en mécanique des oscillateurs, en particulier dans l'étude du phénomène de résonance. Pour un oscillateur linéaire faiblement amorti, l'intensité des oscillations lorsque la fréquence approche la fréquence de résonance de l'oscillateur est modélisée par une distribution de Cauchy.

Vous la retrouverez également en physique des particules : elle modélise la densité d'énergie d'une particule instable. Dans ce cas, on parle de distribution de Breit-Wigner.

Loi de Poisson

Définition et principales propriétés

Contrairement aux autres lois abordées jusqu'ici, la loi de Poisson est une loi de distribution discrète, dont le support est \( \mathbb{N} \).

La loi de Poisson est surnommée la "loi des évènements rares". Elle permet de modéliser des phénomènes dont la densité d'évènement par unité de temps ou d'espace est faible ou très faible. On l'utilise typiquement pour modéliser les phénomènes d'attente comme on le verra plus loin.

La loi de Poisson s'exprime par :

\( f(n) = \left \{ \begin{array}{lr} \dfrac{\lambda^n}{n!} e^{-\lambda} \hspace{1cm} \mbox{si } n \in \mathbb{N} \\ 0 \hspace{2cm} \mbox{si } n \not \in  \mathbb{N} \end{array}  \right. \)

avec \( \lambda \) réel positif, paramètre de la loi de Poisson, et n entier naturel.

Sa fonction de répartition F(x) est un peu compliquée. Sa définition fait appel à une classe particulière de fonction, dite fonction Gamma incomplète, notée \( \Gamma \). Elle s'exprime par :

\(  \displaystyle F(n) = \dfrac{\Gamma(\mid n + 1 \mid,  \lambda)}{\mid n \mid !} \)

Je n'insisterai pas, dans la mesure où elle est assez peu utilisée dans les domaines couverts par TangenteX.com

Son espérance E[X] est égale à :

\( \displaystyle E[X] =   \lambda \)

et sa variance Var[X] est égale à :

\( \displaystyle Var[X] =  \lambda \)

Notez que l'espérance et la variance de la loi de Poisson sont égales au paramètre de la loi...

Une remarque qui peut présenter un intérêt pratique : on peut approximer une loi de Poisson \( P( \lambda) \) par une loi normale de paramètres \( N( \lambda, \sqrt{ \lambda}) \) lorsque  \( \lambda \) est raisonnablement grand, disons à partir de  \( \lambda = 10 \), comme on le verra ci-dessous. Notez cependant que lorsqu'on approche une loi discrète (Poisson) par une loi continue (loi normale), il peut s'avérer nécessaire d'effectuer des corrections de continuité, si l'on veut une grand précision. Pour notre usage, on s'en passera.

Les processus poissonniens

Vous entendrez souvent parler de "processus poissonnien" en physique. Aussi, il me semble utile d'en donner une définition simple. On dit que la réalisation d'un évènement A est un processus poissonnien si et seulement si :

Les deux conditions doivent être vérifiées expérimentalement. La condition de stationnarité de la probablité de A est la plus difficile à vérifier. Par exemple, s'agissant de fiabilité, on sait que le taux de panne n'est pas constant en début et en fin de vie d'un équipement. La deuxième condition est admise lorsque la probabilité de l'évènement est très faible.

La physique et l'ingénierie fournissent beaucoup d'exemples de processus poissonniens. Nous verrons quelques exemples plus loin ou dans d'autres pages de TangenteX.

Tracer l'histogramme de la distribution de Poisson

Le script TracePoisson.py construit et trace l'histogramme de la distribution de Poisson en fonction de son paramètre. Le corps du script tient en deux instructions, l'une pour construire le vecteur de données générées d'après une distribution de Poisson :

y = poisson.rvs(Lambda, size=nbtirage)

l'autre pour construire et afficher l'histogramme de probabilité :

hist(y, bins=NbClasses, range=(Xmin,Xmax), normed=True)

J'ai utilisé ce script pour tracer différents histogrammes en fonction de la valeur de \( \lambda \) :

Histogramme Poisson lambda = 0.5
Histogramme Poisson lambda = 2.0
Histogramme Poisson lambda = 10.0

Vous remarquez que la symétrie par rapport à \( \lambda \) s'accentue à mesure que  \( \lambda\) devient grand et que notre histogramme ressemble de plus en plus à une cloche. Si vous augmentez la valeur de \( \lambda \), la distribution de Poisson ressemblera de plus en plus à une distribution gaussienne, ce qui rend plausible (en fait cela se démontre) l'approximation par une gaussienne d'une distribution poissonienne pour des densités d'évènements grandes.

Générer un nombre aléatoire selon une distribution de Poisson

Comme pour les autres lois, il suffit d'utiliser la méthode .rvs associée à la loi de Poisson :

z = poisson.rvs(scale = Lambda)

avec Lambda, le paramètre de la distribution de Poisson.

Son utilisation en physique

On dit que la loi de Poisson est utilisée pour modéliser les évènements "rares", c'est à dire d'évènements dont la probabilité est faible ou très faible. En physique, elle est utilisée pour modéliser le nombre d'occurences d'un évènement A quelconque par unité d'espace ou de temps. La loi de Poisson permet de calculer la probabilité d'occurence de l'évènement A.

Le paramètre \( \lambda \) de la loi \( P( \lambda) \) est sans dimension. On le rencontrera souvent comme le produit de deux grandeurs de dimensions complémentaires, par exemple le produit d'un temps et d'une intensité dont l'unité sera T-1. Ce sera le cas par exemple lorsqu'on modélisera une file d'attente.

La loi de Poisson est utilisée pour modéliser les phénomènes d'attente. Supposons que nous voulions modéliser l'attente d'un client à un guichet de service quelconque, par exemple un automate à la Poste (je n'ose plus parler de guichet avec un agent derrière, il y en a de moins en moins). Faisons les hypothèses suivantes :

Moyennant ces hypothèses,en appelant X la variable aléatoire "nombre de clients arrivés pendant un intervalle \( \Delta t \) compris entre 0 et T", alors la loi de Poisson me permet de calculer \( \displaystyle  P(X = n) = \dfrac{( \gamma \Delta t)^n}{n!} e^{-\gamma \Delta t} \)

Voyons un exemple pratique dans le domaine de l'ingénierie. Un laboratoire de physique utilise une chaîne d'acquisition qui comporte 2500 capteurs "connectés". Ces capteurs fonctionnent indépendamment les uns des autres. On constate en moyenne 3 pannes par an dans l'ensemble des capteurs, soit un taux de panne de 0,12 % par an. Le directeur de recherche, préoccupé de la gestion de sa chaîne, se demande quelle est la probabilité de ne constater aucune panne dans une année prise au hasard, ou au contraire de constater 10 pannes dans l'année ? Nous sommes dans le domaine d'application de la loi de Poisson : une population grande, la panne est un évènement rare (3 par an sur 2 500 capteurs !) et les pannes sont des évènements que nous supposerons indépendants (il faudra le vérifier...).

Le paramètre \( \lambda \) de la loi de Poisson est ici égal à \( \lambda = 2500*0,0012 = 3\), le produit du nombre de capteurs par le taux de panne. En appliquant simplement la formule précédente, j'ai :

On retrouve également la loi de Poisson en thermodynamique, lorsqu'on veut calculer la probabilité qu'un nombre n de particules se trouvent dans un volume petit donné, pour une population de particules indépendantes sans interaction, dans un volume V.

Enfin, la loi de Poisson est utilisée pour modéliser certains processus stochastiques, comme par exemple la décroissance radioactive ou le bruit électronique, le bruit de grenaille, observé dans les circuits et provoqué par l'arrivée aléatoire de charges électriques.

Loi exponentielle

Définition et principales propriétés

La fonction de densité de probabilité de la loi exponentielle sur le support \( \mathbb{R} \) s'exprime par :

\(  \displaystyle f(x) = \left \{ \begin{array}{lr} 0 \hspace{1.2cm} \mbox{si } x \lt 0 \\ \lambda e^{-\dfrac{x}{\lambda}} \hspace{0.3cm} \mbox{si } x \ge 0  \end{array} \right. \)

avec \( \lambda \) une constante strictement positive nommée "facteur d'échelle" et égale à 1/E[x].

Sa fonction de répartition F(x) est définie par :

\(  \displaystyle F(x) = \left \{ \begin{array}{lr} 0 \hspace{1.6cm} \mbox{si } x \lt 0 \\ 1 - e^{-\lambda x} \hspace{0.3cm} \mbox{si } x \ge 0  \end{array} \right. \)

Son espérance E[X] est égale à :

\( \displaystyle E[X] =  \dfrac{1}{\lambda} \)

et sa variance Var[X] est égale à :

\( \displaystyle Var[X] =  \dfrac{1}{\lambda^2}\).

Notons que son écart type est donc égal à \( \displaystyle \sigma  =  \dfrac{1}{\lambda}\).

Tracer la courbe de la fonction de densité de probabilité

Le script TraceExponentielle.py calcule et affiche la fonction de densité de probabilité et la fonction de répartition de la loi de distribution exponentielle. Les principales instructions permettent de calculer ces deux fonctions :

y = expon.pdf(x,scale = 1./Lambda)   # densité de probabilité
Y = expon.cdf(x,scale = 1./Lambda)   # fonction de répartition

L'affichage est assuré par les fonctions classiques.

Densité de probabilité loi exponentielle

Tracer la courbe de la fonction de répartition

Fonction de répartition loi exponentielle

Générer un nombre aléatoire selon une distribution exponentielle

J'utilise toujour la méthode rvs, appliquée à loi de distribution exponentielle nommée expon() dans scipy :

z = expon.rvs(scale = 1.0/lambda)

 avec lambda le facteur d'échelle de la loi de distribution exponentielle.

Son utilisation en physique

La loi de distribution exponentionnelle permet la modélisation des processus sans mémoire. Mathématiquement, dans un processus sans mémoire, la probabilité de survenue d'un évènement à l'instant t est strictement identique à la probabilité de la survenue à l'instant t + T.

Il existe des phénomènes physiques sans mémoire, comme par exemple la désintégration radioactive ou le lancer d'une pièce, pour lesquels la loi exponentielle est appropriée dans leur modélisation.

On utilise également la loi exponentielle en simulation pour calculer les délais d'attente dans différents modèles de files d'attente.

On utilise souvent la loi exponentielle pour modéliser la durée de vie d'un élément. Ce faisant, on pose l'hypothèse implicite que \( \lambda \) est constant dans le temps, c'est à dire que physiquement l'élément en question ne subit ni vieillissement ni usure. Or, dans la plupart des cas, c'est au mieux une hypothèse simplificatrice grossière, au pire une erreur. Si l'on veut faire les choses bien, on utilise des lois dérivées de la loi exponentielle, mais qui tiennent compte des phénomènes de vieillessement, comme la loi de Weibull, largement utilisée en analyse de la fiabilité.

Dans la pratique, l'expérience montre que le taux de panne d'un équipement est constant lors de sa vie en dehors du début de vie (les défauts de jeunesse qui justifient le "rodage") et de la fin de vie (les défauts de vieillesse). Dans la partie centrale et plate de la courbe en forme de baignoire de Weibull (voir le lien ci-dessus), on peut utiliser la loi exponentielle. Voyons un exemple.

Soit un composant électronique "rodé", en cours de vie. Son taux de panne \( \lambda \) est constant et égal à 2.10-5. Je veux calculer la probabilité que la durée de vie de ce composant soit de 2 000 heures au maximum.

Cette probabilité \( P(X \le 2000) \) est donnée, selon la définition par \( P(X \le 2000) = \int_0^{2000} \lambda e^{-\lambda t}dt \), soit \( P(X \le 2000) = \int_0^{2000} 2.10^{-5} e^{-2.10^{-5} t}dt \). Ce qui nous donne \( P(X \le 2000)  = 1 - e^{-2.10^{-5}*2000} = 0,041 \).

Muni de ce résultat, nous pouvons calculer la probabilité que la durée de vie du composant soit d'au moins 2 000 heures, sachant que \( P(X \ge 2000) = 1 - P(X \le 2000) \). Le calcul donne une probabilité égale à 0.959.

Ce genre de calcul est très courant dans l'industrie. Il est acceptable sous réserve que les hypothèses soient bien respectées, c'est à dire que le composant ne soit pas en début ou en fin de vie. Pour vérifier ces hypothèses, on "dévermine" les composants électroniques, c'est à dire qu'on les fait fonctionner à vide pendant quelques dizaines ou centaines d'heures avant des les mettre en service. Pour apprécier la "fin de vie", on mesure périodiquement le taux de panne sur les composants et l'on vérifie qu'il demeure constant. S'il augmente, c'est probablement qu'on approche la fin de vie et qu'il est temps de le changer (c'est la maintenance prédictive).

Contenu et design par Dominique Lefebvre - www.tangenteX.com novembre 2019    Licence Creative Commons     Contact :