Я пытаюсь оценить ожидание функции нормальной случайной величины, используя 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, как и ожидалось.