定义依赖于单个条件的两个随机变量

问题描述:

在sympy中,如何定义两个随机变量X和Y,这些随机变量取决于常见条件?例如,我如何解决如下问题:定义依赖于单个条件的两个随机变量

  • 我们扔骰子。如果它落在1上,则X = 1且Y = 0。如果它落在2上,那么X = 0和Y = 1。否则,X = Y = 0。 X,Y的协方差是多少?

如果X和Y是某个Z的函数,则创建Z并通过它定义X,Y. Piecewise有助于此:

from sympy.stats import * 
Z = Die("Z", 6) 
X = Piecewise((1, Eq(Z, 1)), (0, True)) 
Y = Piecewise((1, Eq(Z, 2)), (0, True)) 
print(covariance(X, Y)) # -1/36 

旁白:如果Y是X的函数,那么首先创建X,然后在它来定义ÿ。

from sympy.stats import Bernoulli, covariance 
X = Bernoulli("X", 1/6) 
Y = 1 - X 
print(covariance(X, Y)) 

返回-0.138888888888889。

+0

我更新了答案; SymPy现在更适合这些计算,因此不需要使用interpolating_poly的解决方法。 – FTP

+0

很高兴知道,谢谢。 –