Я пытаюсь оценить ставки из стохастической модели Petri Net. Я не понимаю, почему, но я получаю ошибку ZeroProbability, даже когда составляю данные данных, чтобы точно соответствовать ожидаемому числу наблюдений, учитывая начальные значения, которые я определяю для ставок.PyMC: Получение нулевого или близкого к нулю категориального правдоподобия
Например, следующие ставки [0,01, 2, 10, 1] соответствуют вероятности трех разных результатов [0,33, 0,66, 0,01]. Если бы я наблюдал, 100 результатов, я бы ожидал заметить, что [33, 66, 1] попадают в каждый из результатов.
Но если я запускаю следующую модель, я получаю ошибку ZeroProbability (я упрощая функцию Проб, который подключается к гораздо большей части кода):
data=[33,66,1]
rates=pymc.Uniform('rates',0,100,size=4,value=[0.01,2,10,1])
@pymc.deterministic
def prob(rates=rates):
return np.array([0.33,0.66,0.01])
likelihood=pymc.Categorical('likelihood',p=prob,value=data,observed=True)
Вызов pymc.categorical_like (данные , prob.value) возвращает -1.8 e308 ...
Что мне не хватает?
Я уверен, что мультиномиальный лучше для моего случая. Но я не совсем уверен, в каких случаях категориальное распределение лучше ... – Delphine
Категориальное было бы уместно для ситуаций, когда, например, вы пытаетесь присвоить ярлык из набора неупорядоченных меток вероятностно элементу. Если есть k меток, то образец из категориального значения будет давать значения в '{0,1, ..., k-1}'. –