Listes, statistiques et simulations
Cours · algorithmique et programmation (première), chapitre 4 · première, algorithmique et programmation · le début du chapitre, la suite sur Adloun
Une série statistique est une liste ; un échantillon simulé aussi. Ce chapitre met les listes au service des chapitres « Probabilités conditionnelles » et « Variables aléatoires » du manuel : calculer les indicateurs, simuler des expériences aléatoires, observer la fluctuation d'échantillonnage, estimer par Monte-Carlo — et analyser les fréquences des lettres d'un texte, l'algorithme du programme.
4.1 Indicateurs d'une série statistique
Méthode : Moyenne, variance, écart type d'une liste
def moyenne(L):
return sum(L) / len(L)
def variance(L):
m = moyenne(L)
return sum([(x - m)**2 for x in L]) / len(L)
def ecart_type(L):
return variance(L) ** 0.5
notes = [12, 8, 15, 10, 15]
print(moyenne(notes), variance(notes), ecart_type(notes))
# 12.0 7.6 2.756...
La compréhension [(x - m)**2 for x in L] colle à la formule : le code est la définition.
Pourquoi calculer les deux ? Parce que la moyenne seule ne distingue pas ces deux séries :
Exemple 4.1Médiane et étendue par tri
def mediane(L):
T = sorted(L) # copie TRIÉE de L (L n'est pas modifiée)
n = len(T)
if n % 2 == 1:
return T[n // 2] # valeur centrale
return (T[n//2 - 1] + T[n//2]) / 2 # moyenne des deux centrales
def etendue(L):
return max(L) - min(L)
print(mediane([12, 8, 15, 10, 15])) # 12
print(mediane([12, 8, 15, 10])) # 11.0
Exercices du chapitre
- On lance deux dés équilibrés et on note la somme corrigé
- Un jeu rapporte € avec probabilité, € avec probabilité, rien sinon corrigé
- Reprendre l'expérience de fluctuation du cours avec des tailles… corrigé
- Estimer par Monte-Carlo la probabilité qu'en lançant trois dés, la… corrigé
- Le message suivant a été chiffré en remplaçant chaque lettre par une… corrigé
- Pour la série 7, 12, 9, 15, 9, 11, calculer à la machine (et vérifier… corrigé