Seuils, intervalles et simulations
Introduction
Les questions de bac sur la loi binomiale ne s'arrêtent presque jamais à « calculer P(X = 3) ». Elles demandent plutôt : combien d'essais faut-il ? Combien de places prévoir ? Ce résultat est-il normal, ou suspect ?
Ces questions ont un point commun : on fait varier un entier — le nombre d'essais, le nombre de places, les bornes d'un intervalle — jusqu'à ce qu'une probabilité franchisse un seuil. Cette leçon donne les trois méthodes, et l'algorithme qui les automatise.
1. Au moins un succès : combien d'essais ?
Le contraire de « au moins un succès » est « aucun succès », c'est-à-dire la seule liste S̅ S̅ ⋯ S̅ :
formula P(X ≥ 1) = 1 - P(X = 0) = 1 - (1 - p)ⁿ
Combien de tentatives pour être presque sûr ? : Une tentative réussit avec la probabilité p = 0,2, indépendamment des autres. Quel est le plus petit nombre n de tentatives qui garantit au moins un succès avec une probabilité d'au moins 0,95 ?
On résout 1 - 0,8ⁿ ≥ 0,95, c'est-à-dire 0,8ⁿ ≤ 0,05. La fonction ln étant strictement croissante sur ]0 ;+∞[, cela équivaut à n ln(0,8) ≤ ln(0,05).
Comme ln(0,8) < 0, diviser par ce nombre change le sens de l'inégalité :
n ≥ (ln(0,05))/(ln(0,8)) ≈ 13,4
Le plus petit entier qui convient est n = 14. Contrôle sur les deux entiers voisins : 0,8¹³ ≈ 0,055 > 0,05 ne convient pas, 0,8¹⁴ ≈ 0,044 ≤ 0,05 convient.
Les deux pièges : Le sens de l'inégalité. ln(1 - p) est négatif dès que 0 < p < 1 : oublier de retourner l'inégalité donne n ≤ 13,4, une réponse absurde (plus on essaie, moins on réussirait ?).
L'arrondi. On arrondit à l'entier supérieur : n = 13 ne suffit pas, le contrôle sur 0,8¹³ le montre.
Sans logarithme, un algorithme essaie les entiers un à un :
def plus_petit_n(p, seuil):
n = 1
while 1 - pow(1 - p, n) < seuil:
n = n + 1
return n
plus_petit_n(0.2, 0.95) renvoie 14.
2. Un seuil sur le nombre de succès : la surréservation
Un restaurant accepte 60 réservations pour un service. Chaque client qui a réservé vient avec la probabilité 0,85, indépendamment des autres. Le nombre X de clients présents suit donc la loi B(60 ; 0,85), d'espérance 51.
Combien de couverts prévoir pour que le risque de manquer de place soit au plus de 5 % ? Avec k couverts, on manque de place si X > k : on cherche le plus petit entier k tel que P(X > k) ≤ 0,05.
Quand k augmente, P(X > k) = 1 - P(X ≤ k) diminue. On lit donc la cumulée de proche en proche :
| k | 53 | 54 | 55 | 56 |
|---|---|---|---|---|
| P(X ≤ k) | 0,8152 | 0,9032 | 0,9576 | 0,9852 |
| P(X > k) | 0,1848 | 0,0968 | 0,0424 | 0,0148 |
P(X > 54) ≈ 0,097 dépasse 0,05, P(X > 55) ≈ 0,042 ne le dépasse pas : il faut 55 couverts. Le plus petit entier qui convient est le premier de la liste qui vérifie la condition, pas le dernier qui l'échoue.
L'algorithme du programme fait exactement cette lecture, en s'appuyant sur la fonction cumul de la leçon précédente :
def seuil(n, p, alpha):
# plus petit k tel que P(X > k) <= alpha
k = 0
while 1 - cumul(n, p, k) > alpha:
k = k + 1
return k
seuil(60, 0.85, 0.05) renvoie 55.
3. Un intervalle qui contient X avec une probabilité d'au moins 1 - α
On cherche deux entiers a et b tels que P(a ≤ X ≤ b) ≥ 1 - α — par exemple α = 0,05 pour une probabilité d'au moins 95 %. On laisse au plus α/2 de probabilité de chaque côté.
Construire l'intervalle :
- a est le plus petit entier tel que P(X ≤ a) > α/2 ;
- b est le plus petit entier tel que P(X ≤ b) ≥ 1 - α/2.
Alors P(a ≤ X ≤ b) ≥ 1 - α.
Pourquoi ça marche. a étant le plus petit entier tel que P(X ≤ a) dépasse α/2, l'entier a - 1 ne vérifie pas cette condition : P(X ≤ a - 1) ≤ α/2. (Et a ≤ b : comme P(X ≤ b) ≥ 1 - α/2 > α/2 dès que α < 1, l'entier b vérifie la condition qui définit a, et a est le plus petit à la vérifier.) Donc
P(a ≤ X ≤ b) = P(X ≤ b) - P(X ≤ a - 1) ≥ (1 - α/2) - α/2 = 1 - α
Pour X de loi B(50 ; 0,3) et α = 0,05 : Extrait de la table des probabilités cumulées :
| k | 8 | 9 | 21 | 22 |
|---|---|---|---|---|
| P(X ≤ k) | 0,0183 | 0,0402 | 0,9749 | 0,9877 |
P(X ≤ 8) ≤ 0,025 < P(X ≤ 9), donc a = 9. P(X ≤ 21) < 0,975 ≤ P(X ≤ 22), donc b = 22.
P(9 ≤ X ≤ 22) = P(X ≤ 22) - P(X ≤ 8) ≈ 0,9877 - 0,0183 = 0,9694 ≥ 0,95.
Pour aller plus loin : décider : Ce prolongement va au-delà de ce que demande le programme, qui s'arrête à la recherche de l'intervalle. On suppose que p = 0,3, et l'on observe sur un échantillon de 50 un nombre de succès. S'il tombe hors de [9 ; 22], on remet en cause l'hypothèse p = 0,3 : une telle observation n'arrive qu'avec une probabilité d'au plus 5 % si l'hypothèse est vraie. S'il tombe dedans, rien ne permet de la remettre en cause — ce qui ne prouve pas qu'elle soit vraie.
Le programme demande aussi l'autre forme : chercher un intervalle I tel que P(X ∈ I) ≤ α. La surréservation en donne un : avec k le seuil du § 2, l'intervalle I = ]k ; n] vérifie P(X ∈ I) = P(X > k) ≤ α.
4. Comparer et optimiser
Quand un énoncé propose deux situations, on modélise chacune par une loi binomiale et l'on compare les probabilités demandées.
Deux QCM, la même règle : Un élève répond au hasard et veut « au moins la moitié des points ». Vaut-il mieux un QCM de 4 questions à 3 choix, ou de 6 questions à 4 choix ?
- 4 questions à 3 choix : X suit B(4 ; 1/3) et P(X ≥ 2) = 1 - P(X = 0) - P(X = 1) = 1 - 16/81 - 32/81 = 33/81 ≈ 0,407.
- 6 questions à 4 choix : Y suit B(6 ; 0,25) et P(Y ≥ 3) = 1 - P(Y ≤ 2) ≈ 0,169.
Le premier QCM laisse plus de deux fois plus de chances au hasard.
Pour optimiser — trouver le n qui rend une probabilité maximale —, on étudie la suite uₙ de ces probabilités, par exemple en comparant le quotient (uₙ₊₁)/(uₙ) à 1 : c'est l'objet d'un exercice du chapitre.
5. Simuler : la planche de Galton
Une bille tombe à travers n rangées de clous. À chaque clou, elle part à droite avec la probabilité 1/2, à gauche sinon, indépendamment d'un clou à l'autre. Le numéro de la case d'arrivée — le nombre de déviations à droite — compte les succès d'un schéma de Bernoulli : il suit la loi B(n ; 1/2).
from random import random
def bille(n):
# numéro de la case d'arrivée = nombre de déviations à droite
case = 0
for rangee in range(n):
if random() < 0.5:
case = case + 1
return case
Lâcher 1 000 billes revient à simuler un échantillon de taille 1 000 de la loi B(n ; 1/2). Les fréquences d'arrivée dans chaque case s'approchent des probabilités C(n,k) × 1/(2ⁿ) : c'est la forme en cloche que dessinent les billes. La case du milieu est la plus remplie parce que le plus grand nombre de chemins y mène.
Simulation et probabilité : Une simulation donne des fréquences, qui varient d'une exécution à l'autre. Elles s'approchent des probabilités quand le nombre de billes augmente — c'est la loi des grands nombres, démontrée au chapitre suivant —, mais elles ne leur sont pas forcément égales.
À retenir
Résumé :
Au moins un succès : P(X ≥ 1) = 1 - (1 - p)ⁿ. Pour trouver le plus petit n, on divise par ln(1 - p) < 0 : l'inégalité change de sens, et l'on arrondit à l'entier supérieur.
Surréservation : le plus petit k tel que P(X > k) ≤ α se lit sur la cumulée, de proche en proche : c'est le premier entier qui convient.
Intervalle : a = plus petit entier tel que P(X ≤ a) > α/2, b = plus petit entier tel que P(X ≤ b) ≥ 1 - α/2 ; alors P(a ≤ X ≤ b) ≥ 1 - α.
Simuler : la planche de Galton simule un échantillon de la loi B(n ; 1/2) ; les fréquences approchent les probabilités, sans leur être forcément égales.