Вычислить кумулятивную функцию распределения в Python

Najwa Riyaz 30 Январь 2023 9 Июль 2021
  1. Используйте numpy.arange() для вычисления CDF в Python
  2. Используйте numpy.linspace() для вычисления CDF в Python
Вычислить кумулятивную функцию распределения в Python

Термин кумулятивная функция распределения или CDF - это функция y=f(x), где y представляет собой вероятность целого числа x или любого числа ниже x, случайным образом выбранных из распределения.

Он рассчитывается на Python с использованием следующих функций из библиотеки NumPy.

  1. Функция numpy.arange(), которая возвращает ndarray равномерно распределенных значений.
  2. Функция numpy.linspace(), которая возвращает ndarray равномерно распределенных значений в заданном интервале.

Используйте numpy.arange() для вычисления CDF в Python

Стандартная библиотека NumPy содержит функцию arange(), используемую для определения CDF в Python.

Для этого сначала импортируйте библиотеку NumPy.

Функция arange() возвращает ndarray равномерно распределенных значений.

Ниже приведен пример, демонстрирующий реализацию функции CDF с использованием функции numpy.arange() в 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. * 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')

Здесь функция randn() используется для возврата выборок данных с использованием стандартного нормального распределения. Поскольку упоминается randn(5), 1Darray строится из 5 случайных значений.

Далее данные сортируются с помощью функции sort(), после чего функция arange() используется для вычисления CDF.

Выход :

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

График отображается в соответствии с функцией CDF как.

Python cdf

Используйте numpy.linspace() для вычисления CDF в Python

Стандартная библиотека NumPy содержит функцию linspace(), используемую для определения CDF в Python. Для этого сначала импортируйте библиотеку NumPy.

Функция linspace() возвращает ndarray равномерно распределенных чисел в указанном интервале.

Вот пример, демонстрирующий реализацию функции CDF с использованием numpy.linspace() в 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')

Здесь функция randn() используется для возврата выборок данных с использованием стандартного нормального распределения. Далее данные сортируются с помощью функции sort(), после чего функция arange() используется для вычисления CDF.

Выход:

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

График отображается в соответствии с функцией CDF, как показано ниже.

Python cdf 2

Сопутствующая статья - Python Math