Statistiques descriptives
Ce que ce chapitre apporte
- Distinguer population, individu, caractère, modalité, et types de caractères.
- Construire un tableau d'effectifs et de fréquences, simples et cumulés.
- Calculer moyenne, médiane, mode et quantiles, et choisir l'indicateur adapté.
- Calculer étendue, écart interquartile, variance et écart-type, et interpréter la dispersion.
- Construire et lire une boîte à moustaches, repérer les valeurs aberrantes.
- Charger et résumer un jeu de données tabulaire en Python.
Le vocabulaire
La population est l'ensemble étudié ; un individu en est un élément ; le caractère est ce qu'on observe sur chaque individu ; les valeurs que peut prendre un caractère sont ses modalités.
Un caractère est quantitatif si ses modalités sont des nombres qu'on peut mesurer et sur lesquels calculer (une température, une durée), qualitatif sinon (une saison, une marque, un avis).
Un caractère quantitatif est discret s'il prend des valeurs isolées (le nombre de vélos loués), continu s'il peut prendre n'importe quelle valeur d'un intervalle (une température) : on le regroupe alors en classes.
1, 2, 3, 4 et la météo 1, 2, 3. Ce sont des étiquettes, pas des mesures : « saison moyenne = 2,4 » n'a aucun sens. Avant tout calcul, demande-toi si la différence entre deux valeurs veut dire quelque chose. Entre l'hiver et l'été, non.
Effectifs et fréquences
L'effectif est le nombre d'individus présentant la modalité , et . La fréquence en est la proportion, et , c'est le premier contrôle d'un tableau.
L'effectif cumulé croissant compte les individus dont la modalité est inférieure ou égale à ; la fréquence cumulée en est la proportion. C'est sur ces cumuls que se lisent directement médiane et quantiles.
Indicateurs de position
Ils répondent à « où se situe le centre des données ? ».
Moyenne
C'est le centre de gravité de la série : elle utilise toutes les valeurs, ce qui est sa force et sa faiblesse.
40, 45, 47, 50, 4000, la moyenne vaut 836 ms : un temps que personne n'a jamais observé, et qui ne décrit rien. Ce n'est pas un cas d'école, c'est le quotidien d'une métrique de supervision où une seule requête a expiré.
Médiane
La médiane partage la série ordonnée en deux moitiés de même effectif : au moins 50 % des valeurs lui sont inférieures ou égales, au moins 50 % lui sont supérieures ou égales.
La méthode, en deux temps qu'on n'inverse jamais :
- Ordonner la série dans l'ordre croissant.
- Si est impair, prendre la valeur de rang . Si est pair, prendre la moyenne des valeurs de rang et .
Mode
Le mode est la modalité de plus grand effectif. C'est le seul indicateur de position disponible pour un caractère qualitatif : la saison la plus fréquente a un sens, la saison moyenne non.
Quantiles
Le quantile d'ordre est la valeur du caractère correspondant à la fréquence cumulée . est le quantile d'ordre 0,25, celui d'ordre 0,75, et la médiane celui d'ordre 0,5.
En pratique sur une série ordonnée de valeurs : on calcule et ; si le résultat est entier, on prend la moyenne de cette valeur et de la suivante ; sinon, on arrondit à l'entier supérieur.
numpy en propose neuf. Applique celle de ton cours et écris-la : c'est la méthode qui est notée, pas la troisième décimale.
Indicateurs de dispersion
Ils répondent à « les données sont-elles serrées ou étalées ? ». Deux séries de même moyenne peuvent être radicalement différentes.
Étendue et écart interquartile
L'étendue est . Simple, et entièrement déterminée par les deux valeurs les plus douteuses de la série.
L'écart interquartile IQR = Q₃ − Q₁ mesure l'étalement des 50 % centraux. Il ignore les extrêmes par construction : c'est un indicateur robuste, et c'est celui qui servira à détecter les anomalies au chapitre 5.
Variance et écart-type
La variance est la moyenne des carrés des écarts à la moyenne :
L'écart-type la ramène dans l'unité des données.
La seconde forme (« moyenne des carrés moins carré de la moyenne ») est celle qu'on utilise pour calculer : un seul passage sur les données suffit.
N quand on décrit la série qu'on a sous les yeux (variance de population). Par N − 1 quand on estime la variance d'une population plus large à partir d'un échantillon.En Python,
numpy.std() divise par N et pandas.Series.std() par N − 1 : les deux bibliothèques ne donnent pas le même nombre sur la même colonne. Sur 12 valeurs l'écart est de 4 % ; sur 10 000, il est invisible. Sache lequel tu utilises et pourquoi.
Le coefficient de variation est sans unité : il permet de comparer la dispersion de deux séries d'échelles différentes, par exemple une charge CPU en pourcentage et un trafic réseau en Mo/s.
Un calcul complet, à la main
Les locations quotidiennes d'un service de vélos sur 12 jours, en centaines :
12, 15, 15, 18, 21, 22, 24, 27, 31, 33, 40, 62
La série est déjà ordonnée, .
| Indicateur | Calcul | Résultat |
|---|---|---|
| Moyenne | 26,67 | |
| Médiane | 23 | |
| entier → | 16,5 | |
| entier → | 32 | |
| Étendue | 50 | |
IQR | 15,5 | |
| Variance | 175,7 | |
| Écart-type | 13,26 |
Trois lectures immédiates, et elles valent plus que les nombres :
- Moyenne (26,7) nettement supérieure à la médiane (23) : la série est étirée vers le haut. Une journée exceptionnelle tire la moyenne.
- : l'écart typique vaut la moitié de la moyenne. C'est une série très dispersée, prévoir « 2 670 locations demain » serait absurde.
- La valeur 62 dépasse
Q₃ + 1,5 × IQR = 55,25: c'est une valeur aberrante au sens de la boîte à moustaches. À enquêter, pas à supprimer.
1.Une série contient une valeur extrême. Quel indicateur bouge le plus ?
2.L'écart-type se lit dans la même unité que…
3.Deux séries ont la même moyenne. Que peut-on en conclure ?
La boîte à moustaches
La boîte à moustaches (diagramme de Tukey) résume une série par cinq nombres : le bord inférieur de la boîte est , la barre intérieure la médiane, le bord supérieur . Les moustaches s'étendent jusqu'à la dernière valeur située à moins de 1,5 × IQR de la boîte ; au-delà, les points sont tracés individuellement comme valeurs aberrantes.
Son intérêt n'est pas de résumer une série (un tableau le fait mieux) mais d'en comparer plusieurs d'un seul coup d'œil : quatre saisons, sept jours de la semaine, trois serveurs.
Travailler sur des données tabulaires
En pratique, les données arrivent en table : une ligne par observation, une colonne par caractère. pandas est l'outil standard, et trois méthodes couvrent l'essentiel du travail : describe() pour le résumé, groupby() pour comparer des sous-populations, et le filtrage booléen pour isoler des lignes.
Le jeu ci-dessous imite un relevé de locations de vélos, fabriqué de façon reproductible puisque le navigateur ne lit pas de fichier.
describe() donne d'un coup l'effectif, la moyenne, l'écart-type, le minimum, les trois quartiles et le maximum. C'est toujours la première commande à taper sur un jeu inconnu.
Puis on compare des sous-populations. Une question du type quels jours ouvrir le service ? est exactement une question de groupby :
Et la lecture graphique, qui montre en deux images ce que trois tableaux disent mal :
Exercices type
Moyenne et médiane de 4, 7, 7, 9, 13, 15, 45
Moyenne : 14,3
Médiane : 7 valeurs, rang , donc
La moyenne est bien supérieure à la médiane : la valeur 45 tire la série vers le haut. Ici la médiane est plus représentative, et l'écart entre les deux est déjà une conclusion sur la forme de la série.
Écart-type de 2, 4, 4, 4, 5, 5, 7, 9
, donc 2
L'écart typique à la moyenne vaut 2, sur une série centrée en 5 : .
Toutes les mesures d'un capteur sont majorées de 2 °C par un défaut d'étalonnage. Que deviennent moyenne et écart-type ?
La moyenne augmente de 2. L'écart-type ne change pas : on a translaté toute la série sans modifier les écarts entre les valeurs.
Si le défaut était multiplicatif (toutes les valeurs × 1,1), moyenne et écart-type seraient multipliés par 1,1. C'est et , vus depuis les données.
Sur 200 mesures de charge CPU, $Q_1 = 22 %$, $Me = 31 %$, $Q_3 = 68 %$. Que dire de la série ?
IQR = 46 points, c'est énorme : les 50 % centraux s'étalent sur presque toute l'échelle.
Surtout, la médiane (31) est beaucoup plus proche de (22) que de (68) : la moitié basse est serrée, la moitié haute très étalée. La distribution est fortement asymétrique à droite.
L'interprétation métier est nette : le serveur est le plus souvent peu chargé, avec des périodes de forte charge bien distinctes. Une bimodalité est probable, jour/nuit, ou traitement par lots. Il faut tracer l'histogramme et séparer les deux régimes avant tout autre calcul.
Pourquoi ne compare-t-on pas deux séries par leurs écarts-types quand elles n'ont pas la même unité ?
Parce que l'écart-type porte l'unité des données. Un écart-type de 12 sur une charge CPU en pourcentage et de 12 sur un trafic en Mo/s ne sont pas comparables.
On utilise alors le coefficient de variation , sans unité. (trafic très régulier) et (charge très irrégulière) se comparent, eux.
Réserve : le n'a de sens que si la moyenne est positive et loin de zéro. Sur une série centrée en zéro, il explose.
Un point est en dehors des moustaches. Faut-il le retirer du jeu de données ?
Non : pas avant de savoir ce que c'est.
Trois cas et trois traitements : une erreur de mesure (capteur débranché, valeur ) se corrige ou s'écarte, en le documentant ; un événement exceptionnel réel (jour de grève, pic de trafic) se garde, c'est souvent l'observation la plus intéressante du jeu ; un régime de fonctionnement rare mais normal signale que la population n'est pas homogène et qu'il faut la découper.
Écarter un point parce qu'il gêne le modèle, c'est fabriquer le résultat. Ce qui se note dans un rapport, c'est la phrase qui justifie la décision.
La méthode
- Ordonne la série avant tout calcul de médiane ou de quantile. C'est l'oubli le plus fréquent.
- Vérifie que et que . Un tableau faux invalide tout ce qui suit.
- Vérifie qu'un caractère codé en nombres est bien quantitatif avant d'en faire la moyenne.
- Donne toujours position et dispersion ensemble : une moyenne sans écart-type ne décrit rien.
- Compare moyenne et médiane : leur écart est déjà une conclusion sur la symétrie.
- Trace l'histogramme avant de conclure. Deux bosses invalident tout indicateur global.
- Précise ta convention de quartile et de variance ( ou ) quand tu écris un résultat.
- Traduis en langage métier. « = 68 % » devient « un jour sur quatre, le serveur dépasse 68 % de charge ».
En résumé
- Population, individu, caractère, modalité. Un caractère qualitatif n'a ni moyenne ni écart-type.
- et : le contrôle qui prend trois secondes.
- Moyenne : centre de gravité, utilise tout, sensible aux extrêmes. Médiane : robuste. Mode : seul indicateur des caractères qualitatifs.
- Quantiles , →
IQR = Q₃ − Q₁, dispersion robuste des 50 % centraux. - Variance , écart-type , dans l'unité des données.
- Diviser par pour décrire, par pour estimer.
numpyetpandasne font pas le même choix par défaut. - Coefficient de variation : sans unité, pour comparer des séries d'échelles différentes.
- Boîte à moustaches : cinq nombres, aberrantes au-delà de
1,5 × IQR. Faite pour comparer des séries. - Une valeur aberrante s'explique, elle ne s'efface pas.
describe()puisgroupby(): les deux premières commandes sur un jeu de données inconnu.
Et ensuite ? Décrire une colonne ne suffit pas à décider. Le chapitre suivant met deux variables en relation (corrélation, moindres carrés et prédiction) pour répondre à la question qui décide vraiment : quels jours ouvrir le service ?