Aller au contenu principal
sfiLois discrètes et analyse de risque

Lois discrètes et analyse de risque

Ce que ce chapitre apporte

  • Distinguer une expérience aléatoire, un événement et une probabilité.
  • Utiliser les probabilités conditionnelles, la formule des probabilités totales et celle de Bayes.
  • Définir une variable aléatoire discrète, calculer son espérance et sa variance.
  • Reconnaître et appliquer les lois de Bernoulli, binomiale, géométrique et de Poisson.
  • Traduire une question de risque en un événement, puis en un calcul.
  • Vérifier un calcul de probabilité par simulation.
Où on va
Le chapitre précédent a résolu la négociation « en fonction de p », en laissant cette probabilité tomber du ciel. Elle ne tombe pas du ciel : on la calcule, à partir d'un modèle. Ce chapitre installe les quatre lois discrètes qui reviennent en permanence en informatique (Bernoulli, binomiale, géométrique, Poisson) et montre comment on passe d'un énoncé en français à un risque chiffré. C'est aussi le socle de la détection d'anomalies, plus loin dans le bloc.

Le vocabulaire, en trois lignes

Définitions

Une expérience aléatoire est une expérience dont on ne peut pas prédire le résultat. L'univers Ω\Omega est l'ensemble de ses résultats possibles. Un événement est une partie de Ω\Omega.

Une probabilité est une fonction qui associe à chaque événement un nombre entre 0 et 1, avec P(Ω)=1P(\Omega ) = 1 et l'additivité sur les événements incompatibles.

Trois règles suffisent pour presque tout :

  • contraire : P(Aˉ)=1P(A)P(\bar{A}) = 1 - P(A) ;
  • union : P(AB)=P(A)+P(B)P(AB)P(A \cup B) = P(A) + P(B) - P(A \cap B) ;
  • indépendance : AA et BB sont indépendants si P(AB)=P(A)×P(B)P(A \cap B) = P(A) \times P(B).
Le réflexe qui fait gagner du temps
Dès que tu lis « au moins un », passe par le contraire : « au moins un » est le contraire de « aucun ». Calculer P(aucun) est presque toujours un produit, donc immédiat, là où le calcul direct demande une somme de plusieurs termes.

Conditionnement et Bayes

Définition

La probabilité de AA sachant BB (avec P(B)>0P(B) > 0) vaut :

P(AB)=P(AB)/P(B)P(A | B) = P(A \cap B) / P(B)

De là découlent deux formules qu'il faut savoir écrire de mémoire. La formule des probabilités totales, quand B1,,BnB_1, \dots , B_n partitionnent l'univers :

P(A)=P(AB1)P(B1)++P(ABn)P(Bn)P(A) = P(A | B_1)P(B_1) + \dots + P(A | B_n)P(B_n)

et la formule de Bayes, qui retourne le conditionnement :

P(BA)=P(AB)×P(B)/P(A)P(B | A) = P(A | B) \times P(B) / P(A)

Une alerte de supervision qui se trompe presque toujours

Ton système de supervision détecte 95 % des vrais incidents, et déclenche une fausse alerte 2 % du temps quand tout va bien. Les incidents réels touchent 1 % des heures d'exploitation. L'alerte sonne. Quelle est la probabilité qu'il y ait vraiment un incident ?

P(alerte) = 0,95 × 0,01 + 0,02 × 0,99 = 0,0095 + 0,0198 = 0,0293

P(incident | alerte) = 0,0095 / 0,0293 ≈ 0,32

32 %. Deux alertes sur trois sont fausses, alors que le détecteur est excellent. La raison est que les incidents sont rares : 2 % d'un très grand nombre d'heures normales pèsent plus lourd que 95 % d'un tout petit nombre d'incidents.

Pourquoi ça compte pour la supervision
C'est le résultat à retenir avant de régler un seuil d'alerte. Un détecteur très fiable produit majoritairement des faux positifs dès que l'événement cherché est rare, et une équipe noyée sous les fausses alertes finit par toutes les ignorer. On y revient au chapitre sur la détection d'anomalies.

