【问题标题】:Unexpected behavior of expectation method in sympy stats modulesympy stats 模块中期望方法的意外行为
【发布时间】: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是一个任意常数,为什么expr2expr3的期望值不同?

检查 Mathematica,等效

Expectation[(\[Sigma]^2 - (\[Mu] - X)^2)/(a - 1), 
             X \[Distributed] NormalDistribution[\[Mu], \[Sigma]]]

按预期给出 0。

【问题讨论】:

    标签: python statistics sympy integral


    【解决方案1】:

    我认为这是一个错误。可以https://github.com/sympy/sympy/issues/new举报吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      相关资源
      最近更新 更多