доступ к значению случайной величины в PyMC3

В PyMC2 есть методы random() и value() для генерации случайного значения и получения текущего значения случайных переменных. Есть ли способ сделать то же самое в PyMC3?

p = pm.Dirichlet('p', theta=np.array([1., 1., 1.]))
p.random()
p.value

person ahmethungari    schedule 17.07.2015    source источник


Ответы (1)


Еще не совсем, но вот почти готовый пиар: https://github.com/pymc-devs/pymc3/pull/784

Настоящего .value нет, так как теперь мы храним состояние вне RV.

person twiecki    schedule 26.07.2015
comment
Причина, по которой я спрашиваю, в основном для отладки. Когда я определяю распределение, я хочу увидеть, какие значения оно генерирует, не запуская всю симуляцию. Любая идея о том, как это сделать? - person ahmethungari; 27.07.2015
comment
Новый метод random() должен дать вам это, не так ли? Или вы просто хотите оценить PDF? - person twiecki; 29.07.2015
comment
Да, должен, но, как сказал Твики, он не готов. Я подумал, что могут быть какие-то другие обходные пути, пока мы ждем, пока он будет готов. - person ahmethungari; 30.07.2015
comment
Вы можете построить PDF. Что-то вроде np.exp([dist.logp(val) для val в np.linspace(-3, 3, 100)]) - person twiecki; 31.07.2015
comment
@twiecki, есть ли способ сделать это (p.value) сейчас? - person Shobhit; 10.04.2016
comment
Нет, но теперь есть .random(). Теперь мы храним состояние (то есть значение) вне модели, а не прикрепляем его к RV. Что ты пытаешься сделать? - person twiecki; 11.04.2016