Variable aléatoire, espérance, variance

Définitions

Une variable aléatoire discrète XX associe un nombre à chaque résultat de l'expérience. Sa loi est la liste des P(X=xi)P(X = x_i).

Son espérance est E(X)=xiP(X=xi)E(X) = \sum x_i P(X = x_i) : la valeur moyenne sur un très grand nombre de répétitions.

Sa variance est V(X)=E(X2)E(X)2V(X) = E(X^2) - E(X)^2, et son écart-type σ(X)=V(X)\sigma (X) = \sqrt{V}(X).

Deux propriétés servent tout le temps : E(aX+b)=aE(X)+bE(aX + b) = aE(X) + b et V(aX+b)=a2V(X)V(aX + b) = a^2V(X). Ajouter une constante déplace la moyenne sans changer la dispersion ; multiplier par aa multiplie l'écart-type par a|a|.

L'espérance n'est pas une valeur possible
L'espérance du nombre de pannes mensuelles peut valoir 0,7 alors qu'il y a toujours 0, 1 ou 2 pannes. « En moyenne 0,7 panne » veut dire « 7 pannes tous les 10 mois », pas « 0,7 panne ce mois-ci ». En dimensionnement, c'est cette lecture par cumul qui compte.

Loi de Bernoulli : une seule tentative

Une épreuve à deux issues, succès avec la probabilité pp, échec avec 1p1 - p. On note X ~ B(p) la variable qui vaut 1 en cas de succès et 0 sinon.

E(X)=pE(X) = p et V(X)=p(1p)V(X) = p(1 - p)

C'est la brique élémentaire : toutes les lois qui suivent se construisent en répétant des épreuves de Bernoulli.

La variance est maximale à p = 0,5
p(1−p) vaut 0,25 en p = 0,5 et tend vers 0 aux extrémités. Traduction : un événement quasi certain ou quasi impossible est prévisible ; c'est au voisinage de 50 % que l'incertitude est la plus grande. D'où l'intérêt, en négociation comme en supervision, de savoir de quel côté de 0,5 on se trouve.

Loi binomiale : compter les succès

Définition

XX suit la loi binomiale B(n,p)B(n, p) si elle compte le nombre de succès sur nn épreuves de Bernoulli indépendantes et de même probabilité pp. Alors :

P(X = k) = C(n, k) × pᵏ × (1 − p)ⁿ⁻ᵏ pour k=0,1,,nk = 0, 1, \dots , n

avec E(X)=npE(X) = np et V(X)=np(1p)V(X) = np(1 - p).

Le coefficient binomial C(n,k)=n!/(k!(nk)!)C(n, k) = n! / (k!(n - k)!) compte les façons de placer kk succès parmi nn essais ; le reste du produit est la probabilité d'une de ces configurations.

Les trois conditions ne sont pas décoratives
Nombre d'épreuves fixé, épreuves indépendantes, probabilité constante. Le nombre de jours de pluie sur une semaine n'est pas exactement binomial : la météo d'aujourd'hui renseigne sur celle de demain, les jours ne sont pas indépendants. On l'utilise quand même comme première approximation, mais on l'écrit.
L'exercice du bloc

Sur les cinq prochains jours, la probabilité qu'un jour ait une couverture nuageuse inférieure à 50 % est de 0,6. Quelle est la probabilité qu'au moins 3 des 5 jours soient dans ce cas ?

X ~ B(5 ; 0,6), et on cherche P(X3)=1P(X2)P(X \geq 3) = 1 - P(X \leq 2).

P(X=0)=0,45=0,01024P(X = 0) = 0{,}4^5 = 0{,}01024 P(X=1)=5×0,6×0,44=0,0768P(X = 1) = 5 \times 0{,}6 \times 0{,}4^4 = 0{,}0768 P(X=2)=10×0,62×0,43=0,2304P(X = 2) = 10 \times 0{,}6^2 \times 0{,}4^3 = 0{,}2304

