Analyse statistique et traitement de données réelles avec NumPy
Dans l’article précédent, nous avons exploré les fonctions universelles et le broadcasting avec NumPy.
Tu as découvert comment effectuer des calculs vectorisés rapides et efficaces.
Mais la vraie étape suivante, celle qui fait passer du niveau technique au niveau professionnel, c’est l’Analyse statistique appliquée à des données réelles.
L’Analyse statistique ne consiste pas seulement à calculer une moyenne ou un écart-type.
Elle permet de comprendre un dataset, détecter des anomalies, interpréter des tendances et prendre des décisions basées sur des faits.
Lorsque tu travailles avec des données imparfaites, bruyantes ou incomplètes, l’Analyse statistique devient indispensable.
Dans cet article, tu vas apprendre à utiliser NumPy pour faire une Analyse complète sur un jeu de données réel, exactement comme le ferait un data analyst en entreprise.
Pourquoi l’analyse des données est indispensable en data science
Avant tout modèle de machine learning, avant toute visualisation avancée, il y a une étape clé :
👉 Comprendre les données.
L’exploration statistique permet de :
- détecter des anomalies
- comprendre la distribution
- identifier des tendances
- éviter des erreurs coûteuses dans les modèles
En pratique, un data scientist passe souvent plus de 60 % de son temps à explorer et préparer les données.
Jeu de données réel : températures quotidiennes
Prenons un exemple simple mais réaliste :
des températures quotidiennes (en °C) mesurées sur un mois.
import numpy as np
temperatures = np.array([
18.5, 19.0, 20.1, 21.3, 22.0, 19.8, 18.9,
20.5, 21.0, 22.2, 23.1, 24.0, 22.8, 21.7,
20.9, 19.5, 18.7, 17.9, 18.3, 19.2,
20.0, 21.4, 22.6, 23.3, 24.1, 23.8,
22.9, 21.6, 20.4, 19.6
])
C’est exactement le type de données que tu rencontres en entreprise.
Les statistiques descriptives essentielles
Toute analyse commence par des indicateurs simples mais puissants.
Moyenne
np.mean(temperatures)
➡️ Donne la température moyenne du mois.
Supposons que la moyenne soit de 21.2°C.
👉 Cela indique un mois globalement doux.
Mais attention : la moyenne seule peut masquer des variations importantes.
Médiane
np.median(temperatures)
📌 La médiane est plus robuste que la moyenne en présence de valeurs extrêmes.
Si moyenne ≈ médiane → distribution plutôt équilibrée.
Si elles diffèrent fortement → possible asymétrie.
Minimum et maximum
np.min(temperatures)
np.max(temperatures)
👉 Permet d’identifier rapidement les extrêmes.
En contexte métier, cela peut servir à :
- détecter une erreur de capteur
- identifier une journée exceptionnelle
- évaluer un risque
Écart-type
np.std(temperatures)
➡️ Mesure la variabilité.
Un écart-type faible → températures stables.
Un écart-type élevé → forte variation.
En entreprise, cette information est cruciale pour évaluer la stabilité d’un phénomène.
Variance
np.var(temperatures)
La variance est l’écart-type au carré.
👉 Elle est souvent utilisée dans les modèles statistiques et les algorithmes de machine learning.
Comprendre la distribution des données
Avant toute décision, il faut comprendre comment les données se répartissent.
np.percentile(temperatures, [25, 50, 75])
Ces quartiles permettent de :
- repérer des valeurs atypiques
- mesurer la dispersion
- préparer des visualisations pertinentes
Un bon analyste ne regarde jamais uniquement la moyenne.
Détection des valeurs aberrantes (outliers)
Dans les données réelles, les erreurs existent.
Méthode simple avec l’écart-type
mean = np.mean(temperatures)
std = np.std(temperatures)
outliers = temperatures[np.abs(temperatures - mean) > 2 * std]
outliers
👉 Cette méthode identifie les valeurs éloignées de plus de 2 écarts-types de la moyenne.
⚠️ Important :
Un outlier n’est pas forcément une erreur.
Il peut représenter un événement exceptionnel mais réel.
Toujours comprendre avant de supprimer.
Nettoyage des données : étape incontournable
Les données réelles peuvent contenir :
- des valeurs manquantes
- des erreurs de saisie
- des valeurs impossibles
Exemple avec valeurs manquantes
data = np.array([20.1, 21.3, np.nan, 22.5, np.nan, 23.0])
Détection
np.isnan(data)
Suppression
data_clean = data[~np.isnan(data)]
La gestion des valeurs manquantes est une compétence centrale en data analysis.
Normalisation des données
Très utilisée en machine learning.
mean = data_clean.mean()
std = data_clean.std()
data_normalized = (data_clean - mean) / std
Cette transformation :
- centre les données autour de 0
- réduit la variance à 1
- facilite l’apprentissage des modèles
Grâce aux fonctions vectorisées vues dans l’article précédent, cette opération est simple, rapide et efficace.
Comparaison de deux jeux de données
Imaginons deux villes :
city_a = np.array([18, 19, 20, 21, 22, 23])
city_b = np.array([15, 16, 18, 19, 20, 21])
Comparaison des moyennes
np.mean(city_a) - np.mean(city_b)
👉 Cela permet de quantifier objectivement une différence.
Dans un contexte business, cela peut aider à :
- comparer deux marchés
- évaluer deux stratégies
- analyser deux périodes
Corrélation : comprendre les relations
Prenons températures et consommation d’énergie :
energy = np.array([30, 32, 35, 40, 45, 50])
corr_matrix = np.corrcoef(temperatures[:6], energy)
corr = corr_matrix[0, 1]
corr
⚠️ Les deux tableaux doivent avoir la même taille.
Interprétation :
- corr proche de 1 → forte corrélation positive
- corr proche de -1 → corrélation négative
- corr proche de 0 → pas de relation linéaire
👉 La corrélation permet d’identifier des relations exploitables.
Mais attention : corrélation ≠ causalité.
⚠️ Erreurs fréquentes en analyse de données
Même avec de bons outils, certaines erreurs sont courantes :
- Se baser uniquement sur la moyenne
- Ignorer les valeurs manquantes
- Supprimer des outliers sans analyse
- Ne pas vérifier la distribution
- Tirer des conclusions sans contexte métier
Un bon analyste ne calcule pas seulement.
Il réfléchit.
Pourquoi NumPy suffit déjà pour beaucoup d’analyses
Avant Pandas, avant les frameworks lourds, NumPy permet déjà :
- des calculs vectorisés ultra-rapides
- des statistiques fiables
- une grande clarté mathématique
- des performances proches du C
Maîtriser NumPy, c’est comprendre les fondations de toute la data science.
Tu travailles déjà comme un professionnel
Si tu sais :
- explorer un dataset
- nettoyer les données
- analyser la dispersion
- détecter des anomalies
- comparer des ensembles
- interpréter une corrélation
Alors tu fais exactement ce que font les data analysts en entreprise.
Ce n’est plus de la théorie.
C’est de la pratique concrète.
QCM
Pourquoi l’Analyse statistique est-elle essentielle avant le machine learning ?
A) Parce qu’ il permet de comprendre la structure des données
B) Parce qu’il remplace les modèles
C) Parce qu’il évite toute erreur
✅ Bonne réponse : A
Quel indicateur est central en Analyse statistique pour mesurer la tendance centrale ?
A) L’Analyse statistique utilise uniquement le maximum
B) L’Analyse statistique repose sur la moyenne et la médiane
C) L’Analyse statistique ignore les valeurs centrales
✅ Bonne réponse : B
En Analyse statistique, pourquoi utiliser la médiane ?
A) pour éviter les valeurs extrêmes
B) pour supprimer les données
C) pour remplacer la moyenne
✅ Bonne réponse : A
Quel est le rôle de l’écart-type en Analyse statistique ?
A) pour mesurer la dispersion
B) L’Analyse statistique mesure seulement la somme
C) L’Analyse statistique ignore la variabilité
✅ Bonne réponse : A
Pourquoi détecter les outliers en Analyse statistique ?
A) L’Analyse statistique ne tient pas compte des erreurs
B) L’Analyse statistique supprime toujours les données
C) pour améliorer l’interprétation
✅ Bonne réponse : C
Quel est l’objectif de la normalisation en Analyse statistique ?
A) L’Analyse statistique normalise pour faciliter les modèles
B) L’Analyse statistique supprime la variance
C) L’Analyse statistique remplace les données
✅ Bonne réponse : A
Que permet la corrélation en Analyse statistique ?
A) L’Analyse statistique permet d’identifier des relations entre variables
B) L’Analyse statistique garantit une causalité
C) L’Analyse statistique remplace l’exploration
✅ Bonne réponse : A
Conclusion
L’analyse de données réelles n’est pas une option : c’est le cœur du métier.
Avant tout modèle de machine learning, avant toute visualisation avancée, il faut :
- comprendre
- nettoyer
- structurer
- analyser
- interpréter
Avec NumPy, tu sais maintenant transformer des tableaux en insights exploitables.
Dans le prochain article, nous passerons au niveau supérieur :
- vectorisation avancée
- optimisation mémoire
- calculs haute performance
- exploitation maximale du CPU
👉 Prépare-toi à transformer ton Python en moteur de calcul ultra-rapide.
Le vrai niveau expert commence maintenant.
