Як побудувати гамма-розподіл у python (з прикладами)


У статистиці гамма-розподіл часто використовується для моделювання ймовірностей, пов’язаних із часом очікування.

У наведених нижче прикладах показано, як використовувати функцію scipy.stats.gamma() для побудови одного або кількох гамма-розподілів у Python.

Приклад 1: Побудова гамма-розподілу

У наступному коді показано, як побудувати гамма-розподіл із параметром форми 5 і параметром масштабу 3 у Python:

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

#define x-axis values
x = np. linspace (0, 40, 100) 

#calculate pdf of Gamma distribution for each x-value
y = stats. gamma . pdf (x, a= 5 , scale= 3 )

#create plot of Gamma distribution
plt. plot (x, y)

#displayplot
plt. show ()

На осі абсцис відображаються потенційні значення, які може прийняти випадкова змінна з розподілом гамма-розподілу, а на осі у – відповідні значення PDF гамма-розподілу з параметром форми 5 і параметром масштабу 3.

Приклад 2: Побудова кількох гамма-розподілів

Наступний код показує, як побудувати кілька гамма-розподілів з різними параметрами форми та масштабу:

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

#define three Gamma distributions
x = np. linspace (0, 40, 100)
y1 = stats. gamma . pdf (x, a= 5 , scale= 3 )
y2 = stats. gamma . pdf (x, a= 2 , scale= 5 )
y3 = stats. gamma . pdf (x, a= 4 , scale= 2 )

#add lines for each distribution
plt. plot (x, y1, label= shape=5, scale=3 ')
plt. plot (x, y2, label=' shape=2, scale=5 ')
plt. plot (x, y3, label=' shape=4, scale=2 ')

#add legend
plt. legend ()

#displayplot
plt. show () 

Гамма-розподіл у Python

Зауважте, що форма гамма-розподілу може значно змінюватися залежно від параметрів форми та масштабу.

Пов’язане: Як побудувати кілька ліній у Matplotlib

Додаткові ресурси

У наступних посібниках пояснюється, як побудувати графіки інших поширених дистрибутивів у Python:

Як побудувати нормальний розподіл у Python
Як побудувати розподіл хі-квадрат у Python

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *