Скажите, у меня есть распределение вероятностей по 4 значениям.Индексы а = 0,1;б = 0,1;Следовательно, p (a, b) имеет 4 значения, которые составляют до 1, и лучше всего представляется в виде массива 2x2 (например, в numpy, если он у меня числовой).
Однако у меня есть символьная вероятностьраспределение, и я хочу легко вычислить маргиналы, например, p (a), определяемый как p (a) = p (a, 0) + p (a, 1).
(Это минимальный примерВ моей реальной задаче у меня есть 3 индекса a, b, c, каждый из которых принимает 4 значения, что приводит к вектору вероятности значений 4x4x4 = 64. Следовательно, автоматизация была бы хороша.)
Я видел, что у sympy есть составное распределениедля нескольких встроенных дистрибутивов, и вы можете легко рассчитать маржинальные на тех.Я не нашел ничего подобного для дискретных, конечных случайных величин.
Есть ли дискретное конечное составное распределение в sympy?В идеале что-то вроде:
density = [[p00,p01],[p10,p11]]
p = FiniteRV('a b', density)
p.marginal(a)