Fiches › Carte › 0 · Socle probabiliste › leçon 4

Variables aléatoires, de la binomiale à la normale

Une variable aléatoire attache un nombre à chaque issue d'un tirage ; sa loi dit avec quelle probabilité elle prend chaque valeur. La leçon suit Brunton 13 à 16, avec ses exemples : seize séquences de quatre pièces, la taille des gens, un masque aléatoire sur une image, trois 6 en douze lancers, son code Python à n = 100, 30, 10 et 5, et 400 pièces entre 190 et 230 piles. Elle va d'une pièce (Bernoulli) à la somme de n pièces (binomiale), puis à la courbe en cloche qui l'approche (normale).

outilà savoir produire au tableau, donnera une cartecultureà comprendre, reste ici, pas de carte▸ blocs à déplier : exemples, preuve, code, où ça casse
Ce que cette leçon suppose acquis
  • Ω, événements, additivité. Ω est l'ensemble des issues possibles d'un tirage. La probabilité d'une réunion d'événements disjoints est la somme de leurs probabilités (l02).
  • Compter. C(n, r) = n!/(r! (n − r)!) est le nombre de façons de choisir r places parmi n (l01). Le binôme : (p + q)n = Σk C(n, k) pk qn−k, ses coefficients forment le triangle de Pascal (l02).
  • Indépendance. A et B sont indépendants quand P(A ∩ B) = P(A) P(B). Pour n essais, il faut l'indépendance mutuelle : la probabilité de n'importe quelle conjonction est le produit des probabilités (l03 pour deux événements, l03 pour la mutuelle).
  • Moyenne et écart-type, en avance. E[X] = Σ x P(X = x) est la moyenne des valeurs pondérée par leurs probabilités (le centre de masse). Var(X) = E[(X − E[X])²] mesure l'étalement ; σ = √Var(X), l'écart-type, est dans l'unité de X. Brunton s'en sert dès 14 et les construit en 28 à 30 (l08).

La leçon

Variable aléatoire, réalisation, paramètre fixe outil

Brunton 13 · Random Variables and Probability Distributions

Brunton part de l'algèbre : une variable x peut valoir 2, 3 ou π. Une variable aléatoire prend elle aussi des valeurs, et l'on attache une probabilité à chacune. Son exemple : lancer une pièce quatre fois. Ω contient 24 = 16 séquences, de PPPP à FFFF (P pour pile, F pour face).

X = le nombre de piles attache un nombre à chaque séquence : X(PPFP) = 3. X prend les valeurs 0 à 4. Regroupées par valeur, les 16 séquences forment des piles de 1, 4, 6, 4 et 1 : P(X = 2) = 6/16. Ce tableau est la loi de X ; il résume les seize cas.

Trois objets, à ne jamais confondre. La probabilité de pile, p = ½, est fixe : c'est une propriété de la pièce. X est aléatoire : avant le lancer on ne connaît pas sa valeur, et elle changerait à chaque nouveau tirage. x = 3 est la valeur réalisée sur ce tirage-ci, notée en minuscule.

Voir l'idée — seize séquences, une variable, une réalisation

Les 16 séquences de quatre lancers, chacune avec sa valeur de X et une couleur par valeur. Regroupe par X : elles tombent en piles de 1, 4, 6, 4 et 1 ; chaque séquence pèse 1/16, donc la hauteur des piles est la loi de X, en seizièmes. Lance quatre pièces : une séquence s'entoure de rouge ; x et p̂ = x/4 changent d'un lancer à l'autre, p = ½ ne bouge jamais.

Les définitions
X : Ω → ℝ, ω ↦ X(ω)     P(X = x) = P({ω ∈ Ω : X(ω) = x})     X ~ Binomiale(4, ½)
fixealéatoireréalisé
ce qui est vrai du monde, indépendamment des donnéesce qui dépend du tirage : changerait à chaque nouveau tiragela valeur sur ce tirage-ci, notée en minuscule
p = ½, la probabilité de pileX, le nombre de piles ; p̂ = X/4, l'estimateur de px = 3 ; p̂ = x/4 = 0,75 sur ce tirage
μ = 3,5, la moyenne d'un déX̄, la moyenne de dix lancersx̄ = 3,2
  • ω est l'issue du tirage, ici une séquence. X est une fonction fixe : tout l'aléa est dans le tirage de ω.
  • « X = x » est un événement, un sous-ensemble de Ω : sa probabilité se calcule avec les axiomes (l02).
  • On écrit X ~ Binomiale(4, ½), « X suit la loi binomiale », jamais « X = Binomiale » (Brunton 14). La formule de cette loi est la notion 4.
  • Un estimateur porte un chapeau : p̂ estime p. Le chapeau sert pour l'estimateur et pour sa valeur sur un tirage ; « sur ce tirage » dit lequel. Quand la loi dépend d'un paramètre fixe, on écrit P(X = x ; p) : la barre « ∣ » est réservée au conditionnement par un événement ou une variable aléatoire.
Exemples simples quatre pièces, un dé, dix lancers, cent pièces, une taille
  1. Quatre pièces. X(PPPP) = 4, X(PFFP) = 2, X(FFFF) = 0. Six séquences ont deux piles : PPFF, PFPF, PFFP, FPPF, FPFP, FFPP. Donc P(X = 2) = 6/16 = 0,375.
  2. Un dé, deux variables sur le même Ω. Ω = {1, 2, 3, 4, 5, 6}. X = la face : P(X = k) = 1/6 pour chaque k. Y = 1 si la face est un 6, 0 sinon : P(Y = 1) = 1/6, P(Y = 0) = 5/6. Le même tirage, deux fonctions, deux lois.
  3. Dix lancers de dé. Sur ce tirage : 2, 5, 1, 4, 3, 6, 2, 3, 5, 1. La moyenne réalisée vaut x̄ = 32/10 = 3,2. La moyenne du dé, μ = 3,5, n'a pas bougé : elle est fixe. Dix autres lancers donneraient un autre x̄ ; c'est X̄ qui est aléatoire.
  4. Cent pièces (Brunton). Ω contient 2100 ≈ 1,27 · 1030 séquences, qu'on n'énumérera jamais. Le nombre de piles a une loi qui porte un nom et une formule (notion 4) : elle résume tout ce qui compte pour la question posée.
  5. La loi est un modèle (Brunton). Dix piles sur dix lancers ont la probabilité (½)10 = 1/1 024 ≈ 0,001 si la pièce est équilibrée ; Brunton ne fait pas le calcul. Si on l'observe, on doute du modèle « pièce équilibrée » : c'est le test d'hypothèse. Mesurer 100 passants pour régler la moyenne et l'écart-type du modèle des tailles, c'est l'estimation de paramètres.
  6. Une taille. X = la taille, en mètres, d'une personne tirée au hasard. X peut prendre un continuum de valeurs : c'est une variable continue, et sa loi se décrit autrement (notion 2).
Simuler en Python énumérer Ω, puis cinq lancers
import itertools
from collections import Counter
import numpy as np

omega = ["".join(s) for s in itertools.product("HT", repeat=4)]  # 16 sequences
X = {w: w.count("H") for w in omega}  # the random variable: a function on omega
print(len(omega), "sequences; X('HHTH') =", X["HHTH"])
law = Counter(X.values())
print("law of X, in 16ths:", [law[k] for k in range(5)])