P(X3)=10,31744=P(X \geq 3) = 1 - 0{,}31744 = 0,6826, soit environ 68 %.

Le calcul à la main d'abord, la bibliothèque ensuite pour contrôler, jamais l'inverse.

main.py
Sortie
>_ Prêt à exécuter…

Et la même chose avec scipy, plus la loi complète en image :

main.py
Sortie
>_ Prêt à exécuter…

Loi géométrique : attendre le premier succès

XX compte le nombre d'essais jusqu'au premier succès inclus, chaque essai réussissant avec la probabilité pp :

P(X = k) = (1 − p)ᵏ⁻¹ × p, avec E(X)=1/pE(X) = 1/p et V(X)=(1p)/p2V(X) = (1 - p)/p^2

C'est la loi du « combien de tentatives avant que ça marche » : relances d'une requête réseau, essais d'un mot de passe, redémarrages avant qu'un service reparte.

Lecture rapide
Une requête échoue 5 % du temps. Le nombre d'envois nécessaires pour qu'elle passe suit une loi géométrique de paramètre 0,95 : en moyenne 1/0,95 ≈ 1,05 envoi. Mais la probabilité qu'il en faille au moins 3 vaut 0,05² = 0,0025 : rare, sans être négligeable à l'échelle d'un million de requêtes, soit 2 500 cas par jour.

Loi de Poisson : compter des événements rares

Définition

XX suit la loi de Poisson P(λ)P(\lambda ) si elle compte le nombre d'événements survenant dans un intervalle fixé, à un rythme moyen λ\lambda, indépendamment les uns des autres :

P(X = k) = e^(−λ) × λᵏ / k! pour k=0,1,2,k = 0, 1, 2, \dots

avec la propriété remarquable E(X)=V(X)=λE(X) = V(X) = \lambda.

C'est la loi des arrivées : requêtes sur un serveur, connexions par minute, pannes par an, paquets perdus par heure. Elle apparaît naturellement comme limite d'une binomiale quand nn est grand et pp petit, avec λ=np\lambda = np.

main.py
Sortie
>_ Prêt à exécuter…
Dimensionner, ce n'est pas dimensionner sur la moyenne
Un serveur qui reçoit 3 requêtes par seconde en moyenne et qui en traite 3 par seconde sature une seconde sur vingt. La moyenne ne dit rien du dimensionnement : c'est la queue de distribution qui décide, et c'est pour ça qu'on calcule P(X > seuil) plutôt que E(X).

Voir les trois lois se rejoindre

Les trois lois discrètes du chapitre ne sont pas trois objets sans rapport : elles décrivent la même expérience sous trois éclairages, et dans certaines conditions elles se confondent. Le bloc ci-dessous les superpose.

À toi de jouer. Change N et P en gardant leur produit constant, par exemple N = 500 et P = 0.008. Regarde la binomiale et la loi de Poisson se superposer de plus en plus. Puis prends N = 50 et P = 0.5 : cette fois c'est la courbe normale qui épouse les bâtons.

main.py
Sortie
>_ Prêt à exécuter…
Une même expérience, trois questions
Bernoulli répond à « ça marche ou pas ? », une seule fois.
Binomiale répond à « combien de succès sur $n$ essais ? ».
Poisson répond à « combien d'événements pendant cette durée ? », quand ils sont rares et indépendants.
Géométrique répond à « combien d'essais avant le premier succès ? ».
Se tromper de loi vient presque toujours d'avoir mal lu la question, pas d'avoir mal calculé. Formule-la à haute voix avant de choisir.

Traduire une question de risque

Voici l'exercice du bloc, et il est plus subtil qu'il n'y paraît : la probabilité de stabiliser avec succès le réseau un jour donné est de 0,7 ; calculez le risque si la tâche est tentée pendant 4 jours.

