定义依赖于单个条件的两个随机变量
问题描述:
在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。
我更新了答案; SymPy现在更适合这些计算,因此不需要使用interpolating_poly的解决方法。 – FTP
很高兴知道,谢谢。 –