I am attempting to describe a prior_transform for a multivariate Gaussian mixture in order to estimate the evidence integral of that prior convolved with another likelihood distribution. This is nested sampling for integration (not inference at the moment). The "why" is not so important at the moment.
Basically I need a way to transform N independent uniform distributions into a N-dimensional gaussian mixture model (for which I know all the weights, covariances, and means). This is not sampling since my samples are already drawn for me from uniform distributions.
I have a method for transforming to a single multivariate gaussian (using Cholesky Transformation) but I'm not sure how to "upgrade" that to a mixture.
The method I have at the moment is basically the same as in here
- Get N+1 independent uniform distributions (N dimensions + 1 identifier)
- Partition the range of [0, 1] based on the weights of the mixture model.
- Map those partitions to each gaussian in the mixture model.
- Choose the relevant gaussian from the first uniform distribution using the partitions.
- Transform the remaining N uniform distributions into the relevant multivariate Gaussian chosen by the partitioned using Cholesky transformation
This will generate the mixture that I want but partitioning a uniform distribution feels like the wrong thing to do when using a prior_transform
which takes continuous uniformly distributed random variables.
Is this method appropriate for nested sampling integration?
Is there a better way (continuous mapping) than this method here? (Some form of averaging technique maybe?)
Many thanks