借助于sympy.stats.NormalGamma()方法,我们可以创建具有多元正态伽马分布的双变量联合随机变量。

用法:

sympy.stats.NormalGamma(syms, mu, lamda, alpha, beta)

参数:

syms:the symbol, for identifying the random variable
mu:a real number, the mean of the normal distribution
lambda:a positive integer
alpha:a positive integer
beta:a positive integer

返回:

a bivariate joint random variable with multivariate Normal gamma distribution.

范例1:

Python3
# import sympy, NormalGamma, density, symbols
from sympy.stats import density, NormalGamma
from sympy import symbols, pprint
y, z = symbols('y z')
# using sympy.stats.NormalGamma() method
X = NormalGamma('X', 0, 1, 2, 3)
norGammaDist = density(X)(y, z)
pprint(norGammaDist)

输出:

2
-y *z
------
___ 3/2 -3*z 2
9*\/ 2 *z *e *e
--------------------------
____
2*\/ pi

范例2:

Python3
# import sympy, NormalGamma, density, symbols
from sympy.stats import density, NormalGamma
from sympy import symbols, pprint
y, z = symbols('y z')
# using sympy.stats.NormalGamma() method
X = NormalGamma('X', 1 / 2, 3, 4, 6)
norGammaDist = density(X)(y, z)
pprint(norGammaDist)

输出:

2
-3*z*(y - 1/2)
----------------
___ 7/2 -6*z 2
108*\/ 6 *z *e *e
--------------------------------------
____
\/ pi