-
Hey everyone. I am building a Gaussian mixture model in which after having seen some data, it uses the Gaussians in the mixture to generate new (missing) data. After having looked at N, 5 dimensional samples, new data is supplied where only 3 of the 5 dimensions are observed.
The top part is a typical GMM, and then at the bottom I create MvNormals What I then want to do is take the Gaussians of the data that was not observed (the other 2 dimensions) and multiply with s to mix the contributions. For a 2 Gaussian mixture that would be: I have managed to create 4-vector for the MvNormals using I then think of using transition to reshape c into a 2x2 matrix and multiply it by s.
Unfortunately there is no rule to do this operation on a MvNormal and a Dirichlet.
Is there anything I can do to get this to work? Here's the full code including the synthetic data generator I use for testing |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Having looked at the problem some more, it seems I can change my approach and use a second NormalMixture for the missing data. If I split the 'trained' MvNormals of the original mixture into the 3 that I do know and the 2 that I don't like this
I can then, for each sample with missing data create two new NormalMixtures
Effectively splitting the mixture into the known part and unknown part, while using the same categorical |
Beta Was this translation helpful? Give feedback.
Having looked at the problem some more, it seems I can change my approach and use a second NormalMixture for the missing data.
If I split the 'trained' MvNormals of the original mixture into the 3 that I do know and the 2 that I don't like this
I can then, for each sample with missing data create two new NormalMixtures