Calcular la función de distribución acumulativa en Python
-
Utilice
numpy.arange()
para calcular el CDF en Python -
Utilice
numpy.linspace()
para calcular el CDF en Python
El término función de distribución acumulativa o CDF
es una función y=f(x)
, donde y
representa la probabilidad de que el entero x
, o cualquier número menor que x
, sea seleccionado aleatoriamente de una distribución.
Se calcula en Python usando las siguientes funciones de la biblioteca NumPy
.
- Función
numpy.arange()
que devuelve unndarray
de valores espaciados uniformemente. - Función
numpy.linspace()
que devuelve unndarray
de valores espaciados uniformemente dentro de un intervalo dado.
Utilice numpy.arange()
para calcular el CDF en Python
La biblioteca estándar NumPy
contiene la función arange()
utilizada para determinar la CDF en Python.
Para ello, importe primero la biblioteca NumPy
.
La función arange()
devuelve un ndarray
de valores espaciados uniformemente.
A continuación se muestra un ejemplo que demuestra la implementación de la función CDF usando la función 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")
Aquí, la función randn()
se usa para devolver muestras de datos usando la distribución normal estándar. Como se menciona randn(5)
, se construye un 1Darray con 5 valores aleatorios.
A continuación, los datos se ordenan utilizando la función sort()
, después de lo cual se utiliza la función arange()
para calcular el CDF.
Producción :
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. ]
El gráfico se muestra según la función CDF como.
Utilice numpy.linspace()
para calcular el CDF en Python
La biblioteca estándar NumPy
contiene la función linspace()
utilizada para determinar la CDF en Python. Para ello, importe primero la biblioteca NumPy
.
La función linspace()
devuelve un ndarray
de números espaciados uniformemente durante un intervalo especificado.
Aquí hay un ejemplo que demuestra la implementación de la función CDF usando 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")
Aquí, la función randn()
se usa para devolver muestras de datos usando la distribución normal estándar. A continuación, los datos se ordenan utilizando la función sort()
, después de lo cual se utiliza la función arange()
para calcular el CDF.
Producción :
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. ]
El gráfico se muestra según la función CDF como se muestra a continuación.