Venturecxx
Venturecxx copied to clipboard
Expose analytic conditional multivariate Gaussian in primitive normal SPs
A multivariate Gaussian conditioned on values for some of its dimensions is again a multivariate Gaussian (on the remaining dimensions), with analytically known mean and covariance. We even have the code, in the GP implementation. It seems our multivariate Gaussian primitives should expose this.
Problems:
- We currently have neither syntax nor semantics for observing some but not other dimensions of a vector. Should we
- Invent such? (Pattern-matching observe, anyone?)
- Change mvn to emit a structure of refs instead of an unboxed vector of numbers, following #314? What are the performance implications of this?
- Can we invent some concept of an unboxed but incrementally constrainable vector, where the constraints need to indicate the mask of which elements are being constrained?
- The conjugate case is worse: What's the posterior distribution on parameters of a Gaussian, in the presence of observations with missing data? Is the answer known?
- The collapsed case is still worse: The predictive distribution is actually a multivariate Student T; how is that affected by being constrained on some dimensions but not others?
Potential uses for a successful solution: A DP mixture (or a Crosscat mixture!) of multivariate Gaussians handling missing data, inferring missing dimensions from partial observations, and all that goodness.
@vkmvkmvkmvkm Is this a priority? Presumably not for NIPS, since no one has asked for it; but in general? Opinions on the design?