p = 0.5                                       # fixed: a property of the coin
rng = np.random.default_rng(1)
for draw in range(5):
    flips = "".join("H" if u < p else "T" for u in rng.random(4))  # a new draw
    x = X[flips]                              # realization of X on this draw
    print(f"draw {draw}: {flips}  x = {x}  p_hat = {x / 4:.2f}  p = {p}")
16 sequences; X('HHTH') = 3
law of X, in 16ths: [1, 4, 6, 4, 1]
draw 0: TTHT  x = 1  p_hat = 0.25  p = 0.5
draw 1: HHTH  x = 3  p_hat = 0.75  p = 0.5
draw 2: THTT  x = 1  p_hat = 0.25  p = 0.5
draw 3: HTHH  x = 3  p_hat = 0.75  p = 0.5
draw 4: HHHH  x = 4  p_hat = 1.00  p = 0.5
Où ça casse
  • Écrire μ = 3,2 pour x̄ = 3,2. μ est un nombre fixe du dé ; 3,2 est la valeur de X̄ sur ce tirage. Même faute avec la pièce : conclure p = 0,75 après x = 3. C'est p̂ qui vaut 0,75 sur ce tirage ; p reste ½.
  • « X = 3 » n'est pas une définition de X. C'est un événement : l'ensemble des quatre séquences à trois piles.
  • Une variable aléatoire n'est ni une variable, ni aléatoire. C'est une fonction fixe de l'issue. L'aléa vient du tirage de ω.
  • Même loi ne veut pas dire même variable. X, le nombre de piles, et 4 − X, le nombre de faces, suivent toutes deux Binomiale(4, ½). Elles ne sont égales que sur les six séquences où X = 2.
  • Le cas ML. Le vrai taux de bonnes réponses (accuracy) d'un modèle, π, est fixe ; le nombre X de bonnes réponses sur un jeu de test (test set) tiré au hasard est aléatoire ; 872 sur 1 000 est la réalisation sur ce jeu de test (notion 4).

Trois objets : le paramètre, fixe, vrai du monde (p, μ) ; la variable aléatoire, fonction de l'issue, qui changerait à chaque tirage (X, X̄, p̂) ; sa réalisation sur ce tirage, en minuscule (x, x̄ = 3,2).

Loi discrète, densité, fonction de répartition : évaluer ou intégrer outil

Brunton 13, et 16 pour la fonction de répartition

Pour une variable discrète, chaque valeur porte une probabilité : les barres 1-4-6-4-1 des quatre pièces, en seizièmes, somment à 1. C'est la loi de probabilité, ou PMF (probability mass function).

