With the help of sympy.stats.NegativeMultinomial() method, we can create a discrete random variable with Negative Multinomial Distribution.
Syntax: sympy.stats.NegativeMultinomial(syms, k, p) Parameters: syms: the symbol k: number of failures before the experiment is stopped, a positive integer p: event probabilites, p>= 0 and p<= 1 Returns: a discrete random variable with Negative Multinomial Distribution.
Example #1 :
Python3
# import sympy, NegativeMultinomia, density, symbols from sympy.stats import density from sympy.stats.joint_rv_types import NegativeMultinomial from sympy import symbols, pprint p1, p2, p3 = symbols( 'p1, p2, p3' , positive = True ) x1, x2, x3 = symbols( 'x1, x2, x3' , nonnegative = True , integer = True ) # using sympy.stats.NegativeMultinomial() method N = NegativeMultinomial( 'N' , 3 , p1, p2, p3) negMulti = density(N)(x1, x2, x3) pprint(negMulti) |
Output :
x1 x2 x3 3 p1 *p2 *p3 *(-p1 - p2 - p3 + 1) *Gamma(x1 + x2 + x3 + 3) ----------------------------------------------------------- 2*x1!*x2!*x3!
Example #2 :
Python3
# import sympy, NegativeMultinomia, density, symbols from sympy.stats import density from sympy.stats.joint_rv_types import NegativeMultinomial from sympy import symbols, pprint x1, x2, x3 = symbols( 'x1, x2, x3' , nonnegative = True , integer = True ) # using sympy.stats.NegativeMultinomial() method N = NegativeMultinomial( 'N' , 2 , 1 / 3 , 1 / 2 ) negMulti = density(N)(x1, x2, x3) pprint(negMulti) |
Output :
-x2 -x1 2 *3 *Gamma(x1 + x2 + x3 + 2) --------------------------------- 36*x1!*x