Approche algorithmique du processus de Poisson en BTS

pensées probabilistes d’un jour de pluie
lundi 26 mai 2014
par  Alain BUSSER

Aujourd’hui, il pleut. Il ne fait pas un temps à mettre un chien dehors. Un Poisson peut-être, puisque les poissons aiment l’eau... Mais en écrivant ces lignes, je constate que le bruit émis par la multitude des gouttes de pluie ressemble à un bruit blanc, ce qui suggère que la fréquence des impacts de gouttes de pluie est aléatoire, et que les gouttes de pluie sont statistiquement indépendantes. Bref, elles semblent suivre un processus de Poisson...

Voici un extrait du programme de BTS (excellente lecture les jours de pluie !) :

La loi de Poisson est introduite comme correspondant au nombre de réalisations observées, durant un intervalle de temps de longueur donnée, lorsque le temps d’attente entre deux réalisations est fourni par une loi exponentielle. La connaissance d’une expression explicite de la loi de Poisson n’est pas attendue.

Ambitieux ! En fait, un processus est une variable aléatoire dépendant du temps, qui est donc plus abstrait qu’une « simple » variable aléatoire. Mais il se trouve qu’un processus de Poisson peut être vu sous deux angles différents :

  • projeté sur l’axe des temps (entre deux goutte de pluie ci-dessous), il mène à des variables aléatoires exponentielles ;
  • projeté sur l’axe des fréquences (nombre de gouttes de pluie par seconde ci-dessous) il mène à des variables aléatoires de Poisson.

C’est assez similaire à ces exercices où on demande la forme d’un solide qui ressemble à un disque vu d’au-dessus et à un carré vu de côté (si, si ça existe, et c’est même au programme du collège)...

Pour voir un exemple de processus de Poisson (traité avec la loi exponentielle en Terminale et avec la loi de Poisson en BTS), voir cet article de volcanologie. Mais en attendant d’aller voir s’il y a une éruption volcanique, on ne peut qu’écouter la pluie qui tombe :

Pensées poissonniennes d'un jour de pluie

Remarque sur les fonctions graphiques de ce fichier: Le premier paramètre est un entier allant de 1 à 4; c'est le numéro du graphique sur lequel on dessine l'histogramme ou le diagramme en bâtons. Le second paramètre est un réel positif, c'est la valeur maximale de x sur l'axe des abscisses. Enfin le troisième paramètre est un tableau de nombres.

I/ Simulation de variables aléatoires exponentielles

Il va bientôt pleuvoir: Quelques gouttes tombent petit à petit, au hasard. On fait l'hypothèse qu'elles sont indépendantes entre elles, et que la probabilité que deux d'entre elles tombent exactement en même temps, est nulle. Alors, en notant λ le nombre moyen de gouttes de pluie par seconde, l'intervalle de temps entre deux gouttes est modélisé par une variable aléatoire exponentielle X de paramètre λ. Théoriquement parlant, cela signifie que la chute d'une goutte de pluie ne fait pas vieillir le nuage dont les gouttes tombent.