Pour une variable continue, comme la taille, ça ne marche plus. Prenons, comme Brunton, des tailles en cloche : moyenne 1,75 m, écart-type 7 cm (chiffres d'illustration). Mesurer exactement 1,75 m, avec une précision infinie, a une probabilité nulle. Une classe de 10 cm autour de 1,75 m contient 52,5 % des gens, une classe de 1 cm 5,69 %. La probabilité fond avec la largeur, mais le rapport probabilité / largeur se stabilise vers 5,70 par mètre : c'est la densité f, une probabilité par unité de longueur. Une probabilité devient une aire sous f.

Dans les deux cas, la fonction de répartition F(x) = P(X ≤ x) cumule la masse de gauche à droite, de 0 à 1.

Voir l'idée — des barres de probabilité à la densité

Les tailles du modèle, rangées en classes. Choisis la largeur des classes, de 10 cm à 1 cm. En probabilité de chaque classe, les barres s'écrasent : la classe centrale passe de 0,525 à 0,057, et tendrait vers 0 pour une classe réduite à un point. En probabilité ÷ largeur, les barres collent de mieux en mieux à la courbe f, dont le pic vaut 5,70 par mètre : une densité n'est pas bornée par 1.

Les trois objets
discret : P(X = x) ≥ 0, Σx P(X = x) = 1     continu : f ≥ 0, ∫ f(x) dx = 1, P(a ≤ X ≤ b) = ∫ab f(x) dx
répartition : F(x) = P(X ≤ x)     P(a < X ≤ b) = F(b) − F(a)     f = F′
  • Deux gestes sur une densité. L'évaluer en un point donne une hauteur f(x) : c'est la vraisemblance de l'observation x, qui sert à comparer des hypothèses et n'a pas à être inférieure à 1. L'intégrer sur un intervalle donne une aire : c'est une probabilité, entre 0 et 1.
  • f a l'unité inverse de x (ici, par mètre) ; F et les probabilités n'ont pas d'unité.
  • En continu, P(X = x) = 0, donc ≤ et < donnent la même probabilité. En discret, non : F est un escalier qui saute de P(X = x) en chaque valeur x.
  • F croît de 0 à 1. Pour une densité symétrique autour de μ, F(μ) = ½ : sous le pic de la normale (Brunton 16). En discret, non : la loi des quatre pièces est symétrique autour de 2, mais F(2) = 11/16.
Figure 1 — la hauteur et l'aire, la densité et sa répartition

En haut, la densité des tailles ; l'aire violette est P(a < X ≤ b). En bas, la fonction de répartition F : la même probabilité s'y lit comme la différence de hauteur F(b) − F(a). Les deux premiers readouts sont des hauteurs de f, des vraisemblances : au centre, elles dépassent 1. Les deux derniers sont des probabilités. Rapproche a de b : l'aire tend vers 0, les hauteurs ne bougent presque pas. Passe en centimètres : les hauteurs sont divisées par 100, l'aire ne change pas.

Exemples simples quatre pièces, une aire, une hauteur, une vraisemblance
  1. Quatre pièces, discret. F(2) = P(X ≤ 2) = (1 + 4 + 6)/16 = 11/16 = 0,6875, mais P(X < 2) = 5/16 = 0,3125 : en discret, ≤ et < diffèrent de P(X = 2) = 6/16.
  2. Tailles, une probabilité. P(1,70 < X ≤ 1,80) = F(1,80) − F(1,70) = 0,7625 − 0,2375 = 0,525.
  3. Tailles, une hauteur. f(1,75) = 1/(0,07 · √(2π)) = 5,70 par mètre. En centimètres, la même loi a f(175) = 0,057 par cm. La hauteur dépend de l'unité ; la probabilité 0,525 de l'exemple 2, non.
  4. Une vraisemblance. On mesure une personne : 1,82 m. Sous le modèle de moyenne 1,75 m, f(1,82) = 3,46 ; sous un modèle de moyenne 1,70 m et de même écart-type, f(1,82) = 1,31. La première hypothèse rend l'observation 2,64 fois plus vraisemblable. On a évalué f ; on n'a rien intégré, et P(X = 1,82) vaut 0 sous les deux modèles.
  5. Le cas ML. Ajuster un modèle par maximum de vraisemblance, c'est évaluer la densité du modèle en chaque donnée, multiplier les valeurs (indépendance), et chercher le paramètre qui rend ce produit maximal (fil B). Aucune intégrale n'intervient.
Preuve F(b) − F(a), P(X = x) = 0, f = F′
{X ≤ b} = {X ≤ a} ∪ {a < X ≤ b}
pour a < b ; les deux morceaux sont disjoints
F(b) = F(a) + P(a < X ≤ b)
additivité, axiome 3 (l02)
P(a < X ≤ b) = F(b) − F(a)
on soustrait F(a)
P(X = x) ≤ P(x − h < X ≤ x) = F(x) − F(x − h)
{X = x} est inclus dans la fenêtre : monotonie
P(X = x) = 0
X a une densité, donc F est continue : la différence tend vers 0 quand h → 0
P(x < X ≤ x + h) = ∫xx+h f ≈ f(x) · h
sur une fenêtre étroite, f est presque constante
f(x) = limh→0 P(x < X ≤ x + h) / h = F′(x)
une densité est une probabilité par unité de longueur

La dernière ligne dit pourquoi f(x) peut dépasser 1 : seul le produit f(x) · h est une probabilité, et h est petit.

Simuler en Python un million de tailles
import numpy as np
from scipy.stats import norm

mu, sigma = 1.75, 0.07                        # height model, in metres
rng = np.random.default_rng(0)
h = rng.normal(mu, sigma, size=1_000_000)
print("heights exactly equal to 1.75:", (h == 1.75).sum())
for w in (0.10, 0.01, 0.001):                 # window of width w centred on 1.75
    prob = np.mean(np.abs(h - mu) < w / 2)
    print(f"width {w:5} m: P = {prob:.4f}   P / width = {prob / w:.2f}")
print(f"density f(1.75) = {norm.pdf(mu, mu, sigma):.2f} per metre")
print(f"same law in cm: f(175) = {norm.pdf(175, 175, 7):.4f} per cm")
print(f"F(1.80) = {norm.cdf(1.80, mu, sigma):.4f}")
print(f"share of draws <= 1.80: {np.mean(h <= 1.80):.4f}")
heights exactly equal to 1.75: 0
width   0.1 m: P = 0.5244   P / width = 5.24
width  0.01 m: P = 0.0569   P / width = 5.69
width 0.001 m: P = 0.0057   P / width = 5.71
density f(1.75) = 5.70 per metre
same law in cm: f(175) = 0.0570 per cm
F(1.80) = 0.7625
share of draws <= 1.80: 0.7617
Où ça casse
  • Lire f(x) comme une probabilité. « f(1,75) = 5,7, donc 570 % » n'a pas de sens. Seule l'aire en a un.
  • Intégrer quand on veut une vraisemblance. La vraisemblance d'une observation x est f évaluée en x, pas une intégrale autour. Intégrer « un peu autour de x » donne une probabilité qui dépend de la largeur choisie et tend vers 0 avec elle.
  • La valeur de f dépend de l'unité. 5,70 par mètre, 0,057 par centimètre : deux densités ne se comparent que dans la même unité.
  • ≤ et < en discret. Pour quatre pièces, P(X ≤ 2) = 11/16 et P(X < 2) = 5/16. La notion 7 en dépend.
  • Une variable peut n'être ni discrète, ni à densité. L'attente à un feu : 0 avec probabilité ½ (feu vert), une durée continue sinon. Sa fonction de répartition saute en 0, puis monte continûment. Seule F décrit toujours une loi ; Brunton y revient en 39 (l12).
Brunton, rectifiéBrunton (13) parle de « la densité de probabilité d'obtenir 20 piles », et (13, 16) de « cumulative density function », qu'il appelle aussi, correctement, « cumulative distribution function ». Pour une variable discrète, c'est une loi de probabilité (PMF) : des probabilités ponctuelles, sans unité. La fonction de répartition est la cumulative distribution function (CDF) : elle cumule la loi, qu'elle soit discrète ou à densité.

Variable continue : la densité f est une probabilité par unité de x. Évaluée en un point, c'est une vraisemblance, qui peut dépasser 1 ; seule son intégrale sur un intervalle est une probabilité.

Bernoulli(p) : un essai, deux issues outil

Brunton 14 · Bernoulli and Binomial Random Variables

Brunton formalise ce qu'on fait depuis le début avec les pièces. Une variable de Bernoulli ne prend que deux valeurs : 1 si l'événement qu'on surveille se produit, 0 sinon. C'est à nous de dire ce qu'est un succès : pile, « j'ai fait un 6 », « la pièce fabriquée est bonne ».

Les deux issues n'ont pas à être également probables. On note p = P(X = 1) et q = 1 − p = P(X = 0). Pour une pièce, p = ½ ; pour « faire un 6 » avec un dé, p = 1/6 et q = 5/6.

Brunton s'en sert en programmant : il prend une image et masque chaque pixel, indépendamment des autres, avec probabilité p. C'est un masque de Bernoulli ; en deep learning, le dropout fait la même chose aux neurones d'un réseau.

Voir l'idée — le masque de Bernoulli de Brunton

Une image de 160 pixels. Chaque pixel est une Bernoulli(p) : masqué, donc noirci, avec probabilité p, indépendamment des autres. Monte p : la part masquée suit p sans lui être exactement égale, puisque chaque masque est un tirage. Nouveau masque : un autre tirage, le même p. La part masquée est la moyenne des 160 valeurs 0 ou 1 de ce masque ; en moyenne sur les masques, elle vaut p = E[X]. Au départ, à p = 0,3, ce masque en noircit 44 sur 160, soit 0,275.

La formule
P(X = 1) = p, P(X = 0) = 1 − p     E[X] = p, Var(X) = p(1 − p)
d'un seul trait : P(X = x ; p) = px(1 − p)1−x, x ∈ {0, 1}
  • p ∈ [0, 1] est le seul paramètre, et il est fixe : il décrit le mécanisme, pas un tirage.
  • La forme d'un seul trait se lit en remplaçant x : x = 1 donne p1(1 − p)0 = p, x = 0 donne 1 − p. Elle sert à écrire une vraisemblance sans séparer les cas.
  • E[X] = 0 · (1 − p) + 1 · p = p. Var(X) = p(1 − p) est annoncée ici, comme le fait Brunton, et démontrée avec la variance (l08).
Exemples simples pièce, un 6, contrôle qualité, label, dropout
  1. Une pièce. p = ½ : E[X] = ½, Var(X) = ¼, la plus grande variance possible pour une Bernoulli.
  2. « Faire un 6 ». p = 1/6 ≈ 0,167 : E[X] = 0,167, Var(X) = (1/6)(5/6) = 5/36 ≈ 0,139.
  3. Contrôle qualité (Brunton). X = 1 si la pièce est bonne. Avec 2 % de pièces défectueuses, p = 0,98. Si l'on code plutôt « défectueuse » = 1, p = 0,02 : les deux codages décrivent le même mécanisme.
  4. Le cas ML : un label binaire. Le label Y d'un exemple (spam ou non) est une Bernoulli. Un classifieur donne p = P(Y = 1 ∣ x ; θ) ; la probabilité qu'il attribue au vrai label y vaut py(1 − p)1−y, et son −log, −[y log p + (1 − y) log(1 − p)], est la log-loss (fil B).
  5. Le dropout. Pendant l'entraînement, chaque neurone est coupé selon une Bernoulli(p) indépendante : c'est le masque de Brunton, appliqué à un réseau.
Où ça casse
  • Un dé n'est pas une Bernoulli. Il a six issues. Il le devient quand on décide ce qui compte comme succès, « un 6 » par exemple.
  • « Succès » est une convention, pas un jugement. Dans un dépistage, on code souvent 1 = « malade ».
  • E[X] = p n'est pas une valeur possible. X vaut 0 ou 1, jamais 0,3.
  • Une suite de Bernoulli demande le même p à chaque essai (notion 4). Des mails venus de deux sources, avec deux taux de spam, ne forment pas une suite de Bernoulli(p) de même p.
Brunton, rectifiéBrunton (14) écrit d'abord que la probabilité de X = 0 « s'appelle p », puis se corrige. La convention est p = P(X = 1) : la probabilité de l'issue qu'on a codée 1.

Bernoulli(p) : un essai à deux issues codées 1 (probabilité p) et 0 ; P(X = x ; p) = pˣ(1 − p)¹⁻ˣ, de moyenne p et de variance p(1 − p).

La binomiale : la somme de n Bernoulli indépendantes outil

Brunton 14

Lance n fois la même pièce, ou le même dé, et compte les succès : X = B1 + B2 + … + Bn, où chaque Bi est une Bernoulli(p) et où les essais sont indépendants. X suit une binomiale de paramètres n et p.

Brunton fait n = 2 au tableau, avec S pour succès et É pour échec. Zéro succès, c'est É puis É : q · q = q², parce que l'indépendance change le « et » en produit. Un succès, c'est SÉ ou ÉS : pq + qp = 2pq. Deux succès : p². Les coefficients 1, 2, 1 sont une ligne du triangle de Pascal.

En général, une séquence donnée à k succès a la probabilité pkqn−k, et il y a C(n, k) façons de placer les k succès. Trois 6 en douze lancers : C(12, 3) = 220 séquences, de probabilité (1/6)³(5/6)⁹ chacune, soit 0,197 en tout.

Voir l'idée — deux essais, le carré d'aire 1

Le carré a une aire de 1. Sa largeur est partagée selon le premier essai, S avec probabilité p, É avec q ; sa hauteur selon le second. L'indépendance fait de chaque case un rectangle dont l'aire est le produit : p², pq, qp, q². Les couleurs regroupent les cases par nombre de succès k ; dans le second panneau, P(X = k) est la somme des cases de sa couleur : la barre de 0,278 réunit les deux cases pq et qp, de 0,139 chacune. Au départ p = 1/6, « faire un 6 » : 25/36, 10/36 et 1/36. Déplace p : les cases changent, leur somme reste (p + q)² = 1.

La formule
P(X = k) = C(n, k) pk(1 − p)n−k, k = 0, 1, …, n     X ~ Binomiale(n, p)     E[X] = np, Var(X) = np(1 − p)
  • n fixé d'avance : on compte les succès d'un nombre d'essais décidé avant de commencer.
  • Le même p à chaque essai : c'est ce qui donne à toutes les séquences à k succès la même probabilité pk(1 − p)n−k.
  • Des essais mutuellement indépendants : c'est ce qui change la probabilité d'une séquence en produit (l03).
  • On compte sans l'ordre : SSÉ, SÉS et ÉSS donnent le même k, d'où le facteur C(n, k) (l01).
  • E = np et Var = np(1 − p) sont annoncées ici, comme le fait Brunton. E[X] = E[B1] + … + E[Bn] = np par linéarité, sans aucune hypothèse (l08). Var(X) = n · p(1 − p) en additionnant les variances, ce qui demande des covariances nulles, que l'indépendance garantit (l09).
Figure 2 — la forme d'une binomiale

Chaque barre est P(X = k) ; la barre rouge est celle du k choisi. Le trait rouge marque E = np, le segment vert couvre E ± σ, avec σ = √(np(1 − p)). Les préréglages reprennent les exemples : quatre pièces (P(X = 2) = 0,375), douze dés (P(X = 3) = 0,197), cent dés (P(X = 10) = 0,021). Pousse p vers ½ : la loi devient symétrique et la plus large ; ramène p vers 0 : elle s'écrase à gauche. Monte n à p fixé : le centre avance comme np, la largeur seulement comme √n.

Exemples simples n = 2, n = 3, quatre pièces, des 6, un jeu de test
  1. n = 2, « faire un 6 ». q² = 25/36 ≈ 0,694 ; 2pq = 10/36 ≈ 0,278 ; p² = 1/36 ≈ 0,028. La somme fait 36/36.
  2. n = 3, le devoir de Brunton. Coefficients 1, 3, 3, 1 ; P(X = 1) = 3pq² compte SÉÉ, ÉSÉ et ÉÉS. Pour un dé : 0,579 ; 0,347 ; 0,069 ; 0,005.
  3. Quatre pièces. C(4, k)/2⁴ donne 1, 4, 6, 4, 1 seizièmes : la loi de la notion 1 est une Binomiale(4, ½).
  4. Des 6. Trois 6 en douze lancers : 220 × (1/6)³ × (5/6)⁹ = 220 × 0,00463 × 0,1938 = 0,197. Dix 6 en cent lancers, que Brunton pose sans le calculer : C(100, 10)(1/6)10(5/6)90 = 0,0214.
  5. Le cas ML : 872 bonnes réponses sur 1 000. Si les exemples de test sont tirés indépendamment et que le modèle a une accuracy vraie π, fixe, le nombre X de bonnes réponses suit Binomiale(1 000, π). 872 est sa réalisation sur ce jeu de test ; p̂ = X/1 000 est l'estimateur de π. Avec π = 0,87 : E[X] = 870 et σ = √(1 000 × 0,87 × 0,13) = 10,6 (déroulé de l'accuracy au SE).
