Introduction à la distribution normale
La distribution normale, également connue sous le nom de distribution gaussienne, est une des distributions statistiques les plus couramment utilisées en sciences naturelles et sociales. Elle est caractérisée par sa forme de cloche et est définie par deux paramètres : la moyenne (µ) et l’écart type (σ).
La moyenne est la valeur centrale autour de laquelle les données sont distribuées, tandis que l’écart type mesure la dispersion des données autour de la moyenne. Dans une distribution normale, environ 68% des données se situent à ±1 écart type de la moyenne, 95% à ±2 écarts types, et 99,7% à ±3 écarts types.
La distribution normale a une importance particulière en raison du théorème central limite, qui stipule que la somme de variables aléatoires indépendantes et identiquement distribuées tend vers une distribution normale, quel que soit la forme de leur distribution originale, à condition que la moyenne et la variance soient finies.
En Python, nous pouvons travailler avec des distributions normales en utilisant des bibliothèques comme numpy
et scipy
. Ces bibliothèques fournissent des fonctions pour générer des données normalement distribuées, calculer des probabilités, et plus encore. Dans les sections suivantes, nous explorerons comment utiliser ces bibliothèques pour calculer le quantile d’une distribution normale.
Présentation de la fonction quantile
Le quantile est un concept statistique qui permet de diviser une distribution de probabilité ou un ensemble de données en parties égales. Par exemple, les quartiles divisent les données en quatre parties égales, les déciles en dix parties égales, et ainsi de suite.
Dans le contexte d’une distribution normale, le quantile est la valeur sous la courbe de la distribution à partir de laquelle une certaine proportion des valeurs se situe. Par exemple, le quantile à 0,95 (ou le 95e percentile) d’une distribution normale est la valeur sous laquelle 95% des valeurs se situent.
En Python, nous pouvons calculer le quantile d’une distribution normale en utilisant la fonction norm.ppf
de la bibliothèque scipy
. La fonction ppf
signifie « Percent Point Function », qui est simplement un autre nom pour la fonction quantile. Elle prend en entrée une probabilité (entre 0 et 1) et retourne le quantile correspondant de la distribution.
Dans la section suivante, nous explorerons comment utiliser scipy
et numpy
pour calculer le quantile d’une distribution normale en Python.
Utilisation de scipy pour travailler avec une distribution normale
La bibliothèque scipy
en Python fournit un ensemble complet de fonctions statistiques, y compris des fonctions pour travailler avec des distributions normales. En particulier, le module scipy.stats
contient la classe norm
qui représente une distribution normale.
Voici comment nous pouvons utiliser scipy
pour travailler avec une distribution normale :
-
Importation de la bibliothèque : Nous commençons par importer le module
norm
descipy.stats
.python
from scipy.stats import norm -
Création d’une distribution normale : Nous pouvons créer une distribution normale en utilisant la classe
norm
. Par défaut, cela crée une distribution normale standard (moyenne 0, écart type 1).python
dist = norm()Si nous voulons une distribution normale avec une moyenne et un écart type spécifiques, nous pouvons les passer en arguments lors de la création de la distribution.
python
dist = norm(loc=mean, scale=std_dev) -
Calcul du quantile : Nous pouvons calculer le quantile d’une distribution normale en utilisant la méthode
ppf
(Percent Point Function) de la classenorm
. Cette méthode prend une probabilité (entre 0 et 1) en entrée et retourne le quantile correspondant.python
q = dist.ppf(probability)
Dans la section suivante, nous explorerons comment utiliser numpy
pour calculer le quantile d’une distribution normale en Python.
Calcul du quantile avec numpy
La bibliothèque numpy
en Python fournit également des fonctions pour travailler avec des distributions normales, y compris le calcul des quantiles. Voici comment nous pouvons utiliser numpy
pour calculer le quantile d’une distribution normale :
-
Importation de la bibliothèque : Nous commençons par importer le module
numpy
.python
import numpy as np -
Calcul du quantile : Nous pouvons calculer le quantile d’une distribution normale en utilisant la fonction
percentile
denumpy
. Cette fonction prend en entrée un tableau de données et une probabilité (entre 0 et 100) et retourne le quantile correspondant.python
data = np.random.normal(loc=mean, scale=std_dev, size=sample_size)
q = np.percentile(data, percentile)Dans cet exemple,
np.random.normal
est utilisé pour générer un échantillon de données normalement distribuées avec une moyenne et un écart type spécifiques. Ensuite,np.percentile
est utilisé pour calculer le quantile correspondant à la probabilité donnée.
Dans la section suivante, nous explorerons des exemples pratiques de calcul de quantiles de distributions normales en Python.
Exemples pratiques
Dans cette section, nous allons explorer des exemples pratiques de calcul de quantiles de distributions normales en Python en utilisant les bibliothèques scipy
et numpy
.
Exemple avec scipy
Voici comment nous pouvons calculer le 95e percentile (ou le quantile à 0,95) d’une distribution normale standard en utilisant scipy
:
from scipy.stats import norm
# Création d'une distribution normale standard
dist = norm()
# Calcul du 95e percentile
q = dist.ppf(0.95)
print(f"Le 95e percentile de la distribution normale standard est {q}")
Exemple avec numpy
Voici comment nous pouvons calculer le 95e percentile d’un échantillon de données normalement distribuées en utilisant numpy
:
import numpy as np
# Génération d'un échantillon de données normalement distribuées
data = np.random.normal(loc=0, scale=1, size=1000)
# Calcul du 95e percentile
q = np.percentile(data, 95)
print(f"Le 95e percentile de l'échantillon de données est {q}")
Ces exemples illustrent comment nous pouvons utiliser Python pour travailler avec des distributions normales et calculer des quantiles. En maîtrisant ces techniques, vous serez bien équipé pour analyser et interpréter des données normalement distribuées dans vos projets de science des données.