Calcola la funzione di distribuzione cumulativa in Python

Najwa Riyaz 30 gennaio 2023
  1. Usa numpy.arange() per calcolare il CDF in Python
  2. Usa numpy.linspace() per calcolare il CDF in Python
Calcola la funzione di distribuzione cumulativa in Python

Il termine funzione di distribuzione cumulativa o CDF è una funzione y=f(x), dove y rappresenta la probabilità che l’intero x, o qualsiasi numero inferiore a x, venga selezionato casualmente da una distribuzione.

Viene calcolato in Python utilizzando le seguenti funzioni della libreria NumPy.

  1. Funzione numpy.arange() che restituisce un ndarray di valori equidistanti.
  2. Funzione numpy.linspace() che restituisce un ndarray di valori equispaziati all’interno di un dato intervallo.

Usa numpy.arange() per calcolare il CDF in Python

La libreria standard NumPy contiene la funzione arange() utilizzata per determinare il CDF in Python.

Per questo, importa prima la libreria NumPy.

La funzione arange() restituisce un ndarray di valori equidistanti.

Di seguito è riportato un esempio che dimostra l’implementazione della funzione CDF utilizzando la funzione numpy.arange() in 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")

Qui, la funzione randn() viene utilizzata per restituire campioni di dati utilizzando la distribuzione normale standard. Poiché viene menzionato randn(5), viene costruito un 1Darray con 5 valori casuali.

Successivamente, i dati vengono ordinati utilizzando la funzione sort(), dopodiché viene utilizzata la funzione arange() per calcolare il CDF.

Produzione :

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.  ]

Il grafico viene visualizzato secondo la funzione CDF come.

pitone cdf

Usa numpy.linspace() per calcolare il CDF in Python

La libreria standard NumPy contiene la funzione linspace() utilizzata per determinare il CDF in Python. Per questo, importa prima la libreria NumPy.

La funzione linspace() restituisce un ndarray di numeri equidistanti su un intervallo specificato.

Ecco un esempio che dimostra l’implementazione della funzione CDF usando numpy.linspace() in 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")

Qui, la funzione randn() viene utilizzata per restituire campioni di dati utilizzando la distribuzione normale standard. Successivamente, i dati vengono ordinati utilizzando la funzione sort(), dopodiché viene utilizzata la funzione arange() per calcolare il CDF.

Produzione:

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.  ]

Il grafico viene visualizzato secondo la funzione CDF come di seguito.

pitone cdf 2

Articolo correlato - Python Math