Comment calculer & Tracer un CDF en Python
Vous pouvez utiliser la syntaxe de base suivante pour calculer la fonction de distribution cumulative (CDF) en Python :
#sort data x = np.sort(data) #calculate CDF values y = 1. * np.arange(len(data)) / (len(data) - 1) #plot CDF plt.plot(x, y)
Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.
Exemple 1 : CDF de distribution aléatoire
Le code suivant montre comment calculer et tracer une fonction de distribution cumulative (CDF) pour un échantillon aléatoire de données en Python :
import numpy as np import matplotlib.pyplot as plt #define random sample of data data = np.random.randn(10000) #sort data x = np.sort(data) #calculate CDF values y = 1. * np.arange(len(data)) / (len(data) - 1) #plot CDF plt.plot(x, y) plt.xlabel('x')
L’axe des x affiche les valeurs des données brutes et l’axe des y affiche les valeurs CDF correspondantes.
Exemple 2 : CDF de distribution normale
Si vous souhaitez tracer la fonction de distribution cumulative d’une distribution connue (telle que la distribution normale ), vous pouvez utiliser les fonctions suivantes de la bibliothèque SciPy :
import numpy as np
import scipy
import matplotlib.pyplot as plt
#generate data from normal distribution
data = np.random.randn(1000)
#sort data
x = np.sort(data)
#calculate CDF values
y = scipy.stats.norm.cdf(x)
#plot CDF
plt.plot(data_sorted, norm_cdf)
#plot CDF
plt.plot(x, y)
plt.xlabel('x')
Ressources additionnelles
CDF ou PDF : quelle est la différence ?
Comment créer une courbe en cloche en Python
Comment calculer les scores Z en Python