I am working with a multivariate normal distribution $\mathbf{x} = [x_1, x_2, \ldots, x_n] \sim \mathcal{N}(\mathbf{\mu}, \mathbf{\Sigma})$, and I need to compute the expectation $E[x_1 x_2 \cdots x_n]$ efficiently for arbitrary $n$.
What I Know:
- For small $n$, I can use Wick's theorem (or Isserlis' theorem), which decomposes the moment into sums of products of covariances $\Sigma_{ij}$ and means $\mu_i$.
- This approach, however, requires enumerating all pairings, which becomes computationally expensive as $n$ increases ($O(n!)$ in the worst case).
- Monte Carlo methods are an option, but they introduce statistical error, and I would prefer an exact algorithm if one exists.
My Question:
- Is there a known efficient algorithm (or approximation technique) to compute $E[x_1 x_2 \cdots x_n]$ in a multivariate normal distribution?
- Specifically:
- Are there matrix-based methods that avoid explicitly enumerating pairings?
- Are there dynamic programming approaches or graph-based techniques that scale better for large $n$?
- Any references to academic papers, algorithms, or implementations would be highly appreciated.
Context:
In my application, $n$ can range from small (e.g., $n = 4$) to large (e.g., $n > 50$). Computational efficiency is critical, especially for larger $n$.
Thank you for your insights!