【发布时间】:2014-03-20 06:01:03
【问题描述】:
我正在尝试使用 Sympy 0.7.4.1 评估正常随机变量函数的期望
a, mu = symbols('x mu', real=True)
sigma = symbols('sigma', positive=True)
X = Normal("X", mu, sigma)
expr1 = (sigma**2 - (X-mu)**2)
print E(expr1)
这正如预期的那样给出了 0,因为我从自身中减去了方差。现在我将expr 乘以一个常数1/a
expr2 = (sigma**2 - (X-mu)**2)/a
print E(expr2)
同样,这给出了预期的 0。
但是,如果我将 expr 乘以因子 1/(a-1),
expr3 = (sigma**2 - (X-mu)**2)/(a-1)
print E(expr3)
Sympy 返回一个未计算的积分而不是 0。
Integral(sqrt(2)*(sigma**2 - (X - mu)**2)*exp(-(X -
mu)**2/(2*sigma**2))/(2*sqrt(pi)*sigma*(x - 1)), (X, -oo, oo))
既然a是一个任意常数,为什么expr2和expr3的期望值不同?
检查 Mathematica,等效
Expectation[(\[Sigma]^2 - (\[Mu] - X)^2)/(a - 1),
X \[Distributed] NormalDistribution[\[Mu], \[Sigma]]]
按预期给出 0。
【问题讨论】:
标签: python statistics sympy integral