« Le risque » ne désigne pas un événement
Deux lectures, deux résultats, tous deux justes :
  • Au moins un échec sur les 4 jours : 1 − 0,7⁴ = 1 − 0,2401 = 0,76 ;
  • Un échec les 4 jours : 0,3⁴ = 0,0081.
Un facteur 94 entre les deux. Avant tout calcul, écris l'événement dont tu calcules la probabilité, en français, avant de toucher aux nombres. C'est cette phrase qui porte le raisonnement, pas le résultat.

Le contrôle par simulation, qui ne remplace pas le calcul mais le confirme :

main.py
Sortie
>_ Prêt à exécuter…
Vérification rapidesans note, on peut se reprendre

1.« Combien de serveurs tombent en panne parmi les 40 du parc ? » relève de…

2.« Combien d'alertes vais-je recevoir cette nuit ? » relève plutôt de…

3.Un test détecte 99 % des pannes et se trompe 1 % du temps sur les machines saines. Un test positif signifie…

Choisir la bonne loi

La question poséeLa loiLe paramètre
Ça marche ou pas, une foisBernoullipp
Combien de succès sur nn essaisBinomialenn, pp
Combien d'essais jusqu'au premier succèsGéométriquepp
Combien d'événements dans un intervallePoissonλ\lambda
La question de tri
Le nombre d'essais est-il fixé à l'avance ? Si oui, binomiale. Si c'est le nombre d'essais qui est la quantité inconnue, géométrique. Et si les essais ne sont pas dénombrables (des arrivées dans le temps continu) Poisson.

Exercices type

Sur 10 serveurs indépendants tombant en panne chacun avec la probabilité 0,03, quelle est la probabilité qu'au moins un tombe ?

Passe par le contraire : P(aucune panne) = 0,97¹⁰ ≈ 0,7374.

P(au moins une) = 1 − 0,7374 = 0,2626, soit environ 26 %.

Le résultat surprend toujours : avec des composants fiables à 97 %, une grappe de 10 tombe en panne une fois sur quatre. La fiabilité d'un système décroît vite avec le nombre de composants en série.

`X ~ B(20 ; 0,1)`. Calculer $E(X)$, $\sigma (X)$, et $P(X = 0)$

E(X)=20×0,1=2E(X) = 20 \times 0{,}1 = 2

V(X)=20×0,1×0,9=1,8V(X) = 20 \times 0{,}1 \times 0{,}9 = 1{,}8, donc σ(X)=1,81,34\sigma (X) = \sqrt{1{,}8} \approx 1{,}34

P(X=0)=0,9200,1216P(X = 0) = 0{,}9^{20} \approx 0{,}1216

Autrement dit : on attend 2 succès en moyenne, mais il y a 12 % de chances de n'en avoir aucun. L'écart-type, du même ordre que la moyenne, dit exactement que la loi est très dispersée relativement à son centre.

Un test détecte une intrusion dans 99 % des cas et se déclenche à tort 1 fois sur 1000. Les intrusions concernent une session sur 100 000. Le test sonne : intrusion ?

P(alerte) = 0,99 × 10⁻⁵ + 0,001 × (1 − 10⁻⁵) ≈ 0,0000099 + 0,00099999 ≈ 0,00101

P(intrusion | alerte) ≈ 0,0000099 / 0,00101 ≈ 0,0098, soit moins de 1 %.

Sur 100 alertes, une seule correspond à une vraie intrusion. Un test « fiable à 99 % » est inutilisable seul sur un événement aussi rare : il faut soit corréler plusieurs signaux, soit accepter de réduire drastiquement le taux de faux positifs, quitte à manquer des cas.

Un lien réseau perd 2 % des paquets. Combien d'envois faut-il en moyenne pour qu'un paquet passe ? Et la probabilité qu'il en faille plus de 3 ?

Loi géométrique de paramètre p=0,98p = 0{,}98.

E(X)=1/0,981,02E(X) = 1/0{,}98 \approx 1{,}02 envoi.

