2014-04-03 6 views
3

sympy.stats 모듈을 사용하여 표현식의 예상 값을 계산하는 데 도움을줍니다. 내 문제를 형성하는 가장 간단한에서하면 다음과 같다 :임의의 숫자 집합 정의

내가

from sympy.stats import Normal, E 
import sympy as sp 
sigma = sp.symbols('sigma', positive=True) 

x1 = Normal("x1", 0, sigma) 
x2 = Normal("x2", 0, sigma) 
print E(x1 * x2) 

Out: 0 

그러나 기대를이 개 정규 분포 확률 변수를 정의하고 계산하는 방법을 알고, 내가 어떤 X 말을 정의 할 수 있도록하고 싶습니다 N 정규 분포 확률 변수 벡터 (또는 목록). 문제는 내가 임의로 유지하려면 N이 필요합니다. 목록 등을 만들 수 없습니다.

진행 방법에 대한 제안 사항이 있습니까?

내가 이것을해야하는 이유는 내가 X의 구성 요소들에 대해 합계를 취할 것이고, 그들 중 일부는 상관되고 일부는 그렇지 않을 것이다.

답변

2

다음과 같은 것을 찾으십니까?

mu = MatrixSymbol('mu', n, 1) 
Sigma = MatrixSymbol('Sigma', n, n) 

X = Normal('X', mu, sigma) # A multivariate normal distribution 

그렇다면 현재 운이 좋지 않습니다. SymPy 통계는 현재 여러 가지 단일 변량 분포의 조합보다 더 많은 것을 지원하지 않습니다. 우리는 일반적으로 다 변수 분포를 처리하지 않습니다.

숫자를 기꺼이 들려면 관심있는 PyMC3을 찾을 수 있습니다.

+0

감사합니다. 대안으로도 도움이되지 않습니다. 나는 기다려야 할 것 같아. 아니면 손으로하지. – Greg

+2

... 또는 SymPy에 기여하십시오 :) – MRocklin

+0

좋습니다, 그건 공정한 제안입니다. 나는 오늘 저녁에 그것을 들여다 볼 것입니다 - 만약 당신이 어디에 파고 시작해야하는지에 대한 어떤 힌트가 있다면 그것은 인정 될 것입니다. – Greg