Adloun

Médiane et écart interquartile

Exercice d'entraînement · niveau 3 (difficile) · mathématiques appliquées (ECG 1re année), chapitre 11 — Informatique et algorithmique · Parcours de listes et coût

Énoncé

Écrire mediane(L) et interquartile(L) (différence entre le troisième et le premier quartile), en travaillant sur une copie triée de L et en traitant le cas d'un effectif pair. Montrer sur un exemple qu'une valeur aberrante déplace fortement la moyenne mais presque pas la médiane.

Corrigé

Le code.

def mediane(L):
    T = sorted(L)              # copie triee : L n'est pas modifiee
    n = len(T)
    if n % 2 == 1:
        return T[n // 2]                       # effectif impair : valeur centrale
    return (T[n // 2 - 1] + T[n // 2]) / 2     # effectif pair : moyenne des deux

def interquartile(L):
    T = sorted(L)
    n = len(T)
    q1 = mediane(T[: n // 2])                  # moitie basse
    q3 = mediane(T[(n + 1) // 2 :])            # moitie haute
    return q3 - q1

Pourquoi sorted et non L.sort(). sorted rend une nouvelle liste et laisse L intacte ; L.sort() réordonne la liste de l'appelant. Une fonction d'analyse ne doit pas modifier les données qu'on lui confie — un effet de bord invisible qui fausserait tout calcul ultérieur sur L.

Le cas pair. Avec pair, il n'y a pas de valeur centrale : on prend la moyenne des deux valeurs d'indices et . Sur cela donne . Prendre T[n // 2] seul renverrait : une médiane systématiquement décalée vers le haut, erreur d'autant plus difficile à voir qu'elle reste plausible.

Les découpes des quartiles. La moitié basse est T[: n // 2] et la moitié haute T[(n + 1) // 2 :] : lorsque est impair, la valeur centrale est ainsi exclue des deux moitiés, ce qui est la convention la plus répandue.

Exemple, et la valeur aberrante. Prenons . La somme vaut , donc la moyenne est ; la médiane est ; les quartiles sont et , d'où un écart interquartile de .

Remplaçons maintenant par (une erreur de saisie). La somme devient , donc la moyenne saute à — soit . La médiane, elle, reste : les valeurs centrales n'ont pas bougé. L'écart interquartile devient , inchangé lui aussi.

Ce que l'exemple démontre. Médiane et écart interquartile sont robustes : ils ne dépendent que du rang des valeurs, pas de leur grandeur. Moyenne et écart-type, eux, sont sensibles à une seule valeur extrême. Sur des salaires, des patrimoines ou des durées, c'est presque toujours le couple médiane/interquartile qui décrit correctement les données — et cette différence de à est exactement ce que le programme demande de savoir discuter.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.