Using GMM for input points to find clusters, mean, and covariance

4 views (last 30 days)
I have this data (200 x and y values) in a file that I can read in and plot. I am following https://www.mathworks.com/help/stats/clustering-using-gaussian-mixture-models.html in order to try and determine the mean and covariance of the data. I have run this code. But, I am really lost as to how to use GMM and then determine how many clusters I may need for my data. And then after that, determine the mean and covariance of each of the clusters. It seems like it's in: https://www.mathworks.com/help/stats/clustering-using-gaussian-mixture-models.html. Can anyone offer guidance as to how I can use this code to get to my number of clusters, and the mean and covariance of the clusters?

Answers (1)

Raunak Gupta
Raunak Gupta on 13 Nov 2020
Hi,
The number of clusters is the only parameter you need to give to fitgmdist and mean and covariance matrix will be calculated based on the data that is being processed. The documentation you mentioned does slightly advance analysis around the covariance matrix being full or diagonalized. If you need analysis on you fitting, then I think following the documentation step-by-step will help.
Otherwise, if you only want to do the clustering then these two documentations will be quick to understand.
For selecting the number of clusters, you can plot the data to see how many discrete clusters visually you can depict from the data. You can change your initial estimate by +-1 to see which one gives least log-likelihood.
Hope this helps!
  1 Comment
Sunshine
Sunshine on 9 Dec 2020
Thanks for your help. Just now seeing your response. So, I didn't get a chance to try it out. I ended up going with a Python implementation.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!