Как рассчитать и построить нормальный CDF в Python

Как рассчитать и построить нормальный CDF в Python

Кумулятивная функция распределения ( CDF ) говорит нам о вероятности того, что случайная величина примет значение, меньшее или равное некоторому значению.

В этом руководстве объясняется, как рассчитать и построить значения для обычного CDF в Python.

Пример 1. Расчет нормальных вероятностей CDF в Python

Самый простой способ рассчитать нормальные вероятности CDF в Python — использовать функцию norm.cdf() из библиотеки SciPy .

Следующий код показывает, как вычислить вероятность того, что случайная величина примет значение меньше 1,96 при стандартном нормальном распределении:

from scipy. stats import norm

#calculate probability that random value is less than 1.96 in normal CDF
norm. cdf ( 1.96 )

0.9750021048517795

Вероятность того, что случайная величина примет значение меньше 1,96 при стандартном нормальном распределении, составляет примерно 0,975 .

Мы также можем найти вероятность того, что случайная величина примет значение больше 1,96, просто вычитая это значение из 1:

from scipy. stats import norm

#calculate probability that random value is greater than 1.96 in normal CDF
1 - norm. cdf ( 1.96 )

0.024997895148220484

Вероятность того, что случайная величина примет значение больше 1,96 при стандартном нормальном распределении, составляет примерно 0,025 .

Пример 2: Постройте нормальный CDF

Следующий код показывает, как построить обычный CDF в Python:

import matplotlib.pyplot as plt
import numpy as np
import scipy. stats as ss

#define x and y values to use for CDF
x = np.linspace (-4, 4, 1000)
y = ss. norm.cdf (x)

#plot normal CDF
plt.plot (x, y) 
обычный CDF в питоне

На оси x показаны значения случайной величины, которые соответствуют стандартному нормальному распределению, а на оси y показана вероятность того, что случайная величина примет значение, меньшее, чем значение, показанное на оси x.

Например, если мы посмотрим на x = 1,96, то увидим, что совокупная вероятность того, что x меньше 1,96, составляет примерно 0,975 .

Не стесняйтесь изменять цвета и метки осей обычного графика CDF:

import matplotlib.pyplot as plt
import numpy as np
import scipy. stats as ss

#define x and y values to use for CDF
x = np.linspace (-4, 4, 1000)
y = ss. norm.cdf (x)

#plot normal CDF
plt.plot (x, y, color='red')
plt.title('Normal CDF')
plt.xlabel('x')
plt.ylabel('CDF')

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в Python:

Как сгенерировать нормальное распределение в Python
Как построить нормальное распределение в Python

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.