Preuve le produit, les placements, et la somme qui vaut 1
P(SSÉ) = P(B1 = 1) P(B2 = 1) P(B3 = 0) = p · p · q
indépendance mutuelle des essais : l'intersection devient un produit (l03)
toute séquence à k succès : pkqn−k
k facteurs p et n − k facteurs q, seul l'ordre change
nombre de séquences à k succès : C(n, k)
choisir les k places des succès parmi n (l01)
P(X = k) = C(n, k) pkqn−k
les séquences sont des événements disjoints : on additionne (axiome 3)
Σk P(X = k) = Σk C(n, k) pkqn−k = (p + q)n
formule du binôme (l02)
= 1n = 1
p + q = 1 : c'est la vérification que Brunton donne en devoir

L'indépendance sert à la première ligne, et seulement là. Sans elle, P(SSÉ) n'est pas un produit et la formule tombe.

Simuler en Python 100 000 séries de douze lancers
import numpy as np
from math import comb

n, p = 12, 1 / 6                              # 12 die rolls, success = a six
pmf = [comb(n, k) * p**k * (1 - p)**(n - k) for k in range(n + 1)]
print(f"P(X = 3) = {pmf[3]:.4f}   sum of all P(X = k) = {sum(pmf):.6f}")

rng = np.random.default_rng(0)
rolls = rng.integers(1, 7, size=(100_000, n)) # 100,000 experiments of 12 rolls
x = (rolls == 6).sum(axis=1)                  # X = B1 + ... + B12
print(f"share of experiments with exactly three sixes: {np.mean(x == 3):.4f}")
print(f"mean {x.mean():.3f} (np = {n * p:.3f})")
print(f"variance {x.var():.3f} (np(1 - p) = {n * p * (1 - p):.3f})")
P(X = 3) = 0.1974   sum of all P(X = k) = 1.000000
share of experiments with exactly three sixes: 0.1971
mean 2.000 (np = 2.000)
variance 1.666 (np(1 - p) = 1.667)
Où ça casse
  • Tirages sans remise. Tirer cinq cartes et compter les cœurs : après chaque carte, la probabilité d'un cœur change, les essais ne sont pas indépendants. C'est l'hypergéométrique (l02).
  • Un p qui change d'un lot à l'autre. Un lot de 100 pièces sort, une fois sur deux, d'une machine à 1 % de défauts, sinon d'une machine à 5 %. Le nombre de défauts a une moyenne de 3, mais une variance de 6,87, contre 2,91 pour une Binomiale(100 ; 0,03) de même moyenne : ce n'est pas une binomiale.
  • n qui n'est pas fixé. Lancer jusqu'au premier 6 et compter les lancers : le nombre d'essais est aléatoire, c'est la loi géométrique (l05).
  • Le cas ML : des exemples dépendants. Si le même utilisateur apparaît vingt fois dans le jeu de test, les essais ne sont plus indépendants : X n'est plus binomiale et √(nπ(1 − π)) sous-estime l'incertitude (pont b04).

