Как я могу получить вероятность при заданном значении c x в функции плотности вероятности гамма в Python scipy? - PullRequest
1 голос
/ 23 апреля 2020

Я могу получить вероятность для x в гамма-распределении с помощью следующего в python

import numpy as np 
from scipy.stats import gamma

# Gamma distribution
print(gamma.pdf(x=2, a=2, scale=1, loc=0)) # 0.27067

Однако это требует создания нового гамма-распределения каждый раз, когда я хочу получить, вероятно, по заданному c x.

Мне нравится создавать назначенное гамма-распределение my_gamma_dist, а затем снова и снова рисовать для указанного c x значения.

import numpy as np 
from scipy.stats import gamma

my_gamma_dist = gamma.pdf(x, a=2, scale=1, loc=0)

my_gamma_dist.x = 2 # AttributeError: 'numpy.ndarray' object has no attribute 'x'
print(my_gamma_dist(x=2)) # TypeError: 'numpy.ndarray' object is not callable

I проверил документацию, но мне все еще неясно.

1 Ответ

2 голосов
/ 23 апреля 2020

Вы можете определить распределение и затем вызвать метод .pdf для значений, которые вы ищете, а именно:

from scipy.stats import gamma

g = gamma(a=2, scale=1, loc=0)

x=2
g.pdf(x)
0.2706705664732254

x=3
g.pdf(x)
0.14936120510359185

# Or pass a list of values to evaluate
g.pdf([2,3])
array([0.27067057, 0.14936121])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...