Як обчислити та побудувати нормальний 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) #normal plot CDF plt. plot (x, y)
На осі абсцис відображаються значення випадкової величини, яка відповідає стандартному нормальному розподілу, а на осі у – ймовірність того, що випадкова змінна приймає значення, менше значення, показаного на осі абсцис.
Наприклад, якщо ми подивимося на 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) #normal plot CDF plt. plot (x,y,color=' red ') plt. title (' Normal CDF ') plt. xlabel (' x ') plt. ylabel (' CDF ')
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в Python:
Як створити нормальний розподіл у Python
Як побудувати нормальний розподіл у Python