Comment calculer & Tracer le CDF normal en Python



Une fonction de distribution cumulative ( CDF ) nous indique la probabilité qu’une variable aléatoire prenne une valeur inférieure ou égale à une certaine valeur.

Ce didacticiel explique comment calculer et tracer les valeurs du CDF normal en Python.

Exemple 1 : Calculer les probabilités CDF normales en Python

Le moyen le plus simple de calculer les probabilités CDF normales en Python est d’utiliser la fonction norm.cdf() de la bibliothèque SciPy .

Le code suivant montre comment calculer la probabilité qu’une variable aléatoire prenne une valeur inférieure à 1,96 dans une distribution normale standard :

from scipy.stats import norm

#calculate probability that random value is less than 1.96 in normal CDF
norm.cdf(1.96)

0.9750021048517795

La probabilité qu’une variable aléatoire prenne une valeur inférieure à 1,96 dans une distribution normale standard est d’environ 0,975 .

On peut aussi trouver la probabilité qu’une variable aléatoire prenne une valeur supérieure à 1,96 en soustrayant simplement cette valeur de 1 :

from scipy.stats import norm

#calculate probability that random value is greater than 1.96 in normal CDF
1 - norm.cdf(1.96)

0.024997895148220484

La probabilité qu’une variable aléatoire prenne une valeur supérieure à 1,96 dans une distribution normale standard est d’environ 0,025 .

Exemple 2 : tracer le CDF normal

Le code suivant montre comment tracer un CDF normal en Python :

import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as ss

#define x and y values to use for CDF
x = np.linspace(-4, 4, 1000)
y = ss.norm.cdf(x)

#plot normal CDF
plt.plot(x, y)

CDF normal en python

L’axe des x montre les valeurs d’une variable aléatoire qui suit une distribution normale standard et l’axe des y montre la probabilité qu’une variable aléatoire prenne une valeur inférieure à la valeur indiquée sur l’axe des x.

Par exemple, si nous regardons x = 1,96, nous verrons que la probabilité cumulée que x soit inférieur à 1,96 est d’environ 0,975 .

N’hésitez pas à modifier également les couleurs et les étiquettes des axes du tracé CDF normal :

import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as ss

#define x and y values to use for CDF
x = np.linspace(-4, 4, 1000)
y = ss.norm.cdf(x)

#plot normal CDF
plt.plot(x, y, color='red')
plt.title('Normal CDF')
plt.xlabel('x')
plt.ylabel('CDF')

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes en Python :

Comment générer une distribution normale en Python
Comment tracer une distribution normale en Python

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *