informatique (tronc commun des prépas scientifiques) · Chapitre 4 · Exercice de TD
La variance en un seul passage
Modules, fichiers et données · niveau 2
Énoncé
La formule de Kœnig-Huygens () permet de calculer la variance en un seul parcours. Écrire cette fonction, la valider et expliquer son point faible vis-à-vis des calculs flottants.
Corrigé
def variance_un_passage(t: list) -> float:
"""Précondition : t non vide."""
s, s2 = 0.0, 0.0
for x in t:
s += x
s2 += x * x
n = len(t)
return s2 / n - (s / n) ** 2
Faiblesse numérique : Si les données ont des valeurs très grandes mais une dispersion très faible (ex. ), alors et sont deux valeurs immenses et très proches. Leur soustraction dans la formule de Kœnig-Huygens entraîne une perte massive de précision (phénomène d'annulation catastrophique). L'écart peut même devenir négatif en machine. La formule classique en deux passages () est beaucoup plus stable.
Exercices semblables
- Le fichier qui ment corrigé
- Construire l'histogramme soi-même corrigé
- Moyennes par catégorie corrigé
- La méthode de Monte-Carlo corrigé
- Lire un fichier à colonnes variables corrigé