Filter löschen
Filter löschen

Why do I get different distribution parameters each run?

3 Ansichten (letzte 30 Tage)
Dear All, I have a column vector of 1000 rows, I tried to fit this data into 2_normal mixture distribution using the below code, my question is: Why do I have different parameters every time I run the code, for example the 1st run the mean were (13 and 17), the 2nd run the means became (15 and 16.5)? is there something wrong with my code?
pd = fitgmdist(data, 2);

Akzeptierte Antwort

Adam Danz
Adam Danz am 29 Apr. 2019
The default initial value starting method in fitgmdist() uses a k-means alogorithm that is not deterministic; it uses probability to jump around to different cluster centers (see step #4 in previous link). That leads to converging on slightly different centroids every time the process is run.
To ensure repeatability, record the random number generator seed prior to running the function.
rngState = rng('shuffle');
fitgmdist(...)
% to repeat the same results
rng(rngState)
fitgmdist(...))

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by