Sympy自定义离散随机变量

时间:2018-05-05 16:52:09

标签: python sympy

我想在sympy中有一个自定义离散随机变量。我知道sympy.stats.FiniteRV,但我相信这需要您定义概率质量函数是什么;我需要一个符号离散的房车。我不知道在sympy.stats中有什么方法可以定义这个,所以目前我正在做类似

的事情。
from sympy import Function, Symbol
x = Symbol('x')
p = Function('p_x', nargs=1)
p_x = p(x)

获取我的发行版。但是,我希望这个函数能够意识到它是一个离散的概率分布,也就是说,我希望p(x) >= 0用于所有x并且分配到总和一个。 p定义的集合是符号的,但是能够执行类似

的操作会很好
from sympy import symbols, Sum
x0, xm = symbols('x_0 x_m')
total_probability = Sum(p_x, (x, x0, xm)).doit()
assert total_probability == 1

为集合p定义{x0, ...., xm}

有没有一种方法可以将Functionsympy.stats中的某些内容创建为我在其支持集中传递的分布,然后它将正确地加到1并且对此非负设置?

奖励积分 - 有没有办法可以处理边缘化问题?即如果我有

pxy = Function('p_{x, y}', nargs=2)
py = Function('p_y', nargs=1)
y, y0, ym = symbols('y y_0 y_m')
# and somehow define the sets for these as x0, ..., xm and y0, ..., yn
Sum(pxy(x, y), (y, y0, ym)).doit() == p_x

0 个答案:

没有答案