Calcule a função de distribuição cumulativa em Python

Najwa Riyaz 30 janeiro 2023
  1. Use numpy.arange() para calcular o CDF em Python
  2. Use numpy.linspace() para calcular o CDF em Python
Calcule a função de distribuição cumulativa em Python

O termo função de distribuição cumulativa ou CDF é uma função y=f(x), onde y representa a probabilidade do inteiro x, ou qualquer número inferior a x, ser selecionado aleatoriamente a partir de uma distribuição.

É calculado em Python usando as seguintes funções da biblioteca NumPy.

  1. Função numpy.arange() que retorna um ndarray de valores uniformemente espaçados.
  2. Função numpy.linspace() que retorna um ndarray de valores uniformemente espaçados dentro de um determinado intervalo.

Use numpy.arange() para calcular o CDF em Python

A biblioteca padrão NumPy contém a função arange() usada para determinar o CDF em Python.

Para isso, importe primeiro a biblioteca NumPy.

A função arange() retorna um ndarray de valores uniformemente espaçados.

Abaixo está um exemplo que demonstra a implementação da função CDF usando a função numpy.arange() em 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")

Aqui, a função randn() é usada para retornar amostras de dados usando a distribuição normal padrão. Visto que randn(5) é mencionado, um 1Darray é construído com 5 valores aleatórios.

Em seguida, os dados são classificados usando a função sort(), após a qual a função arange() é usada para calcular o CDF.

Resultado :

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

O gráfico é exibido de acordo com a função CDF como.

python cdf

Use numpy.linspace() para calcular o CDF em Python

A biblioteca padrão NumPy contém a função linspace() usada para determinar o CDF em Python. Para isso, primeiro importe a biblioteca NumPy.

A função linspace() retorna um ndarray de números uniformemente espaçados em um intervalo especificado.

Aqui está um exemplo que demonstra a implementação da função CDF usando numpy.linspace() em 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")

Aqui, a função randn() é usada para retornar amostras de dados usando a distribuição normal padrão. Em seguida, os dados são classificados usando a função sort(), após a qual a função arange() é usada para calcular o CDF.

Resultado:

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

O gráfico é exibido de acordo com a função CDF conforme abaixo.

python cdf 2

Artigo relacionado - Python Math