Alors, la fonction de répartition de X est 1-e-λx ce qui veut dire que

  • P(X<a)=1-e-λ×a (définition de la fonction de répartition)
  • P(X≥a)=e-λ×a (passage à l'évènement contraire)
  • P(-λ× X ≤ -λ× a)=e-λ×a (multiplication des deux membres par un nombre négatif)
  • P(e-λ×X≤ e-λ×a)=e-λ×a (la fonction exponentielle est croissante)

En posant U=e-λ×X et x=e-λ×a, la dernière des probabilités ci-dessus s'écrit P(U≤x)=x, ce qui signifie que la fonction de répartition de U est égale à x; sa dérivée est la loi de U; on trouve x'=1, donc la loi de U est la constante égale à 1: U suit une loi uniforme sur ]0;1[.

Théorème: Si X suit une loi exponentielle de paramètre λ, e-λX suit une loi uniforme sur ]0;1[.

On peut remonter les calculs, et donc si U est uniforme sur ]0;1[, -ln(U)/λ suit une loi exponentielle de paramètre λ. Or on sait simuler une variable aléatoire uniforme sur ]0;1[ (en JavaScript c'est Math.random()), et l'algorithme suivant permet donc de simuler une variable aléatoire exponentielle:

Le caractère exponentiel de la distribution apparaît nettement sur l'histogramme. On peut essayer d'autres valeurs de λ et de N (mais ne pas oublier de changer le second paramètre de la fonction histogramme en bas du script).

II/ Fréquence des chutes de gouttes de pluie

Des météorologistes ont disposé un drôle d'appareil, qui fait penser à un compteur Geiger: À chaque fois qu'une goutte de pluie tombe sur une plaque métallique, un microphone enregistre un "plic" qui incrémente un compteur. À chaque seconde, la valeur du compteur est envoyée à un appareil de collecte de données et le compteur est remis à zéro. Ainsi, seconde après seconde, le nombre de gouttes d'eau qui sont tombées (c'est-à-dire la fréquence des gouttes d'eau) est envoyé à la station météo. Il s'agit d'une variable aléatoire Y, que l'on peut simuler par un algorithme de comptage :

III/ Loi de Poisson

La variable aléatoire Y du paragraphe précédent suit une loi de Poisson de paramètre λ. Cette loi a été découverte par Siméon Denis Poisson au milieu du XIXe siècle, comme cas limite d'une loi binomiale lorsque n est grand et p est suffisamment petit pour que λ=n×p ne soit pas trop grand. Poisson a alors montré que la loi suivie par Y est P(Y=k)=e×λk/k!. On peut le vérifier en comparant le diagramme en bâtons des fréquences ci-dessus, avec celui des probabilités théoriques ci-dessous:

On peut superposer les deux diagrammes en bâtons pour comparaison, en ajoutant simplement diagrammeBatonsTheorique 2, 1, probas (ainsi que la création de tableau probas) au script précédent.

La pluie s'est intensifiée, ce qui s'est manifesté par une augmentation du paramètre λ. En remplaçant 5 par une valeur plus grande (quelques dizaines de gouttes de pluie par seconde; essayer par exemple λ=20 et les probabilités jusqu'à 100, avec un second paramètre égal à 4 pour la fonction diagrammeBatonsTheorique) pour λ, on constate que le diagramme en bâtons prend une forme de courbe en cloche. Ce qui veut dire que le bruit d'une averse est modélisé par un bruit blanc gaussien (variables aléatoires normales statistiquement indépendantes). Mais ceci est une autre histoire...

IV/ Algorithme de Knuth pour simuler une variable aléatoire de Poisson

Pleuvait-il lorsque Donald Knuth a eu cette idée pour simuler rapidement une variable aléatoire de Poisson ? Voici un méta-algorithme:

  • L'algorithme ci-dessus revient à additionner des variables exponentielles de paramètre λ jusqu'à ce que leur somme dépasse 1.
  • Il revient donc à additionner des expressions du type -ln(x)/λ (où x est uniforme sur ]0;1[) jusqu'à ce que leur somme dépasse 1
  • On aura donc le même effet si on additionne des expressions du type ln(x) jusqu'à ce que leur somme passe en-dessous de -λ
  • ... ou en multipliant leurs exponentielles x jusqu'à ce que leur produit passe en-dessous de e

C'est l'algorithme de Knuth pour simuler une variable aléatoire de Poisson de paramètre λ :

Cet algorithme est très rapide sur une machine qui effectue rapidement les multiplications de réels. Et encore plus rapide lorsque λ est petit.

Récit d’une séquence pédagogique menée en classe de BTS

Découvrir tout ça a été possible sur alcoffeethmique en trois séances :

  1. Découverte de la loi uniforme sur [0 ;1] avec découverte des outils ;
  2. Découverte de la loi exponentielle de paramètres λ=1 et 10, par simulation ;
  3. Découverte de la loi de Poisson de mêmes paramètres.

La première séance a été concentrée sur la notion d’insertion dans Libre Office Writer :

  • insertion d’un hyperlien (vers alcoffeethmique pour rappeler l’outil qui a servi) ;
  • insertion d’un cadre autour d’une partie du texte (scripts CoffeeScript et le cas échéant, la sortie des données)
  • insertion d’une image (l’histogramme en svg, après passage par un éditeur de texte permettant par exemple de modifier les couleurs)

Voici quelques rapports de TP remarquables mais significatifs :

PDF - 55.3 ko
mise en exergue des rajouts dans le script, à chaque nouveauté
PDF - 74 ko
beaucoup de soin apporté aux cadres, aux couleurs et aux polices de caractères
PDF - 54.2 ko
une erreur dans le script a eu pour effet d’afficher les 100 valeurs au lieu de la liste. Les erreurs ont parfois du bon !
PDF - 39.1 ko
sobre mais soigné ; le correcteur orthographique ne semble pas installé...
PDF - 61.7 ko
choix des fonds de couleur et d’une police à empattement pour les scripts
PDF - 66.8 ko
concision par le redimensionnement des histogrammes
PDF - 56.1 ko
un vrai rapport de TP dûment présenté. Par contre il y a confusion entre l’histogramme et le script l’ayant engendré
PDF - 52.6 ko
choix original du dimensionnement de l’histogramme

La seconde séance a été consacrée à remplacer alea() qui simule une variable aléatoire uniforme sur [0 ;1], par l’opposé de son logarithme, qui suit une loi exponentielle de paramètre 1. Puis à explorer d’autres valeurs du paramètre comme 10 :

PDF - 73 ko
titres concis ; un script n’a pas été mis en forme, le C est vide. Manque de temps pendant la séance et surtout après
PDF - 60.6 ko
document fourni sous forme d’odt : Export en pdf raté ?
PDF - 66.8 ko
le TP du voisin
PDF - 81.8 ko
Le TP de la voisine
PDF - 97.9 ko
pages marquées mais non numérotées
PDF - 73.7 ko
charte de couleurs cohérente
PDF - 75.2 ko
une valeur sûre (voir ci-dessus)
PDF - 50.6 ko
bien présenté mais un peu trop concis (c’est souvent le cas)

La troisième séance a consisté à simuler des sommes de variables aléatoires exponentielles en comptant le nombre de termes jusqu’à ce que la somme dépasse 1. On note qu’il a fallu dessiner des diagrammes en bâtons puisque la loi de Poisson est discrète. Une difficulté statistique est apparue, avec le script proposé qui était

stats = new Sac()
for n in [1..1000]
    gouttes = 0
    instant = -0.1*ln(alea())
    until instant > 1
        gouttes += 1
        instant -= 0.1*ln(alea())
    stats.ajoute gouttes
diagrammeBatonsTrie stats.effectifs, 200

En effet, un objet de type sac ne possède pas de méthodes statistiques comme la moyenne ou l’écart-type. En fait il aurait mieux valu ne créer le sac qu’au dernier moment :

liste = []
for n in [1..1000]
    gouttes = 0
    instant = -0.1*ln(alea())
    until instant > 1
        gouttes += 1
        instant -= 0.1*ln(alea())
    liste.push gouttes
stats = new Sac liste
diagrammeBatonsTrie stats.effectifs, 200

Les deux scripts produisent ce genre de graphique :

12345678910111213141516171819202122

La différence entre les deux versions est que la première consiste à créer au début un sac vide, puis à y ajouter, au fur et à mesure, les valeurs prises par la variable aléatoire de Poisson, alors que la seconde consiste à ajouter les valeurs dans une liste, et après cela seulement, créer un sac dans lequel on place d’un seul coup toute la liste. Cette nouvelle version permet de faire des calculs statistiques sur la liste :

liste = []
for n in [1..1000]
    gouttes = 0
    instant = -0.1*ln(alea())
    until instant > 1
        gouttes += 1
        instant -= 0.1*ln(alea())
    liste.push gouttes
affiche laMoyenneDe liste
affiche laVarianceDe liste

Si le temps l’avait permis, il aurait été possible alors de conjecturer l’égalité entre l’espérance, la variance et le paramètre.

A propos de temps, ça ne s’invente pas, le jour du TP sur les gouttes de pluie, il y avait de fortes pluies qui ont empêché plusieurs étudiants d’être présents ce jour-là. Les autres ont apporté ces contributions remarquables :

PDF - 49.7 ko
intéressante présentation en deux colonnes
PDF - 68.5 ko
la même présentation sur deux colonnes mais améliorée ; le jeu sur les couleurs est remarquable
PDF - 67.4 ko
le tableau d’effectifs est particulièrement remarquable ainsi que le conclusion
PDF - 75.1 ko
Excellente présentation, absolument exemplaire. Mais où est le texte (ce défaut est général si on regarde ci-dessus) ?

Commentaires

Annonces

Prochains rendez-vous de l’IREM

Séminaire EDIM-IREM

- Mercredi 12 avril 2017, 14h-18h, campus du Tampon, amphi 120C
- Mercredi 3 mai 2017, 14h-18h, PTU, Saint-Denis, salle S23.6
- Mardi 13 juin 2017, 14h-18h, campus du Tampon
- Mercredi 14 juin 2017, 14h-18h, PTU, Saint-Denis, salle S23.6


Brèves

Décès de Raymond Smullyan

mercredi 15 mars

Le logicien Raymon Smullyan est décédé en février 2017, à l’âge respectable de 97 ans : Il avait eu Alonzo Church comme professeur ! Pour en savoir plus, voir cet article

Travailler à plusieurs

lundi 19 décembre 2016

Les enseignements d’exploration au lycée imposent aux enseignants de travailler ensemble. Chantal Tuffery-Rochdi a analysé dans sa thèse les pratiques des enseignants de MPS (méthodes et pratiques scientifiques). Elle répond aux questions des Cahiers pédagogiques.

Un document sur Eduscol

mardi 19 mai 2015

Un document clarifiant bien la façon dont les mêmes concepts vivent en mathématiques et dans les sciences « exactes » les utilisant, publié par Eduscol en octobre 2014. Citons-les :
« Le document proposé ci-dessous s’adresse aux professeurs de mathématiques, physique-chimie et sciences de l’ingénieur intervenant dans le segment [Bac-3 ; Bac+3]. Il vise à les informer des différences de présentation et d’interprétation qui sont faites de certains concepts mathématiques dans les autres disciplines. Ces éclaircissements peuvent contribuer à harmoniser et à clarifier l’utilisation de ces notions auprès des élèves. »

Histoire de la comptabilité

vendredi 28 décembre 2012

Sur ce site (en anglais) dédié à la comptabilité, on trouve des informations intéressantes sur l’histoire et les pratiques de ce domaine, qui peuvent être utiles aux professeurs enseignant des mathématiques financières (et aussi aux autres...).

La CGE et la réforme des lycées

lundi 16 janvier 2012

La Conférence des Grandes Écoles publie 19 préconisations pour la réforme du lycée.

Sur le Web : Les 19 préconisations

Pratique des mathématiques en série STD2A

lundi 16 janvier 2012

Le site de l’IGEN offre des recommandations et des ressources pour enseigner les mathématiques en série STD2A. Les thèmes abordés (couleurs et nuances de gris, arcs et architecture, jeux vidéos, photo et tableur, perspectives parallèles...) sont de nature à donner aussi des idées d’activités aux enseignants des autres séries !

En cheminant avec Kakeya

lundi 16 janvier 2012

Un livre (à télécharger) de Vincent Borelli et Jean-Luc Rullière qui présente le calcul intégral et la dérivation en s’appuyant sur la question de Kakeya. Pour les lycéens, les étudiants et tous les esprits curieux qui souhaitent voir les mathématiques sous un jour différent.

Sur le Web : Livre à télécharger

Bicentenaire Galois

lundi 12 septembre 2011

À l’occasion du bicentenaire de la naissance d’Évariste Galois (1811-2011), l’Institut Henri Poincaré et la Société mathématique de France organisent un ensemble de manifestations et proposent un site contenant diverses ressources documentaires susceptibles d’intéresser les enseignants.

Statistiques

Dernière mise à jour

jeudi 27 avril 2017

Publication

740 Articles
Aucun album photo
130 Brèves
11 Sites Web
126 Auteurs

Visites

1125 aujourd'hui
1189 hier
1994675 depuis le début
33 visiteurs actuellement connectés