P(X > 3) = P(les 3 premiers échouent) = 0,02³ = 8 × 10⁻⁶.

Presque toujours un seul envoi, et huit cas sur un million qui demandent plus de trois tentatives. Sur 10 millions de paquets par jour, cela fait tout de même 80 paquets par jour dans ce cas : c'est ce chiffre-là qui dimensionne un délai d'expiration, pas la moyenne.

Un service reçoit 120 requêtes par minute. Probabilité d'en recevoir plus de 3 dans une seconde donnée ?

120 par minute font λ=2\lambda = 2 par seconde. X ~ P(2).

P(X3)=e2(1+2+2+4/3)=e2×6,33330,8571P(X \leq 3) = e^{-2}(1 + 2 + 2 + 4/3) = e^{-2} \times 6{,}3333 \approx 0{,}8571

P(X>3)P(X > 3) \approx 0,143

Une seconde sur sept reçoit plus de 3 requêtes, alors que la moyenne est de 2. Dimensionner la file d'attente sur la moyenne, c'est la saturer 14 % du temps.

Pourquoi ne peut-on pas utiliser une binomiale pour compter les requêtes reçues en une seconde ?

Parce qu'il n'y a pas de nombre d'épreuves nn fixé. Une requête peut arriver à n'importe quel instant d'un intervalle continu ; il n'existe pas de liste finie de tentatives à examiner.

C'est exactement le domaine de la loi de Poisson, qu'on peut d'ailleurs voir comme la limite d'une binomiale : découpe la seconde en nn intervalles minuscules, chacun contenant au plus une requête avec la probabilité p=λ/np = \lambda /n, et fais tendre nn vers l'infini.

La méthode

  1. Écris l'événement en français avant tout calcul. « Au moins un échec sur les quatre jours », cette phrase précède le premier symbole.
  2. Nomme la variable aléatoire et sa loi : X = nombre de jours dégagés, X ~ B(5 ; 0,6).
  3. Vérifie les conditions de la loi que tu invoques, en particulier l'indépendance. Si elle est douteuse, dis-le et poursuis.
  4. Passe par le contraire dès que tu lis « au moins un ».
  5. Donne espérance et écart-type ensemble : l'un dit où ça se passe, l'autre à quel point c'est incertain.
  6. Conclus en langage métier avec une unité concrète : « une seconde sur sept », « 80 paquets par jour », pas « 0,1429 ».

En résumé

  • P(Aˉ)=1P(A)P(\bar{A}) = 1 - P(A) : le réflexe du contraire résout la moitié des exercices.
  • Indépendance : P(AB)=P(A)P(B)P(A \cap B) = P(A)P(B). C'est une hypothèse à justifier, pas un acquis.
  • Bayes retourne le conditionnement. Sur un événement rare, un détecteur excellent produit surtout des faux positifs.
  • E(aX+b)=aE(X)+bE(aX + b) = aE(X) + b et V(aX+b)=a2V(X)V(aX + b) = a^2V(X).
  • Bernoulli B(p)B(p) : une épreuve. E=pE = p, V=p(1p)V = p(1 - p), maximale en p=0,5p = 0{,}5.
  • Binomiale B(n,p)B(n, p) : kk succès sur nn essais fixés. P(X = k) = C(n,k)pᵏ(1−p)ⁿ⁻ᵏ, E=npE = np, V=np(1p)V = np(1-p).
  • Géométrique : essais jusqu'au premier succès. E=1/pE = 1/p.
  • Poisson P(λ)P(\lambda ) : événements rares dans un intervalle. E=V=λE = V = \lambda.
  • On dimensionne sur la queue de distribution, jamais sur la moyenne.

Et ensuite ? Ici on partait d'un modèle pour en déduire des probabilités. Le chapitre suivant fait le trajet inverse, en partant des données observées pour décrire ce qui s'est passé : les statistiques descriptives.

Lois discrètes et analyse de risque | Plateforme ETS