- Variable aléatoire et loi. X attache un nombre à chaque issue du tirage. Sa loi donne P(X = x) pour une variable discrète, une densité f pour une variable continue (l04).
- Loi jointe, marginale, indépendance. P(X = x, Y = y) décrit le couple. Sommer sur y redonne P(X = x). X et Y sont indépendantes quand la jointe est le produit des deux lois (l07).
- Loi exponentielle. L'attente T d'un flux de taux λ a la densité λ e−λt pour t ≥ 0 (l05).
La leçon
L'espérance est le centre de masse outil
Brunton 28 · The Expected Value (Mean) of a Probability Distribution
Brunton part d'une question pratique : si je tire beaucoup de valeurs de cette loi et que je fais leur moyenne, quel nombre est-ce que j'attends ? Ce nombre est l'espérance.
L'image physique la rend immédiate. Pose sur une règle une masse P(X = x) à chaque position x ; la masse totale vaut 1. L'espérance est le point où la règle tient en équilibre sur un doigt. Une valeur lointaine pèse davantage parce qu'elle a un plus grand bras de levier : c'est pour ça qu'on multiplie chaque valeur par sa probabilité avant d'additionner.
La règle tient en c quand les bras de levier de gauche et de droite se compensent : Σ (x − c) P(X = x) = 0. Développe : Σ x P(X = x) − c = 0, puisque les probabilités somment à 1. Donc c = Σ x P(X = x), et c'est la définition.
Trois masses : 0,5 en 1, 0,3 en 2, 0,2 en 6. Déplace le doigt c : la règle penche du côté où la somme masse × bras de levier l'emporte. Elle tient en c = 2,3, à droite des deux masses lourdes, parce que la petite masse en 6 a un bras de levier de 3,7 : 0,2 × 3,7 = 0,5 × 1,3 + 0,3 × 0,3 = 0,74. Puis tire 1 000 valeurs : le doigt suit leur moyenne, et la règle se rapproche de l'horizontale.
- La somme ou l'intégrale doit converger absolument : Σ |x| P(X = x) < ∞. Sinon l'espérance n'existe pas.
- On la note aussi μ, ou μX quand il y a plusieurs variables.
Monte le poids du 6 : la masse glisse vers la droite et le point d'appui rouge suit. À 1/6 le dé est équilibré et le point d'appui est en 3,5, entre deux faces. Le triangle est le doigt qui tient la règle.
Exemples simples pièce, dé, cent pièces, uniforme
- Une pièce. X = 1 si pile, 0 sinon, P(X = 1) = p. E[X] = 0 × (1 − p) + 1 × p = p.
- Un dé équilibré. E[X] = (1 + 2 + 3 + 4 + 5 + 6)/6 = 21/6 = 3,5. Le centre de masse n'est pas une face : on ne tirera jamais 3,5.
- Cent pièces (l'exemple de Brunton). X = nombre de piles. Avec les probabilités du triangle de Pascal, Σ k · C(100, k)/2100 = 50. La notion 3 l'obtient en une ligne.
- Continu, uniforme sur [0, 1]. La densité vaut 1 sur l'intervalle : E[X] = ∫01 x dx = ½.
Pourquoi la moyenne des tirages tend vers E[X] l'argument, la preuve est en l10
Tire N valeurs. La valeur x sort à peu près N · P(X = x) fois, si N est grand. La moyenne des tirages vaut alors :
Le « à peu près » est exactement ce que la loi des grands nombres rend précis (l10).
Simuler en Python la moyenne de 100 000 lancers
import numpy as np
rng = np.random.default_rng(0)
rolls = rng.integers(1, 7, size=100_000) # 100,000 fair die rolls
print(f"mean of rolls: {rolls.mean():.3f}") # close to E[X] = 3.5
heads = rng.integers(0, 2, size=(10_000, 100)).sum(axis=1) # 10,000 runs of 100 coins
print(f"mean number of heads: {heads.mean():.2f}") # close to 50
mean of rolls: 3.498 mean number of heads: 50.02
Où ça casse
- E[X] n'est pas forcément une valeur possible. 3,5 pour un dé, 0,3 pour une pièce de biais 0,3.
- Elle peut ne pas exister. Pour une loi de Cauchy, les queues sont si lourdes que ∫ |x| f(x) dx diverge. La symétrie ferait croire à une moyenne nulle, puisque ∫ de −a à a de x f(x) dx vaut 0 ; mais une moyenne d'échantillon ne s'y stabilise jamais (l10).
- E[X] est un nombre fixe, pas une variable aléatoire. C'est une propriété de la loi. La moyenne de dix lancers, elle, change à chaque série : c'est une réalisation x̄ de la variable X̄ (l10). Écrire « μ = 3,2 » pour « x̄ = 3,2 sur ce tirage » mélange les deux.
E[X] = Σ x · P(X = x) : le point d'équilibre de la loi. C'est un nombre, pas une variable aléatoire.
Moyenne, médiane, mode : trois centres outil
Brunton 28
Le centre de masse n'est pas le seul centre. La médiane coupe la masse en deux moitiés ; le mode est l'endroit où la masse est la plus haute. Pour une gaussienne les trois coïncident, et c'est ce qui donne la fausse intuition que « la moyenne, c'est la valeur typique ».
Brunton prend deux contre-exemples. Une loi à deux bosses symétriques a son centre de masse au milieu, là où il n'y a presque rien. Le patrimoine des ménages américains, lui, a quelques fortunes immenses très loin à droite : elles tirent le point d'équilibre bien au-delà du ménage typique, alors que la médiane ne bouge presque pas.
Chaque point est un individu, le triangle rouge est le point d'équilibre de la notion 1. Une bosse : les trois centres coïncident. Deux bosses : la moyenne tombe dans le trou, où il n'y a personne, et le mode est double. Patrimoine : ajoute des grosses fortunes. Avec quatre, la moyenne passe de 1,13 à 3 fois le ménage médian de départ ; la médiane, le ménage du milieu en bleu, passe seulement de 1 à 1,11.
- F est la fonction de répartition, F(x) = P(X ≤ x).
- Cas général, discret compris : m est médiane si P(X ≤ m) ≥ ½ et P(X ≥ m) ≥ ½.
Une log-normale, l'axe des x en multiples de la médiane. Augmente σ, l'écart-type de ln X, qui règle l'asymétrie : la médiane reste en 1, le mode recule et finit collé à 0, la moyenne part à droite. Vers σ = 1,79, la moyenne vaut 5 fois la médiane, le rapport du patrimoine américain que cite Brunton.
Exemples simples dé, deux bosses, attente, patrimoine
- Un dé. Moyenne 3,5. Médiane : tout m de [3, 4] coupe la masse en deux, on prend 3,5 par convention. Pas de mode unique : les six faces ont la même probabilité.
- Deux bosses en −1 et +1, de même poids. La moyenne vaut 0, une valeur qu'on n'observe presque jamais.
- Une attente exponentielle de taux λ : moyenne 1/λ, médiane ln 2/λ ≈ 0,69/λ (preuve en notion 8). Pour des spams à 4 par heure : 15 min de moyenne, 10,4 min de médiane.
- Le patrimoine, avec les chiffres cités par Brunton : médiane ≈ 200 k$, moyenne ≈ 1 M$. Une log-normale de médiane 200 k$ a ce rapport 5 quand σ ≈ 1,79 ; son mode est alors vers 8 k$. Attention, ce σ est l'écart-type de ln X, pas celui du patrimoine.
Ce que chaque centre minimise moyenne et erreur quadratique, médiane et erreur absolue
Cherchons le nombre c qui résume le mieux X. Si l'erreur est mesurée au carré, c'est la moyenne :
Le premier terme ne dépend pas de c, le second est nul seulement en c = μ. Si l'erreur est mesurée en valeur absolue, E[|X − c|] a pour dérivée en c la quantité P(X < c) − P(X > c), nulle quand c coupe la masse en deux : c'est la médiane. Et pour une variable discrète, si l'on compte seulement « juste ou faux », P(X ≠ c) est minimale là où P(X = c) est maximale : c'est le mode.
C'est la raison pour laquelle une régression en erreur quadratique estime une moyenne conditionnelle, et une régression en erreur absolue une médiane conditionnelle.
Simuler en Python un milliardaire dans 100 000 ménages
import numpy as np
rng = np.random.default_rng(0)
# 100,000 household wealths, right-skewed, median $200k
wealth = rng.lognormal(mean=np.log(200_000), sigma=1.79, size=100_000)
print(f"median {np.median(wealth):>12,.0f} mean {wealth.mean():>14,.0f}")
wealth = np.append(wealth, 100e9) # one $100B fortune joins the sample
print(f"median {np.median(wealth):>12,.0f} mean {wealth.mean():>14,.0f}")
median 198,521 mean 1,002,283 median 198,524 mean 2,002,263
Où ça casse
- La médiane peut ne pas être unique. Pour une loi à trou, toute valeur du trou coupe la masse en deux. Pour un dé, tout m entre 3 et 4 convient.
- « La moyenne est représentative » est faux en queue lourde. Une seule fortune de 100 milliards double la moyenne de 100 000 ménages et laisse la médiane intacte (code ci-dessus).
- Le mode est le centre le plus fragile. Sur un histogramme, il dépend de la largeur des classes.
- « mode < médiane < moyenne » n'est pas un théorème. L'ordre vaut pour la log-normale, l'exponentielle ou la gamma, mais une loi légèrement asymétrique à droite peut avoir l'ordre inverse (une Weibull de forme 3,5, par exemple).
Pour les lois asymétriques à droite usuelles (log-normale, exponentielle, gamma) : mode < médiane < moyenne, une règle et non un théorème. La moyenne minimise l'erreur quadratique, la médiane l'erreur absolue, et seule la médiane résiste aux extrêmes.
L'espérance est linéaire, sans aucune hypothèse outil
Brunton 29 · Properties of the Expected Value
C'est la propriété la plus utile de l'espérance, et elle ne demande rien. Pour additionner des espérances, on n'a pas besoin de savoir comment les variables dépendent l'une de l'autre.
L'image : chaque tirage du couple donne une somme x + y. Sur beaucoup de tirages, la moyenne des sommes est la somme des moyennes, quelle que soit la façon dont x et y bougent ensemble. Que Y suive X de près ou pas du tout change la forme de la loi de X + Y, jamais son espérance, son centre de masse.
La loi de X + Y pour deux dés, selon la façon dont Y dépend de X. La forme change du tout au tout, le point d'équilibre reste en 7 = 3,5 + 3,5. Lance 300 couples : la moyenne des sommes (point bleu) rejoint 7 dans les trois cas.
- Aucune hypothèse : X et Y peuvent être dépendantes, et de lois différentes.
- Pour n termes : E[X1 + … + Xn] = E[X1] + … + E[Xn].
Exemples simples deux dés, dépendance totale, cent pièces, anniversaires
- Deux dés. E[X + Y] = 3,5 + 3,5 = 7.
- Dépendance totale : Y = X. E[X + Y] = E[2X] = 7 aussi. La dépendance change la loi de la somme, pas son espérance.
- Cent pièces, sans Pascal. X = B1 + … + B100, où Bi vaut 1 si la pièce i tombe sur pile. E[X] = 100 × ½ = 50 : le résultat de la notion 1, en une ligne.
- Anniversaires. Parmi 23 personnes il y a C(23, 2) = 253 paires, et chacune partage un anniversaire avec probabilité 1/365. Le nombre moyen de paires qui partagent vaut 253/365 = 0,69. Les paires ne sont pas mutuellement indépendantes (si 1–2 et 2–3 partagent, 1–3 partage forcément), et la linéarité s'en moque.
Preuve discrète, sur la loi jointe : on somme, on ne factorise jamais
Notation : P(x, y) abrège P(X = x, Y = y).
L'indépendance n'apparaît à aucune ligne : on a sommé une variable, jamais factorisé la jointe. Pour les constantes : E[aX + c] = Σ (ax + c) P(x) = a Σ x P(x) + c Σ P(x) = a E[X] + c, puisque les probabilités somment à 1.
Simuler en Python deux variables très dépendantes
import numpy as np
rng = np.random.default_rng(0)
n = 100_000
x = rng.integers(1, 7, size=n)
# y copies x 90% of the time: x and y are strongly dependent
y = np.where(rng.random(n) < 0.9, x, rng.integers(1, 7, size=n))
print(f"E[X + Y] ≈ {(x + y).mean():.3f}")
print(f"E[X] + E[Y] ≈ {x.mean() + y.mean():.3f}") # same: no independence needed
E[X + Y] ≈ 6.997 E[X] + E[Y] ≈ 6.997
Où ça casse
- Pas à travers une fonction non linéaire. E[X²] ≠ E[X]² (dé : 15,17 contre 12,25), E[1/X] ≠ 1/E[X].
- Pas à travers un produit sans hypothèse (notion 4).
- C'est une propriété de l'espérance, pas de la variance. Var(X + Y) n'est pas toujours Var X + Var Y (l09), et Var(2X) = 4 Var X (notion 9).
L'espérance d'une somme est la somme des espérances, sans aucune hypothèse.
L'espérance d'un produit, seulement sous indépendance outil
Brunton 29
Pour un produit, c'est l'inverse : il faut une hypothèse. Si X et Y sont indépendantes, connaître X ne dit rien de Y, et la moyenne du produit se coupe en produit des moyennes.
Si elles bougent ensemble, les grandes valeurs de X tombent avec les grandes valeurs de Y, et la moyenne du produit dépasse le produit des moyennes. Cet écart E[XY] − E[X]E[Y] a un nom : la covariance (l09).
Chaque case contient le produit x · y ; plus elle est foncée, plus le couple (x, y) est probable. E[XY] est la moyenne des produits pondérée par ces probabilités. Indépendants : les 36 cases pèsent 1/36 et E[XY] = 3,5 × 3,5. Y = X : seule la diagonale compte, les grands x tombent avec les grands y, et E[XY] monte à 15,17. Y = 7 − X : les grands x tombent avec les petits y, et E[XY] descend à 9,33.
- Indépendance : P(X = x, Y = y) = P(X = x) P(Y = y) pour tous x et y.
- Le sens ⟸ est faux : l'égalité ne prouve pas l'indépendance.
Exemples simples deux dés, un dé compté deux fois, Y = X²
- Deux dés indépendants. E[XY] = 3,5 × 3,5 = 12,25.
- Le même dé compté deux fois (Y = X). E[XY] = E[X²] = 91/6 = 15,17. L'écart 15,17 − 12,25 = 2,92 est la variance du dé (notion 6).
- Dépendance totale, égalité quand même. X uniforme sur {−1, 0, 1} et Y = X². E[XY] = E[X³] = (−1 + 0 + 1)/3 = 0, et E[X] E[Y] = 0 × ⅔ = 0. Pourtant Y est entièrement déterminée par X.
Preuve la preuve de Brunton : c'est ici, et seulement ici, que l'indépendance sert
Compare avec la notion 3. Là, on sommait sur y pour retrouver une loi marginale, ce qui marche toujours. Ici, on factorise la jointe, ce qui demande l'indépendance. Remplacer x y par g(x) h(y) donne la version générale.
Simuler en Python les trois cas
import numpy as np
rng = np.random.default_rng(0)
n = 200_000
x = rng.integers(1, 7, size=n)
y = rng.integers(1, 7, size=n) # independent of x
print(f"independent dice: E[XY] ≈ {(x * y).mean():.2f}, E[X]E[Y] ≈ {x.mean() * y.mean():.2f}")
print(f"same die (Y = X): E[XY] ≈ {(x * x).mean():.2f}, E[X]E[Y] ≈ {x.mean() ** 2:.2f}")
u = rng.choice([-1, 0, 1], size=n)
v = u ** 2 # v is a function of u: fully dependent
print(f"Y = X² on (-1, 0, 1): E[XY] ≈ {(u * v).mean():.3f}, E[X]E[Y] ≈ {u.mean() * v.mean():.3f}")
independent dice: E[XY] ≈ 12.24, E[X]E[Y] ≈ 12.25 same die (Y = X): E[XY] ≈ 15.17, E[X]E[Y] ≈ 12.25 Y = X² on (-1, 0, 1): E[XY] ≈ 0.001, E[X]E[Y] ≈ 0.001
Où ça casse
- La réciproque est fausse (exemple 3). E[XY] = E[X]E[Y] équivaut à une covariance nulle, pas à l'indépendance.
- Ne pas déplacer l'hypothèse. C'est l'espérance d'un produit qui demande l'indépendance, pas l'espérance d'une somme.
E[XY] = E[X] · E[Y] sous indépendance. La réciproque est fausse.
L'espérance d'une fonction de X outil
Brunton 29
Pour calculer E[g(X)], il paraît naturel de chercher d'abord la loi de Y = g(X), puis d'appliquer la définition. C'est inutile. On garde les probabilités de X et on remplace chaque valeur x par g(x) ; Brunton : « on reprend la formule et on remplace x par g de x ».
Le nom anglais, law of the unconscious statistician (LOTUS), vient de là : tout le monde le fait sans y penser, et c'est juste. Brunton prévient que ce n'est « pas évident » : c'est un théorème, pas la définition.
En haut, les six faces d'un dé, chacune de masse ⅙. Choisis g : chaque masse voyage de x jusqu'à g(x) sans changer de poids, et E[g(X)] est le point d'équilibre en bas (triangle rouge). Avec (x − 3,5)², deux faces arrivent au même point et leurs masses s'additionnent : c'est la preuve de LOTUS. Le rond bleu marque g(E[X]) ; il ne tombe sur E[g(X)] que pour g affine.
- Même condition de convergence que pour E[X].
- Vaut aussi pour un couple : E[g(X, Y)] = Σx Σy g(x, y) P(x, y). C'est ce qu'utilisent les preuves des notions 3 et 4.
Exemples simples le carré, un gain, l'écart à la moyenne
- E[X²] pour un dé. (1 + 4 + 9 + 16 + 25 + 36)/6 = 91/6 = 15,17. C'est le « second moment » de Brunton.
- Un gain g(x) = 2x + 1. E[g(X)] = Σ (2x + 1)/6 = 48/6 = 8.
- L'écart au carré à la moyenne, g(x) = (x − 3,5)². Les six valeurs sont 6,25 ; 2,25 ; 0,25 ; 0,25 ; 2,25 ; 6,25, de moyenne 17,5/6 = 35/12 = 2,917. C'est déjà la variance du dé.
Preuve discrète : regrouper les x qui donnent le même y
Brunton admet LOTUS dans les deux cas. La preuve discrète ci-dessus est courte ; en continu, elle demande un changement de variable (l06).
Calculer en Python LOTUS contre la loi de g(X) construite à la main
from collections import Counter
from fractions import Fraction
pmf = {x: Fraction(1, 6) for x in range(1, 7)} # fair die
g = lambda x: (x - Fraction(7, 2)) ** 2 # squared distance to the mean
# LOTUS: reweight g(x) by P(X = x), no need for the law of g(X)
lotus = sum(g(x) * p for x, p in pmf.items())
# the long way: build the law of Y = g(X) first
law_y = Counter()
for x, p in pmf.items():
law_y[g(x)] += p
direct = sum(y * p for y, p in law_y.items())
print(dict(law_y))
print(lotus, direct)
{Fraction(25, 4): Fraction(1, 3), Fraction(9, 4): Fraction(1, 3), Fraction(1, 4): Fraction(1, 3)}
35/12 35/12
Où ça casse
- E[g(X)] ≠ g(E[X]) en général. Pour un dé, E[X²] = 15,17 contre 3,5² = 12,25. Pour g convexe, E[g(X)] ≥ g(E[X]) (inégalité de Jensen) ; pour le carré, l'écart est exactement la variance (notion 6).
- LOTUS donne l'espérance, pas la loi. Brancher la densité de X dans g ne donne pas la densité de g(X) ; pour la loi, il faut la méthode de Brunton 23 (l06).
E[g(X)] = Σ g(x) · P(X = x) : on repondère les g(x) par les probabilités de X, sans chercher la loi de g(X).
La variance est l'inertie autour du centre outil
Brunton 30 · Variance and Standard Deviation
Deux lois peuvent avoir le même centre et s'étaler très différemment. Brunton définit la variance comme la moyenne des carrés des écarts à μ : on prend l'écart de chaque valeur à la moyenne, on le met au carré, et on fait la moyenne pondérée par les probabilités.
Sur deux masses de ½ placées en 1 et 3 : μ = 2, écarts −1 et +1, carrés 1 et 1, variance 1. Écarte-les en 0 et 4 : écarts ±2, carrés 4 et 4, variance 4.
L'image est celle du moment d'inertie. Tiens un bâton par son centre et fais-le tourner. Des poids près de ta main se lancent facilement ; les mêmes poids aux deux bouts résistent beaucoup plus. À chaque tour, un poids à la distance r parcourt un cercle de rayon r, donc va à une vitesse proportionnelle à r, et l'énergie ½mv² croît comme r². En probabilités, les masses sont les probabilités, l'axe est la moyenne, et la variance est cette inertie : une valeur deux fois plus loin compte quatre fois plus.
Deux masses de ½ en μ − d et μ + d, avec μ = 2. À gauche, chaque écart à μ est le côté d'un carré : la variance est l'aire moyenne de ces carrés. À droite, les mêmes masses sur un bâton tenu par son centre : leur vitesse (flèches) est proportionnelle à d, leur énergie à d². Passe de d = 1, la loi {1, 3}, à d = 2, la loi {0, 4} : les côtés doublent, les aires et l'inertie quadruplent.
- μ = E[X]. La forme de calcul s'appelle la formule de König-Huygens (preuve dépliable plus bas).
- E[X²] doit être finie.
- σ, l'écart-type, est dans l'unité de X ; la variance est dans l'unité au carré.
- Le carré est un choix : on pourrait mesurer l'étalement par E[|X − μ|]. On garde le carré parce que, sous indépendance, les variances s'additionnent : c'est de l'additivité, pas de la linéarité (l09, et notion 9).
En haut la loi P(X = x), en bas la contribution de chaque valeur à la variance, p · (x − μ)². La variance est la somme des barres du bas. Les trois premières lois partagent la même échelle : passe de {1, 3} à {0, 4}, la distance double et les barres du bas quadruplent. Puis choisis Z (l'échelle change) : la valeur 10, qui ne pèse que 10 %, fait 90 % de la variance.
Exemples simples constante, deux masses, Bernoulli, dé, Z
- Une constante X = 5 : aucun écart, Var = 0.
- Deux masses. X ∈ {1, 3} avec probabilité ½ chacune : μ = 2, écarts ±1, Var = 1. Y ∈ {0, 4} : même centre, écarts ±2, Var = 4.
- Bernoulli(p). X² = X puisque X vaut 0 ou 1, donc E[X²] = p et Var = p − p² = p(1 − p). Elle est maximale à p = ½, là où l'issue est la plus incertaine.
- Un dé. 91/6 − 3,5² = 35/12 = 2,917 ; σ = 1,708.
- Z = 0 avec probabilité 0,9, ou 10 avec probabilité 0,1. μ = 1, écarts −1 et +9, Var = 0,9 × 1 + 0,1 × 81 = 9, σ = 3.
Preuve la forme de calcul, et pourquoi Var ≥ 0
Var(X) ≥ 0, c'est le devoir que donne Brunton : la variance est l'espérance d'un carré, donc d'une quantité positive. Conséquence : E[X²] ≥ E[X]², avec égalité seulement si X est constante.
Simuler en Python la part de chaque valeur, et np.var
import numpy as np
values = np.array([0, 10])
probs = np.array([0.9, 0.1])
mu = (values * probs).sum()
contrib = probs * (values - mu) ** 2 # each value's share of the variance
var = contrib.sum()
print(f"mean {mu}, variance {var}, sd {np.sqrt(var)}")
print("share of each value:", contrib / var)
rng = np.random.default_rng(0)
z = rng.choice(values, p=probs, size=100_000)
print(f"theory {var} sample variance {np.var(z):.3f}") # sampling error, not a formula error
mean 1.0, variance 9.0, sd 3.0 share of each value: [0.1 0.9] theory 9.0 sample variance 8.924
Où ça casse
- L'unité est au carré. Une variance en cm² ne se compare pas à une longueur : on rapporte l'écart-type.
- Une valeur lointaine domine (exemple 5). Un seul point aberrant dans un jeu de test peut gonfler la variance.
- « 68 % dans ±1σ » est une propriété de la normale, pas une signification générale de σ. Pour Z, 90 % de la masse est à moins de 1σ et 10 % est à 3σ, sans rien entre.
- La variance peut être infinie (Pareto d'indice ≤ 2) : l'écart-type d'un échantillon ne se stabilise alors jamais.
- La variance n'est pas linéaire. Var(2X) = 4 Var X, pas 2 Var X (notion 9), et Var(X + Y) a un terme croisé (l09).
Var(X) = E[(X − μ)²] = E[X²] − μ² : l'inertie autour du centre, où la distance compte au carré.
Moments bruts, centrés, asymétrie, kurtosis culture
Brunton 28, 30 et 37
Brunton appelle l'espérance le premier moment et relie la variance au second (28), qu'il écrit ensuite « second moment moins premier au carré » (37). Le mot vient de la physique : un moment est une moyenne pondérée d'une puissance de la distance. Plus la puissance k est grande, plus la masse lointaine écrase le reste. Les moments successifs décrivent donc la forme de la loi, du plus grossier au plus fin.
Puissance paire (2, 4) : le signe disparaît, seule la distance compte. Puissance impaire (3) : le signe reste, et les écarts à gauche et à droite se compensent, sauf si un côté est plus lourd.
Chaque barre est la contribution p · (x − μ)k d'une valeur, à l'échelle de la plus grande ; leur somme est le moment centré d'ordre k. Sur Z, la valeur 10 fait 50 % de la somme des barres en valeur absolue à k = 1, 90 % à k = 2, 99 % à k = 3 et 99,9 % à k = 4. Aux k impairs, la barre de gauche est négative : sur {1, 3} les deux côtés s'annulent exactement, sur Z le côté lourd l'emporte.
- Brut = autour de 0, centré = autour de μ. Le moment centré d'ordre 1 vaut toujours 0.
- Var = brut2 − brut1² : la même forme que le théorème de Huygens en mécanique, inertie autour de l'origine = inertie autour du centre + masse × distance².
- Diviser par σ³ et σ⁴ rend l'asymétrie et la kurtosis sans unité : elles décrivent la forme, pas l'échelle.
Exemples simples les deux lois de la séance du 10/10
| Ordre | Ce qu'il mesure | X ∈ {1, 3} | Z ∈ {0, 10} |
|---|---|---|---|
| 1 (brut) | position | 2 | 1 |
| 2 (centré) | étalement | 1 | 9 |
| 3 (standardisé) | asymétrie | 0 | 2,67 |
| 4 (standardisé) | poids des queues | 1 | 8,11 |
Repère : une normale a une asymétrie 0 et une kurtosis 3. On parle souvent d'excès de kurtosis, kurtosis − 3, nul pour la normale. Pour X ∈ {1, 3}, la kurtosis vaut 1, le minimum possible : deux masses, aucune queue.
En ML : Adam garde deux moyennes mobiles du gradient, m (moment brut d'ordre 1, la direction) et v (moment brut d'ordre 2, l'échelle). Certaines activations de LLM ont des queues extrêmes, et ces valeurs aberrantes cassent une quantification uniforme (LLM.int8).
Le calcul sur Z μ = 1, σ = 3, écarts −1 et +9
Pour X ∈ {1, 3}, les cubes des écarts ±1 s'annulent (asymétrie 0) et E[(X − μ)⁴] = σ⁴ = 1 (kurtosis 1).
Simuler en Python scipy, et le piège de l'excès
import numpy as np
from scipy import stats
rng = np.random.default_rng(0)
z = rng.choice([0, 10], p=[0.9, 0.1], size=200_000)
print(f"skewness {stats.skew(z):.2f}") # theory: 2.67
print(f"kurtosis {stats.kurtosis(z, fisher=False):.2f}") # theory: 8.11
print(f"default {stats.kurtosis(z):.2f} (excess = kurtosis - 3)")
skewness 2.69 kurtosis 8.24 default 5.24 (excess = kurtosis - 3)
L'échantillon donne 2,69 et 8,24 au lieu de 2,67 et 8,11 : la proportion de 10 tirée n'est pas exactement 0,1, et les moments d'ordre élevé amplifient cet écart.
Où ça casse
- La kurtosis ne mesure pas l'« aplatissement ». Beaucoup de manuels le disent, et le nom français « coefficient d'aplatissement » porte le même mythe. Les valeurs à moins de 1σ du centre contribuent au plus 1 à la kurtosis (0,11 sur 3 pour une normale) : tout le reste vient des queues (Westfall, 2014).
- Asymétrie nulle n'implique pas symétrie. L'implication ne vaut que dans l'autre sens.
- scipy.stats.kurtosis renvoie l'excès par défaut (fisher=True) : 5,24 au lieu de 8,24 sur le même échantillon.
Ordre 3 : de quel côté est la queue. Ordre 4 : à quel point les queues pèsent.
L'exponentielle : espérance, variance, médiane outil
Brunton 31 · Example of Computing the Expectation and Variance of an Exponential Distribution
Brunton fait enfin un calcul sur une loi continue (il ne saute que E[T²]) : l'attente T jusqu'au prochain événement d'un flux de taux λ (un mail, un appel, une panne). Le résultat surprend : la moyenne et l'écart-type sont égaux, et la médiane est nettement plus courte que la moyenne.
La loi est très asymétrique : beaucoup d'attentes courtes, quelques attentes longues qui tirent la moyenne vers la droite. C'est la situation de la figure 2, sur une loi qu'on rencontre partout.
La moyenne se devine : à λ événements par heure, on attend en moyenne 1/λ heure. À 4 spams par heure, un spam toutes les 15 minutes.
En haut, l'heure d'arrivée de chaque spam ; en bas, une pastille par attente entre deux spams. Les attentes courtes s'empilent à gauche, quelques longues s'étirent à droite et tirent la moyenne (rouge) au-delà de la médiane (bleu). En théorie : moyenne 15 min, médiane 10,4 min, et 63 % des attentes plus courtes que la moyenne. Lance une nouvelle journée : les chiffres bougent, la médiane reste presque toujours sous la moyenne.
- T ≥ 0 : toutes les intégrales vont de 0 à l'infini, pas de −∞.
Fais varier le taux λ (événements par heure). La courbe part de la hauteur λ ; la moyenne et la médiane se déplacent ensemble, proportionnellement à 1/λ, et la médiane reste toujours à 69 % de la moyenne.
Exemples simples λ = 2, une ampoule, des spams
- λ = 2 par heure. Attente moyenne 0,5 h, écart-type 0,5 h, médiane 0,347 h, soit 21 min.
- Une ampoule de durée moyenne 100 h (λ = 1/100). La moitié des ampoules meurt avant 100 ln 2 = 69,3 h.
- Des spams à 4 par heure. Attente moyenne 15 min, médiane 60 ln 2/4 = 10,4 min.
Preuve deux intégrations par parties ; Brunton fait la première
Espérance. Par parties avec u = t et dv = λ e−λt dt, donc v = −e−λt :
Second moment, le calcul que Brunton laisse : par parties avec u = t².
Médiane. F(m) = 1 − e−λm = ½, donc e−λm = ½, donc m = ln 2/λ.
Simuler en Python et le piège du paramètre de numpy
import numpy as np
rng = np.random.default_rng(0)
lam = 2.0
t = rng.exponential(scale=1 / lam, size=200_000) # numpy takes the mean 1/λ, not λ
print(f"mean {t.mean():.4f} (1/λ = {1/lam})")
print(f"sd {t.std():.4f} (1/λ = {1/lam})")
print(f"median {np.median(t):.4f} (ln2/λ = {np.log(2)/lam:.4f})")
mean 0.4993 (1/λ = 0.5) sd 0.5012 (1/λ = 0.5) median 0.3442 (ln2/λ = 0.3466)
Où ça casse
- Les bornes. La densité est nulle pour t < 0 ; intégrer depuis −∞ la formule λe−λt fait diverger le calcul.
- numpy prend la moyenne, pas le taux. rng.exponential(scale=…) attend 1/λ ; lui passer λ se trompe d'un facteur λ² sur la moyenne et l'écart-type, λ⁴ sur la variance.
- « σ = moyenne » n'explique pas l'absence de mémoire. Brunton pose la question. C'est l'inverse : l'absence de mémoire, P(T > s + t | T > s) = e−λt (l05), force la loi exponentielle, qui force σ = moyenne. La réciproque est fausse : une log-normale avec σ² = ln 2 (pour ln T) a aussi un écart-type égal à sa moyenne, 1,414, et elle a de la mémoire.
Exponentielle(λ) : moyenne = écart-type = 1/λ, et la médiane ln 2/λ est plus courte que la moyenne.
Changer d'unité : Var(aX + b) = a² Var(X) outil
Brunton 32 (et 30 pour Var(2X))
Brunton convertit des températures : F = (9/5) C + 32. Faut-il tout recalculer en °F ? Non. Décaler toutes les valeurs de b déplace le centre de b, mais ne change aucun écart au centre : la variance ne bouge pas.
Multiplier par a multiplie chaque écart par a, donc chaque écart au carré par a². C'est pour ça que la variance n'est pas linéaire : un facteur sort au carré, et une constante disparaît.
Trois journées à 10, 15 et 20 °C. Chaque écart à la moyenne est le côté d'un carré, et la variance est l'aire moyenne des carrés. + 32 fait glisser le tout : les carrés ne changent pas. × 1,8 allonge chaque côté de 1,8, donc chaque aire de 1,8² = 3,24. Les deux ensemble donnent les °F : la variance passe de 16,67 à 16,67 × 3,24 = 54.
- Aucune hypothèse : a et b sont des constantes, X est quelconque.
La loi de aX + b pour un dé, avec sa moyenne (trait rouge) et ±σ (segment vert). Bouge b : tout glisse, la variance ne change pas. Bouge a : les barres s'écartent, l'écart-type suit |a| et la variance a². À a = 0, tout tombe sur b et la variance s'annule.
Exemples simples constante, signe, un gain, des températures
- Var(5) = 0 et Var(X + 5) = Var(X).
- Var(−X) = Var(X). Retourner la loi ne change pas son étalement.
- Un gain G = 2X + 1 sur un dé. E[G] = 2 × 3,5 + 1 = 8 ; Var(G) = 4 × 2,917 = 11,67 ; écart-type 3,42.
- De °C en °F. EF = 1,8 EC + 32 ; la variance est multipliée par 1,8² = 3,24 et l'écart-type par 1,8. Un écart-type de 5 °C devient 9 °F.
Preuve la ligne de Brunton : les b s'annulent
Simuler en Python Var(X + 5), Var(2X), et deux dés
import numpy as np
rng = np.random.default_rng(0)
x = rng.integers(1, 7, size=200_000)
x2 = rng.integers(1, 7, size=200_000) # a second, independent die
print(f"Var(X) ≈ {x.var():.3f}") # 35/12 ≈ 2.917
print(f"Var(X + 5) ≈ {(x + 5).var():.3f}") # unchanged
print(f"Var(2X) ≈ {(2 * x).var():.3f}") # 4 Var(X) ≈ 11.67, not 2 Var(X)
print(f"Var(X + X') ≈ {(x + x2).var():.3f}") # two independent dice: 2 Var(X) ≈ 5.83
Var(X) ≈ 2.918 Var(X + 5) ≈ 2.918 Var(2X) ≈ 11.674 Var(X + X') ≈ 5.812
Où ça casse
- La variance n'est pas linéaire. Var(2X) = 4 Var(X), pas 2 Var(X). Écrire Var(aX + bY) = a Var X + b Var Y fait deux erreurs : les coefficients sortent au carré, et il manque le terme croisé en Cov(X, Y) (l09).
- 2X n'est pas X + X'. Doubler un dé donne une variance de 11,67 ; additionner deux dés indépendants donne 5,83 (code ci-dessus). La différence 11,67 − 5,83 = 5,83 est le terme croisé 2 Cov(X, X) = 2 Var X.
- Le terme croisé n'est pas 2ab E[XY]. Teste avec deux constantes, X = Y = 1 : Var(X + Y) = 0, mais a² · 0 + b² · 0 + 2ab E[XY] donnerait 2ab ≠ 0. Comme la variance, le terme croisé doit ignorer un décalage : c'est 2ab E[(X − μX)(Y − μY)] = 2ab Cov(X, Y), pas 2ab E[XY] (l09).
- Additivité n'est pas linéarité. L'indépendance donne l'additivité, Var(X + Y) = Var X + Var Y, et avec des coefficients Var(aX + bY) = a² Var X + b² Var Y. Même sous indépendance, la variance n'est jamais linéaire.
- a < 0. L'écart-type est |a| σ, jamais a σ.
Var(aX + b) = a² Var(X) : b disparaît, a sort au carré. La variance n'est pas linéaire.
L'énergie cinétique d'un gaz culture
Brunton 32
Brunton : « la température n'est que l'énergie cinétique moyenne des molécules ». Il calcule E[½ m V²] avec la loi de Maxwell de la vitesse, au prix d'une intégrale et d'une fonction gamma.
La linéarité permet de s'en passer. La vitesse d'une molécule est un vecteur (Vx, Vy, Vz) dont chaque composante est normale, centrée, de variance σ² ; son carré est Vx² + Vy² + Vz². La loi de Maxwell qu'utilise Brunton est exactement la loi de la norme |V| quand les trois composantes sont indépendantes N(0, σ²), avec le même σ : les deux calculs portent sur la même chose.
À gauche, les vitesses (Vx, Vy) des molécules, σ = 1,3 ; la flèche rouge est la dernière arrivée, et sa troisième composante Vz n'est pas dessinée. À droite, la moyenne de chaque carré de composante, puis celle de |V|² = Vx² + Vy² + Vz² : la dernière barre est exactement l'empilement des trois autres. Ajoute des molécules : les barres rejoignent σ² = 1,69 et 3σ² = 5,07.
- E[Vx²] = Var(Vx) + E[Vx]² = σ² + 0 (notion 6).
- En physique, σ² = kT/m, d'où E = (3/2) kT.
Exemple m = 2, σ = 1,3
(3/2) × 2 × 1,3² = 3 × 1,69 = 5,07.
Pourquoi aucune intégrale n'est nécessaire
La linéarité s'applique à la somme des trois carrés, sans même demander l'indépendance des composantes. Il ne reste que E[Vx²], qui se lit sur la variance d'une composante. L'intégrale de Brunton calcule la même chose par un chemin plus long : elle passe par la loi de la norme de V, alors que l'espérance n'en a pas besoin.
Simuler en Python un million de molécules
import numpy as np
rng = np.random.default_rng(0)
m, sigma = 2.0, 1.3
v = rng.normal(0, sigma, size=(1_000_000, 3)) # three independent velocity components
ke = 0.5 * m * (v ** 2).sum(axis=1)
print(f"E[KE] ≈ {ke.mean():.3f} (3/2) m σ² = {1.5 * m * sigma**2:.3f}")
E[KE] ≈ 5.068 (3/2) m σ² = 5.070
Où ça casse
- On obtient l'espérance de l'énergie, pas sa loi. Pour la loi, il faut la méthode de Brunton 23 (l06) ; il dit lui-même que « c'est toute une affaire ».
La linéarité évite des intégrales entières : une espérance de somme se calcule terme à terme.
La somme des queues culture
Brunton 43 · The Tail Sum Formula in Probability
Entre deux vidéos lourdes, Brunton glisse une formule « un peu surprenante » : pour une variable à valeurs entières positives, l'espérance est la somme des probabilités de dépasser chaque seuil.
Son dessin : écrire k · P(X = k) comme k copies de P(X = k), empilées en colonne, puis lire le tableau par lignes. Chaque ligne est une probabilité de queue.
Un dé : la colonne k empile k copies de P(X = k) = ⅙, soit 21 cases et une aire totale de 21/6 = 3,5 = E[X]. Par lignes, les cases glissent sans changer de nombre : la ligne r contient Pr, …, P6, c'est-à-dire P(X ≥ r). Même aire, seconde formule.
- X doit être positive et entière.
- P(X ≥ k) = 1 − F(k − 1), où F est la fonction de répartition.
Chaque marche a pour hauteur P(X ≥ k) et pour largeur 1 : l'aire totale est E[X]. Pour un dé, 21/6 = 3,5. Pour la géométrique (nombre de lancers jusqu'au premier 6), chaque marche est multipliée par 5/6 et l'aire vaut 6. La marche k occupe l'intervalle [k − 1, k].
Exemples simples un dé, la géométrique
- Un dé. P(X ≥ k) = (7 − k)/6, donc E[X] = (6 + 5 + 4 + 3 + 2 + 1)/6 = 21/6 = 3,5.
- La géométrique, nombre d'essais jusqu'au premier succès (l05). P(X ≥ k) = qk − 1, avec q = 1 − p, puisque les k − 1 premiers essais doivent échouer. E[X] = 1 + q + q² + … = 1/(1 − q) = 1/p : six lancers en moyenne pour obtenir un 6.
Preuve le triangle de Brunton
E[X] = 1·P₁ + 2·P₂ + 3·P₃ + … + n·Pₙ
= P₁ + P₂ + P₃ + … + Pₙ → P(X ≥ 1)
+ P₂ + P₃ + … + Pₙ → P(X ≥ 2)
+ P₃ + … + Pₙ → P(X ≥ 3)
…
+ Pₙ → P(X ≥ n)
Notons Pk = P(X = k). La colonne de Pk le contient exactement k fois : on retrouve Σ k Pk. La ligne r somme Pr + Pr+1 + …, c'est-à-dire P(X ≥ r). Pour une variable non bornée, réordonner une série de termes positifs est permis ; Brunton ne le dit pas.
Calculer en Python le dé, et la géométrique simulée
import numpy as np
# fair die: sum of P(X >= k) for k = 1..6
survival = [(7 - k) / 6 for k in range(1, 7)]
print(sum(survival)) # 3.5
# geometric(p): number of rolls until the first six
p = 1 / 6
tail = sum((1 - p) ** (k - 1) for k in range(1, 10_000)) # P(X >= k) = q^(k-1)
rng = np.random.default_rng(0)
print(f"{tail:.4f} {rng.geometric(p, size=200_000).mean():.4f}") # both ≈ 1/p = 6
3.5 6.0000 5.9926
Où ça casse
- Le décalage d'un cran. 1 − F(k) = P(X > k), pas P(X ≥ k).
- La version continue, que Brunton ne donne pas : pour X ≥ 0, E[X] = ∫0∞ P(X > x) dx.
Une espérance est la somme des probabilités de survie.
Résumé
- E[X] = Σ x P(X = x) : le centre de masse, un nombre fixe de la loi.
- La médiane résiste aux extrêmes, pas la moyenne ; pour les lois usuelles asymétriques à droite, mode < médiane < moyenne.
- E est linéaire sans aucune hypothèse.
- E[XY] = E[X]E[Y] demande l'indépendance ; la réciproque est fausse.
- E[g(X)] = Σ g(x) P(X = x), et E[g(X)] ≠ g(E[X]).
- Var(X) = E[(X − μ)²] = E[X²] − μ² : l'inertie autour du centre ; une valeur lointaine domine.
- Var(aX + b) = a² Var(X) : la variance n'est pas linéaire.
- Exponentielle(λ) : moyenne = écart-type = 1/λ, médiane ln 2/λ.
Chaîne verbalisée — une prise, à voix haute
- E[X] et la moyenne de dix lancers : lequel des deux est aléatoire ?La moyenne des dix lancers, réalisation x̄ de la variable X̄ ; E[X] est un nombre fixe de la loi.
- Que vaut E[X + Y], et sous quelle hypothèse ?E[X] + E[Y], sans aucune hypothèse : la linéarité somme, elle ne factorise pas.
- Quand a-t-on E[XY] = E[X] E[Y] ?Sous indépendance. La réciproque est fausse : X sur {−1, 0, 1} et Y = X² donnent l'égalité.
- Définis la variance, puis donne sa forme de calcul.La moyenne des carrés des écarts à μ, E[(X − μ)²] ; E[X²] − μ².
- Que valent Var(2X) et Var(X + 5) ?4 Var(X) et Var(X) : a sort au carré, b disparaît.
- Pourquoi le terme croisé de Var(aX + bY) ne peut-il pas être 2ab E[XY] ?Avec X = Y = 1, la variance vaut 0 mais 2ab E[XY] vaut 2ab ; le terme croisé ignore les décalages : 2ab Cov(X, Y).
- Z vaut 0 (probabilité 0,9) ou 10 (probabilité 0,1). Pourquoi sa variance vaut-elle 9 ?μ = 1 ; 0,9 × 1 + 0,1 × 81 = 9 : la valeur rare fait 90 % de la variance.
Où ça sert ensuite
stats::esperance (notions 1, 3, 4) · stats::mediane (notion 2) · stats::lotus (notion 5) · stats::variance (notions 6, 8, 9) · stats::moments (notion 7, sans carte).
Une carte se fait depuis le « ce qu'on garde » d'une notion OUTIL, après ta lecture, dans tes mots.