【发布时间】:2020-10-13 07:01:34
【问题描述】:
我正在尝试使用 Mclust 对我的经验数据进行聚类。使用以下非常简单的代码时:
library(reshape2)
library(mclust)
data <- read.csv(file.choose(), header=TRUE, check.names = FALSE)
data_melt <- melt(data, value.name = "value", na.rm=TRUE)
fit <- Mclust(data$value, modelNames="E", G = 1:7)
summary(fit, parameters = TRUE)
R 给了我以下结果:
----------------------------------------------------
Gaussian finite mixture model fitted by EM algorithm
----------------------------------------------------
Mclust E (univariate, equal variance) model with 4 components:
log-likelihood n df BIC ICL
-20504.71 3258 8 -41074.13 -44326.69
Clustering table:
1 2 3 4
0 2271 896 91
Mixing probabilities:
1 2 3 4
0.2807685 0.4342499 0.2544305 0.0305511
Means:
1 2 3 4
1381.391 1381.715 1574.335 1851.667
Variances:
1 2 3 4
7466.189 7466.189 7466.189 7466.189
编辑:这里是我的数据下载https://www.file-upload.net/download-14320392/example.csv.html
我不明白为什么 Mclust 给了我一个空簇 (0),尤其是与第二个簇的平均值几乎相同。这仅在专门寻找单变量等方差模型时才会出现。使用例如 modelNames="V" 或将其保留为默认值,不会产生此问题。
这个帖子:Cluster contains no observations也有类似的问题,但是如果我理解正确的话,这似乎是由于随机生成的数据?
对于我的问题在哪里,或者我是否遗漏了任何明显的东西,我有点不知所措。 任何帮助表示赞赏!
【问题讨论】:
标签: r cluster-analysis gmm mclust