Binomiale(n, p) : le nombre de succès en n essais indépendants de même p. P(X = k) = C(n, k)pᵏ(1 − p)ⁿ⁻ᵏ, les placements fois la probabilité d'une séquence ; E = np, Var = np(1 − p).

La normale, limite de la binomiale quand n grandit outil

Brunton 15 · The Normal Distribution: the Limit of the Binomial Distribution for Large n

Brunton écrit la binomiale et, à côté, une courbe qu'il présente sans la justifier : la loi normale de moyenne μ = np et de variance σ² = np(1 − p). Puis il code les deux en Python, la binomiale étiquetée « exacte », la normale « approximation », et les superpose.

À n = 100 et p = ½, on ne voit presque pas de différence : l'écart maximal entre une barre et la courbe vaut 0,0002, pour un pic de 0,080. À n = 30, il vaut 0,0012 ; à n = 10, 0,006 ; à n = 5, 0,011 pour un pic de 0,31, et l'approximation ne vaut plus grand-chose. Dernier essai : n = 30 et p = 0,02. La normale met alors 21,7 % de sa masse à gauche de 0, dont 7,6 % sous −0,5, hors de toute barre, sur des nombres de succès négatifs, alors que P(X = 0) vaut 0,545. Pour un p petit à n fixé, donc un np petit, il faudra une autre loi, celle de Poisson.

Voir l'idée — les cinq tracés de Brunton

Les barres sont la binomiale exacte, la courbe la normale de même moyenne et de même variance. Passe de n = 100 à n = 5, à p = ½ : l'écart maximal grimpe de 0,0002 à 0,011, et l'escalier des barres se détache de la courbe. Puis n = 30, p = 0,02 : la courbe met 21,7 % de sa masse à gauche de 0, dont 7,6 % sous −0,5, hors de toute barre, et manque la barre P(X = 0) = 0,545 de 0,16.

