Calcola la funzione di distribuzione cumulativa in Python
-
Usa
numpy.arange()
per calcolare il CDF in Python -
Usa
numpy.linspace()
per calcolare il CDF 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
.
- Funzione
numpy.arange()
che restituisce unndarray
di valori equidistanti. - Funzione
numpy.linspace()
che restituisce unndarray
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.
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.