Calculer la fonction de distribution cumulative en Python

Najwa Riyaz 30 janvier 2023
  1. Utilisez numpy.arange() pour calculer le CDF en Python
  2. Utilisez numpy.linspace() pour calculer le CDF en Python
Calculer la fonction de distribution cumulative en Python

Le terme fonction de distribution cumulative ou CDF est une fonction y=f(x), où y représente la probabilité que l’entier x ou tout nombre inférieur à x soit sélectionné au hasard dans une distribution.

Il est calculé en Python en utilisant les fonctions suivantes de la bibliothèque NumPy.

  1. Fonction numpy.arange() qui renvoie un ndarray de valeurs régulièrement espacées.
  2. Fonction numpy.linspace() qui renvoie un ndarray de valeurs régulièrement espacées dans un intervalle donné.

Utilisez numpy.arange() pour calculer le CDF en Python

La bibliothèque standard NumPy contient la fonction arange() utilisée pour déterminer le CDF en Python.

Pour cela, importez d’abord la bibliothèque NumPy.

La fonction arange() renvoie un ndarray de valeurs régulièrement espacées.

Vous trouverez ci-dessous un exemple qui illustre l’implémentation de la fonction CDF à l’aide de la fonction numpy.arange() en Python.

import matplotlib.pyplot as plt
import numpy

data = numpy.random.randn(5)
print("The data is-", data)
sorted_random_data = numpy.sort(data)
p = 1.0 * numpy.arange(len(sorted_random_data)) / float(len(sorted_random_data) - 1)
print("The CDF result is-", p)

fig = plt.figure()
fig.suptitle("CDF of data points")
ax2 = fig.add_subplot(111)
ax2.plot(sorted_random_data, p)
ax2.set_xlabel("sorted_random_data")
ax2.set_ylabel("p")

Ici, la fonction randn() est utilisée pour renvoyer des échantillons de données en utilisant la distribution normale standard. Puisque randn(5) est mentionné, un 1Darray est construit avec 5 valeurs aléatoires.

Ensuite, les données sont triées à l’aide de la fonction sort(), après quoi la fonction arange() est utilisée pour calculer le CDF.

Production :

The data is- [ 0.14213322 -1.28760908  0.94533922  0.82004319  1.08232731]
The CDF result is- [0.   0.25 0.5  0.75 1.  ]

Le graphique est affiché selon la fonction CDF comme.

python cdf

Utilisez numpy.linspace() pour calculer le CDF en Python

La bibliothèque standard NumPy contient la fonction linspace() utilisée pour déterminer le CDF en Python. Pour cela, importez d’abord la bibliothèque NumPy.

La fonction linspace() renvoie un ndarray de nombres régulièrement espacés sur un intervalle spécifié.

Voici un exemple qui illustre l’implémentation de la fonction CDF en utilisant numpy.linspace() en Python.

import matplotlib.pyplot as plt
import numpy as np

data = np.random.randn(5)
print("The data is-", data)
sorted_random_data = np.sort(data)
np.linspace(0, 1, len(data), endpoint=False)

print("The CDF result using linspace =\n", p)

fig = plt.figure()
fig.suptitle("CDF of data points")
ax2 = fig.add_subplot(111)
ax2.plot(sorted_random_data, p)
ax2.set_xlabel("sorted_random_data")
ax2.set_ylabel("p")

Ici, la fonction randn() est utilisée pour renvoyer des échantillons de données en utilisant la distribution normale standard. Ensuite, les données sont triées à l’aide de la fonction sort(), après quoi la fonction arange() est utilisée pour calculer le CDF.

Production:

The data is- [-0.92106668 -0.05998132  0.02102705 -0.84778184  0.90815869]
The CDF result using linspace =
 [0.   0.25 0.5  0.75 1.  ]

Le graphique est affiché selon la fonction CDF comme ci-dessous.

python cdf 2

Article connexe - Python Math