La formule
densité normale : f(x) = 1/(σ√(2π)) · e−(x − μ)²/(2σ²)     X ~ N(μ, σ²)
X ~ Binomiale(n, p), n grand : P(X = k) ≈ f(k), avec μ = np et σ² = np(1 − p)
  • f est une densité (notion 2) : μ place le pic, σ règle la largeur, et σ est hors de la racine (Brunton). Le second paramètre de N(μ, σ²) est la variance.
  • « ≈ f(k) » marche parce que la barre en k a une largeur 1 : sa probabilité vaut à peu près hauteur × 1.
  • L'énoncé exact (de Moivre–Laplace) porte sur la variable centrée réduite : P((X − np)/√(np(1 − p)) ≤ z) tend vers P(Z ≤ z) pour tout z, où Z suit N(0, 1) (notion 6).
  • p fixe dans ]0, 1[ pendant que n grandit. Si p rétrécit comme λ/n, la limite est une loi de Poisson (l05).
  • np(1 − p) pas trop petit : il faut assez de succès et assez d'échecs attendus. Brunton donne n ≈ 30 pour p = ½ ; les règles usuelles demandent np et n(1 − p) au moins 5, ou au moins 10, selon les auteurs.
  • Des essais indépendants et de même loi, de variance finie p(1 − p) : c'est le premier cas du théorème central limite (l11), démontré en général en l12. La constante 1/√(2π) fait ∫ f = 1 (l07).
Figure 3 — la binomiale et sa normale, n et p libres

Mêmes objets que la vignette, avec n de 1 à 200 et p libres. Lecture en k : monte n à p = ½, la loi avance (centre np) et s'élargit (σ grandit comme √n), elle ne se fige jamais. Lecture centrée réduite : chaque barre est placée en z = (k − np)/σ et sa hauteur multipliée par σ ; la courbe ne bouge plus, c'est N(0, 1), et les barres viennent s'y coller quand n grandit. C'est cela qui converge. À p = 0,05, il faut n bien plus grand qu'à p = ½ : à n = 200, l'écart maximal vaut encore 0,009.

Exemples simples les tracés de Brunton chiffrés, un jeu de test
  1. n = 100, p = ½. μ = 50, σ = √25 = 5. P(X = 50) = 0,0796 ; f(50) = 1/(5√(2π)) = 0,0798.
  2. Les écarts maximaux entre barres et courbe, à p = ½ : 0,0012 à n = 30 (σ = 2,74) ; 0,006 à n = 10 pour un pic de 0,246 ; 0,011 à n = 5 pour un pic de 0,31.
  3. Une probabilité « raisonnable, comme 0,35 » (Brunton) : à n = 30, l'écart maximal vaut 0,004.
  4. n = 30, p = 0,02. μ = 0,6, σ = 0,77. P(X = 0) = 0,9830 = 0,545, alors que f(0) = 0,383, et 21,7 % de la masse normale tombe à gauche de 0, dont 7,6 % sous −0,5.
  5. Le cas ML. Sur 1 000 exemples de test à π = 0,87, X ≈ N(870 ; 10,6²). La variance binomiale donne l'erreur standard d'une accuracy, √(π(1 − π)/n) = 0,0106 ; l'approximation normale donne le 1,96 de l'intervalle (notion 6, fil A).
Simuler en Python le code de Brunton, chiffré
import numpy as np
from scipy.special import comb
from scipy.stats import norm

def compare(n, p):
    k = np.arange(n + 1)
    exact = comb(n, k) * p**k * (1 - p)**(n - k)          # binomial PMF ("exact")
    mu, sigma = n * p, np.sqrt(n * p * (1 - p))
    # normal density N(np, np(1 - p)) evaluated at each integer k ("approximation")
    approx = np.exp(-(k - mu)**2 / (2 * sigma**2)) / (sigma * np.sqrt(2 * np.pi))
    gap = np.abs(exact - approx).max()
    print(f"n={n:3}, p={p:4}: sigma={sigma:.2f}  peak={exact.max():.4f}  max gap={gap:.4f}")

for n in (100, 30, 10, 5):
    compare(n, 0.5)
compare(30, 0.02)
below = norm.cdf(0, 0.6, np.sqrt(30 * 0.02 * 0.98))   # N(np, np(1 - p)) below 0
print(f"n=30, p=0.02: normal mass below 0 = {below:.3f}")
n=100, p= 0.5: sigma=5.00  peak=0.0796  max gap=0.0002
n= 30, p= 0.5: sigma=2.74  peak=0.1445  max gap=0.0012
n= 10, p= 0.5: sigma=1.58  peak=0.2461  max gap=0.0062
n=  5, p= 0.5: sigma=1.12  peak=0.3125  max gap=0.0112
n= 30, p=0.02: sigma=0.77  peak=0.5455  max gap=0.1624
n=30, p=0.02: normal mass below 0 = 0.217
Où ça casse
  • np petit. La normale déborde sous 0, alors qu'un nombre de succès est positif : quand p est de l'ordre de λ/n, c'est le cas de Poisson (l05). Un p petit ne suffit pas à la faire échouer : à p = 0,02 et n = 10 000, np = 200 et l'écart maximal vaut 0,0005.
  • n petit. L'escalier des barres se voit : à n = 5, l'écart vaut 3,6 % du pic.
  • Les queues, en relatif. À n = 100 et p = ½, P(X ≥ 70) vaut 3,9 · 10−5 ; la normale, même avec la correction de la notion 7, donne 4,8 · 10−5. L'écart est minuscule en absolu, de 23 % en relatif : une très petite p-value calculée par la normale n'a que son ordre de grandeur.
  • « La binomiale converge vers la normale », mais pas vers une loi fixe : sa moyenne np et son écart-type √(np(1 − p)) grandissent avec n. Ce qui converge, c'est la variable centrée réduite (figure 3).
Brunton, rectifiéBrunton (15) écrit la normale « P(X = x) = 1/(σ√(2π)) e… », et (16) dit encore que f(x) « est la probabilité que X égale x », puis précise « la probabilité infinitésimale ». f(x) est une densité : pour une variable continue, P(X = x) = 0, et c'est f(x) dx, l'aire d'une fenêtre de largeur dx, qui est une probabilité. Ce qui approche P(X = k) pour la binomiale, c'est f(k) × 1, l'aire d'une barre de largeur 1.
Brunton, rectifiéBrunton (15) dit que la binomiale « converge vers une normale » de moyenne np et de variance npq, et que des variables « indépendantes, identiques », de « presque toute loi », donnent une somme normale « sous des conditions très faibles ». Le premier énoncé exact porte sur (X − np)/√(npq). Au second il manque une condition, la variance finie, et ce qui converge est encore la somme centrée réduite (l11).

Binomiale(n, p), n grand et np(1 − p) pas petit : (X − np)/√(np(1 − p)) tend vers N(0, 1), d'où P(X = k) ≈ f(k) pour N(np, np(1 − p)). Si np reste petit, c'est Poisson.

La normale centrée réduite, Φ, et 68 / 95 / 99,7 outil

Brunton 16 · The Standard Unit Normal and Probability Computations

Brunton commence par σ : un grand σ étale la cloche, un petit σ la resserre autour de μ. Le cas de référence est la normale centrée réduite Z, de moyenne 0 et d'écart-type 1. Sa fonction de répartition porte un nom : Φ(z) = P(Z ≤ z).

Il calcule ensuite 68 % de tête. Φ(1) ≈ 0,841 : c'est l'aire à gauche de 1, donc il reste environ 16 % à droite de 1. Par symétrie, il y a aussi 16 % à gauche de −1. Entre −1 et 1 : 1 − 0,16 − 0,16 = 0,68. Son devoir, à ±2 écarts-types : 95,4 %.

Autrefois, dit-il, on cherchait ces valeurs dans des « tablettes d'argile », écrites pour Z seulement. Pour une autre normale, on la ramenait d'abord à Z par z = (x − μ)/σ. Aujourd'hui, c'est une ligne de scipy.stats.

Voir l'idée — 68 % en quatre temps

La densité de Z. Suis le calcul de Brunton : 1. Φ(k), l'aire à gauche de k ; 2. la queue droite, 1 − Φ(k) ; 3. la même queue à gauche de −k, par symétrie ; 4. la bande, ce qui reste. À k = 1 : Φ(1) = 0,8413, deux queues de 0,1587, une bande de 68,3 %. Monte k à 2, puis 3 : 95,4 %, puis 99,7 %. À k = 1,96, la bande vaut 95 %.

La formule
φ(z) = e−z²/2/√(2π)     Φ(z) = P(Z ≤ z) = ∫−∞z φ(t) dt     Φ(−z) = 1 − Φ(z)
X ~ N(μ, σ²) : P(a ≤ X ≤ b) = Φ((b − μ)/σ) − Φ((a − μ)/σ)     P(|X − μ| ≤ kσ) = 2Φ(k) − 1
  • φ est la densité, Φ la fonction de répartition : Φ(0) = ½, mais φ(0) ≈ 0,399.
  • Φ n'a pas de formule close : e−z²/2 n'a pas de primitive élémentaire. On la lit dans une table, ou avec scipy.stats.norm.cdf.
  • z = (x − μ)/σ compte en écarts-types la distance de x à μ. Que (X − μ)/σ suive N(0, 1) quand X suit N(μ, σ²) est admis ici, et démontré en l06 ; il faut σ > 0.
  • Les trois bandes : 68,3 % à ±1σ, 95,4 % à ±2σ, 99,7 % à ±3σ ; et 95 % exactement à ±1,96σ.
Figure 4 — la bande autour de la moyenne ne dépend que de k

En haut, la densité de N(200 ; σ²), les 400 pièces de Brunton quand σ = 10, avec la bande μ ± kσ en violet. En bas, sa fonction de répartition Φ((x − 200)/σ) : l'aire de la bande s'y lit comme l'écart vertical entre les deux points. Pose k sur 1, 2, 3 : 68,3, 95,4, 99,7 %. Puis change σ : la cloche s'étale ou se resserre, la bande la suit, et son aire ne bouge pas. C'est pourquoi une seule table, celle de Z, suffit.

Exemples simples Φ(1), le devoir, 400 pièces, une taille, un intervalle
  1. Φ(1) = 0,8413, donc Φ(−1) = 1 − 0,8413 = 0,1587, et P(−1 ≤ Z ≤ 1) = 0,8413 − 0,1587 ≈ 0,683.
  2. Le devoir de Brunton. P(|Z| ≤ 2) = 2 × 0,9772 − 1 ≈ 0,954 ; à ±3 : 2 × 0,9987 − 1 ≈ 0,997.
  3. 400 pièces. X ≈ N(200 ; 10²) : Brunton dit « plus ou moins 10 piles, environ 68 % du temps ». C'est l'aire de la normale entre 190 et 210. Pour le nombre entier de piles, P(190 ≤ X ≤ 210) vaut 0,706 : la notion 7 explique l'écart.
  4. « Suis-je normal ? » (Brunton). Avec le modèle de taille N(1,75 ; 0,07²), dépasser 1,89 m, c'est être à z = (1,89 − 1,75)/0,07 = 2 écarts-types au-dessus de la moyenne : P = 1 − Φ(2) = 0,023, une personne sur 44.
  5. Le cas ML : un intervalle à 95 % pour une accuracy. 872 bonnes réponses sur 1 000 : p̂ vaut 0,872 sur ce jeu de test, son erreur standard estimée √(0,872 × 0,128/1 000) = 0,0106, et 0,872 ± 1,96 × 0,0106 = [0,851 ; 0,893] (IC et test).
Preuve pourquoi une seule table suffit · culture
φ(−z) = φ(z)
φ ne dépend de z que par z²
Φ(−z) = P(Z ≤ −z) = P(Z ≥ z)
symétrie : les deux queues ont la même aire
= 1 − Φ(z)
complément (l02) ; P(Z = z) = 0, donc ≥ et > se valent
P(−k ≤ Z ≤ k) = Φ(k) − Φ(−k) = 2Φ(k) − 1
F(b) − F(a) (notion 2), puis la ligne précédente
P(|X − μ| ≤ kσ) = P(|(X − μ)/σ| ≤ k)
diviser par σ > 0 ne change pas l'événement
= P(|Z| ≤ k) = 2Φ(k) − 1
(X − μ)/σ suit N(0, 1) (l06)

La bande ne dépend ni de μ ni de σ : c'est ce que la figure 4 montre quand on bouge σ.

Simuler en Python Φ, les bandes, un million de tirages
import numpy as np
from scipy.stats import norm

for k in (1, 2, 3):
    print(f"Phi({k}) = {norm.cdf(k):.4f}   P(|Z| <= {k}) = {2 * norm.cdf(k) - 1:.4f}")
print(f"Phi(-1) = {norm.cdf(-1):.4f} = 1 - Phi(1)")
print(f"95% exactly within +-{norm.ppf(0.975):.3f}")

rng = np.random.default_rng(0)
x = rng.normal(200, 10, size=1_000_000)       # N(200, 10^2): numpy and scipy take sigma
for k in (1, 2, 3):
    share = np.mean(np.abs(x - 200) <= 10 * k)
    print(f"share within {k} sigma of 200: {share:.4f}")
Phi(1) = 0.8413   P(|Z| <= 1) = 0.6827
Phi(2) = 0.9772   P(|Z| <= 2) = 0.9545
Phi(3) = 0.9987   P(|Z| <= 3) = 0.9973
Phi(-1) = 0.1587 = 1 - Phi(1)
95% exactly within +-1.960
share within 1 sigma of 200: 0.6823
share within 2 sigma of 200: 0.9544
share within 3 sigma of 200: 0.9973
Où ça casse
  • 68 / 95 / 99,7 est une propriété de la normale, pas de σ en général. Pour la variable de l08 qui vaut 0 ou 10 (probabilités 0,9 et 0,1), 90 % de la masse est à moins d'un écart-type (l08).
  • Les queues lourdes. Sous une normale, sortir de ±3σ arrive une fois sur 370. Des latences, des rendements financiers ou des tailles de fichiers le font bien plus souvent : la normale sous-estime leurs extrêmes.
  • Φ n'est pas φ. Φ(0) = 0,5 est une probabilité ; φ(0) = 0,399 est une hauteur de densité.
  • N(μ, σ²) contre scipy. Le second paramètre de N est la variance, mais norm(loc=200, scale=10) prend l'écart-type : écrire scale=100 pour « variance 100 » rend la cloche dix fois trop large.
Brunton, rectifiéBrunton (16) dit que la normale est « paramétrée par la moyenne μ et l'écart-type σ² ». σ est l'écart-type, σ² la variance : N(200 ; 10²) a un écart-type de 10 et une variance de 100.

Toute normale : P(|X − μ| ≤ kσ) = 2Φ(k) − 1, avec Φ la répartition de N(0, 1) ; 68,3, 95,4 et 99,7 % à k = 1, 2, 3 ; 95 % à 1,96.

L'approximation normale et la correction de continuité outil

Brunton 16

Brunton lance 400 pièces : X ~ Binomiale(400, ½), μ = 200, σ² = 400 × ½ × ½ = 100, σ = 10. Il veut P(190 ≤ X ≤ 230). Exactement, c'est la somme P(X = 190) + P(X = 191) + … + P(X = 230), 41 termes, « un monstre » à la main : 0,852.

Avec la normale, c'est une aire : de 190 à 230, Φ(3) − Φ(−1) = 0,840. Il manque 0,012. Chaque entier k est une barre de largeur 1, qui s'étend de k − ½ à k + ½. L'aire de 190 à 230 coupe en deux la première barre et la dernière : la moitié de P(X = 190) et la moitié de P(X = 230) sont perdues, à peu près 0,012.

La correction de continuité élargit l'intervalle d'un demi de chaque côté : de 189,5 à 230,5, Φ(3,05) − Φ(−1,05) = 0,852, la valeur exacte.

Voir l'idée — 400 pièces, les deux demi-barres

Les barres sont P(X = k) pour 400 pièces, la courbe est N(200 ; 10²) ; le second panneau zoome sur la borne 190. 41 barres : la somme exacte de 190 à 230 vaut 0,852. Aire de 190 à 230 : 0,840, et le zoom montre la barre de 190 coupée en son milieu. Aire de 189,5 à 230,5 : l'aire reprend les deux demi-barres, 0,852.

La formule
X entière, X ≈ N(μ, σ²) : P(a ≤ X ≤ b) ≈ Φ((b + ½ − μ)/σ) − Φ((a − ½ − μ)/σ)
une seule valeur : P(X = k) ≈ Φ((k + ½ − μ)/σ) − Φ((k − ½ − μ)/σ)
  • a et b sont des entiers, inclus. Une inégalité stricte se ramène d'abord à une large : P(190 < X < 230) = P(191 ≤ X ≤ 229).
  • Pour la binomiale, μ = np et σ = √(np(1 − p)), sous les conditions de la notion 5.
  • Le ½ vient de la largeur 1 des barres. Il compte d'autant plus que σ est petit, puisque chaque barre pèse alors davantage.
  • Ce que calcule Brunton, Φ((b − μ)/σ) − Φ((a − μ)/σ), est l'approximation sans correction.
Exemples simples 400 pièces, une barre seule, dix pièces, un jeu de test
  1. 400 pièces. Exact : 0,8520. Sans correction : Φ(3) − Φ(−1) = 0,8400. Avec : Φ(3,05) − Φ(−1,05) = 0,8520.
  2. Les deux demi-barres. P(X = 190) = 0,0242 et P(X = 230) = 0,0004 ; leurs moitiés font 0,0123, à peu près l'écart 0,012 entre 0,852 et 0,840.
  3. Une seule valeur. P(X = 200) = 0,0399 exact ; Φ(0,05) − Φ(−0,05) = 0,0399. Sans correction, l'aire de 200 à 200 vaut 0 : il faut une barre pour avoir une probabilité.
  4. Dix pièces, μ = 5, σ = √2,5 ≈ 1,58. P(X ≤ 3) = 176/1 024 = 0,172 exact ; sans correction, Φ((3 − 5)/1,58) = 0,103 ; avec, Φ((3,5 − 5)/1,58) = 0,171. Quand σ est petit, une demi-barre pèse lourd.
  5. Inégalités strictes. P(190 < X < 230) = P(191 ≤ X ≤ 229) = 0,827 exact ; avec correction, de 190,5 à 229,5 : Φ(2,95) − Φ(−0,95) = 0,827.
  6. Le cas ML. Un modèle d'accuracy vraie π = 0,87, testé sur 1 000 exemples : quelle chance d'avoir 850 bonnes réponses ou moins ? Exact : 0,0353. Avec correction : Φ((850,5 − 870)/10,63) = Φ(−1,834) = 0,0334 ; sans : 0,0300. La correction rapproche ; l'asymétrie de la binomiale à p = 0,87 laisse un écart.
Simuler en Python les 41 termes contre les deux aires
from scipy.stats import binom, norm

n, p = 400, 0.5
mu, sigma = n * p, (n * p * (1 - p)) ** 0.5   # 200 and 10
terms = range(190, 231)
exact = sum(binom.pmf(k, n, p) for k in terms)   # Brunton's "monster" sum
print(f"{len(terms)} terms, exact = {exact:.4f}")
naive = norm.cdf(230, mu, sigma) - norm.cdf(190, mu, sigma)
cc = norm.cdf(230.5, mu, sigma) - norm.cdf(189.5, mu, sigma)
print(f"normal from 190 to 230 = {naive:.4f}   from 189.5 to 230.5 = {cc:.4f}")
print(f"half of the two end bars = {(binom.pmf(190, n, p) + binom.pmf(230, n, p)) / 2:.4f}")

s = 2.5 ** 0.5                                # 10 coins: sigma = sqrt(2.5)
print(f"10 coins, P(X <= 3): exact {binom.cdf(3, 10, 0.5):.4f}, "
      f"no correction {norm.cdf(3, 5, s):.4f}, corrected {norm.cdf(3.5, 5, s):.4f}")
41 terms, exact = 0.8520
normal from 190 to 230 = 0.8400   from 189.5 to 230.5 = 0.8520
half of the two end bars = 0.0123
10 coins, P(X <= 3): exact 0.1719, no correction 0.1030, corrected 0.1714
Où ça casse
  • ≤ contre <. La correction se pose sur des inégalités larges entre entiers ; se tromper retire ou ajoute une barre entière à chaque bout (0,852 contre 0,827 ci-dessus).
  • Pour une variable continue, elle n'a pas de sens. P(X = x) y vaut 0 : il n'y a pas de barre à reprendre.
  • Quand σ est grand, elle ne compte presque plus. Pour 40 000 pièces, σ = 100 et une barre pèse au plus 0,004.
  • p loin de ½. La binomiale est asymétrique, la normale ne l'est pas : la correction ne rattrape pas l'asymétrie (le cas ML ci-dessus).
  • Aujourd'hui, la somme exacte est une ligne (binom.cdf). L'approximation sert à raisonner, à calculer de tête et à comprendre d'où viennent les intervalles ; avec un ordinateur, on calcule exactement.
Brunton, rectifiéBrunton (16) annonce « 51 » probabilités à additionner entre 190 et 230 : il y en a 230 − 190 + 1 = 41. Il trouve ensuite « environ 85 % » avec l'aire normale entre 190 et 230. Cette aire vaut Φ(3) − Φ(−1) = 0,840 ; 0,852 est la valeur exacte, que la normale ne rend qu'avec la correction de continuité, qu'il ne nomme pas.
Brunton, rectifiéBrunton (16) parle de calculer « Φ(230) et Φ(190) ». Φ est la fonction de répartition de Z ; pour N(200 ; 10²), il faut F(230) − F(190), soit Φ((230 − 200)/10) − Φ((190 − 200)/10) = Φ(3) − Φ(−1).

Variable entière approchée par N(μ, σ²) : chaque entier est une barre de largeur 1, d'où P(a ≤ X ≤ b) ≈ Φ((b + ½ − μ)/σ) − Φ((a − ½ − μ)/σ).

Résumé

À retenir
  1. Une variable aléatoire est une fonction de l'issue du tirage. Fixe : p, μ ; aléatoire : X, X̄, p̂ ; réalisé : x, x̄.
  2. Discret : P(X = x) est une probabilité (PMF). Continu : P(X = x) = 0, et la densité f est une probabilité par unité ; P(a < X ≤ b) = F(b) − F(a).
  3. Une densité évaluée est une vraisemblance, qui peut dépasser 1 ; intégrée, c'est une probabilité.
  4. Bernoulli(p) : P(X = x ; p) = pˣ(1 − p)¹⁻ˣ, de moyenne p.
  5. Binomiale(n, p), somme de n Bernoulli indépendantes : C(n, k)pᵏ(1 − p)ⁿ⁻ᵏ, E = np, Var = np(1 − p).
  6. n grand et np(1 − p) pas trop petit : Binomiale(n, p) ≈ N(np, np(1 − p)) ; np petit : Poisson.
  7. Φ(z) = P(Z ≤ z) ; à ±1, 2, 3σ : 68,3, 95,4, 99,7 % ; 95 % à ±1,96σ.
  8. Variable entière : un demi de plus à chaque borne ; 400 pièces entre 190 et 230 : 0,852.
« Une variable aléatoire est une fonction de l'issue du tirage : le paramètre est fixe, la variable changerait à chaque tirage, la réalisation est sa valeur sur ce tirage. En discret, la loi donne des probabilités ponctuelles ; en continu, une densité, que j'évalue pour une vraisemblance et que j'intègre pour une probabilité. Une binomiale est une somme de Bernoulli indépendantes ; pour n grand, je l'approche par N(np, np(1 − p)), avec un demi de correction à chaque borne. »

Chaîne verbalisée — une prise, à voix haute

6 maillons · clique pour révéler après avoir dit
  1. Quatre pièces, X = le nombre de piles : qu'est-ce qui est fixe, aléatoire, réalisé ?
    Fixe : p = ½, la pièce. Aléatoire : X, et l'estimateur p̂ = X/4, qui changeraient à chaque tirage. Réalisé : x = 3 sur ce tirage, en minuscule.
  2. Pourquoi P(X = 1,75 m) = 0 pour une taille, et que veut dire f(1,75) = 5,7 ?
    Un point n'a pas de largeur. f est une probabilité par mètre : une hauteur, la vraisemblance de l'observation 1,75 ; seule une aire est une probabilité.
  3. D'où vient P(X = k) = C(n, k)pᵏ(1 − p)ⁿ⁻ᵏ ?
    Une séquence à k succès vaut pᵏ(1 − p)ⁿ⁻ᵏ par indépendance ; il y en a C(n, k) ; ce sont des événements disjoints, on additionne.
  4. Quand une binomiale ressemble-t-elle à une normale, et à laquelle ?
    n grand et np(1 − p) pas trop petit : N(np, np(1 − p)). Ce qui converge est (X − np)/√(np(1 − p)). np petit : Poisson.
  5. Pourquoi 68 % dans ±1σ ?
    Φ(1) ≈ 0,841 ; il reste 0,159 à droite de 1, autant à gauche de −1 par symétrie ; 1 − 2 × 0,159 ≈ 0,68.
  6. 400 pièces : P(190 ≤ X ≤ 230) ?
    μ = 200, σ = 10. Exact, 41 termes : 0,852. Normale avec la correction, de 189,5 à 230,5 : Φ(3,05) − Φ(−1,05) = 0,852 ; sans, Φ(3) − Φ(−1) = 0,840.