问题标签 [mclust]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
138 浏览

r - R中的Mclust和sklearn中的高斯混合之间的区别

我正在执行高斯混合建模以在我的数据集中查找集群。首先,我使用了 sklearn 的 Gaussian Mixture 类,并了解到根据 BIC,3 个集群是最佳数量。

然后我想在 R 中仔细检查一下,如下所示:

但是,在 R 中,mclust 用 VEE 模型表示 13 个集群。差异从何而来?我尝试按照此答案min_covar=0.0000001中的说明设置 GMM ,但不再支持该文档。我的想法是它与一些微小的缩放差异或. 是否建议调整in sklearn?是否更类似于 mclust 中的 VVV 模型?covariance_typeconvariance_typecovariance_type='full'

0 投票
1 回答
51 浏览

r - 有没有办法从 R 中的 Mclust 分类图中删除点?

我正在尝试使用 R 中的 Mclust 包绘制我的数据集的 GMM。虽然绘制成功,但我不希望在最终图中显示点,而只显示椭圆。作为参考,这是我获得的情节:

GMM 图

但是,我希望结果图只有椭圆,如下所示:

GMM 所需图

我一直在查看 Mclust 绘图页面:https ://rdrr.io/cran/mclust/man/plot.Mclust.html并查看函数的参数,我发现可以添加其他图形参数. 查看绘图函数的文档,有一个名为 type = 'n' 的参数可能有助于做我想做的事情,但是当我编写它时,它会产生以下错误:

plot.default(data[, 1], data[, 2], type = "n", xlab = xlab, ylab = ylab, : 形式参数“类型”与多个实际参数匹配

作为参考,这是我用于第一个情节的代码:

我尝试用于获取下图的代码是:

对此问题的任何帮助将不胜感激。谢谢!

0 投票
1 回答
310 浏览

r - 使用 Mclust 进行聚类会导致空聚类

我正在尝试使用 Mclust 对我的经验数据进行聚类。使用以下非常简单的代码时:

R给了我以下结果:

编辑:这里我的数据下载https://www.file-upload.net/download-14320392/example.csv.html

我不明白为什么 Mclust 给了我一个空簇 (0),尤其是与第二个簇的平均值几乎相同。这仅在专门寻找单变量、等方差模型时才会出现。使用例如 modelNames="V" 或将其保留为默认值,不会产生此问题。

这个线程:集群不包含观察有一个类似的问题,但如果我理解正确,这似乎是由于随机生成的数据?

我对我的问题在哪里或者我是否遗漏了任何明显的东西一无所知。任何帮助表示赞赏!

0 投票
0 回答
27 浏览

r - Mclust (GMM) 图形太小(graohics 矩阵)

只是当我在数据集(特别是美国国家航空航天局的小行星数据集)中使用 GMM 方法时,我想知道集群的数量,但我无法理解如何自己绘制每个图形而不是在矩阵

例如在 iris 数据集https://programming.rhysshea.com/GMM_clustering/(图形矩阵)中,但我想查看每个单独的图形以了解我还能做什么。

我也想让它像例子一样,让我的电脑为每个不同集群的点设置颜色,而不是所有相同的颜色

tbh 我有点迷路了,但如果我不能正确绘制,我什至无法前进

0 投票
1 回答
212 浏览

r - 使用 ggplot2 可视化从 MClust 中提取的集群

我正在使用 mclust 分析我的数据分布(后续使用 Mclust 进行聚类会导致空簇
在这里我的数据下载https://www.file-upload.net/download-14320392/example.csv.html

首先,我评估数据中存在的集群:

现在已经确定了它们,我想用各个组件的分布覆盖总分布。为此,我尝试使用以下方法将每个值的分配提取到相应的集群:

结果,我得到以下信息: 在此处输入图像描述

它看起来有效,但是,我想知道,
a)各个分类的描述(1602、1639 和 1823)来自哪里
b)我如何将各个密度缩放为总数的一部分(例如 1823 仅贡献3258 个观测值中有 91 个值;见上文)
c)是否可以根据获得的均值 + SD 交替使用预测的正态分布?

任何帮助或建议都非常感谢!

0 投票
0 回答
77 浏览

r - 零膨胀高斯混合模型

mclust 或其他 R 包是否有任何扩展,可以对零膨胀连续数据进行建模?Mclust 无法处理膨胀的 0,请参见下面的代码。

0 投票
1 回答
69 浏览

r - BIC 的可重复性通过 R 中的 mclust 包进行潜在类分析

我正在使用 mclust 包在 R 中进行潜在类分析。我为 BIC 提供了代码以选择最佳拟合模型或最佳类数,但注意到该解决方案不可重现,因为每次重新运行相同代码时它都会给出不一致的输出。例如,如下所示,我最初运行代码,它产生了一个具有 7 个类的 VVV 模型作为最佳拟合模型。其他候选最佳拟合模型包括 VVV,6 和 EVE,8(如下所示):

在此处输入图像描述

我尝试再次运行相同的代码,它建议了不同的最佳拟合模型,即 EVE,9、EVE,8 和 EVI,9,如下所述

在此处输入图像描述

我的问题是关于如何解决这个问题以实现结果的可重复性。我非常感谢这方面的任何帮助。

0 投票
1 回答
38 浏览

r - 如何从 me.weighted() 计算单个组件和组合组件的概率密度

我正在使用 Mclust 来估计组件成员资格的概率,但“密度”不包含在 me.weighted() 的输出中。因此,我无法绘制概率密度。下面的代码很长,因为我想清楚地说明我的目的和问题,但我清楚地指出我的问题/问题出现在哪里。我的最后一段代码是我对解决方案的尝试,但它可能只会突出我对概率密度的无知。

在这个研究项目中,我的第一个目标是计算 1 龄鱼的丰度指数以供后续分析。为此,我想估计特定长度的年龄 1 鱼的比例(即年龄长度键)。可以合理地假设较小的模式主要是 1 龄鱼,而较大的模式是 2 龄以上的鱼。我的数据是鱼体长度(叉长,厘米)和丰度占总数的比例(即加权单变量)。请注意,省略了一些比例较小的外围大长度;因此,sum(dat.df$proportions) < 1。

我在这里的具体目的是说明叠加在鱼大小组成上的概率密度,它反映了两个年龄组。基本上,在最后一块 ggplot 代码中,我想将估计的成员概率换成具有概率密度的每个(红色)或任一(绿色)组件,因为它会在我的手稿中成为一个很好的、信息丰富的数字。

我已阅读相关文章(Murphy;Scrucca 等人;Mignan;R-Bloggers 等),但没有找到答案。

因此,我将非常感谢有关如何计算每个组件的概率密度以及组件组合概率密度的任何帮助。

套餐

数据

绘制数据

没有权重(即,忽略 dat.df$proportion)

拟合没有权重的混合模型

绘制概率密度

带权重(即,包括 dat.df$proportion)

使用权重改装模型

用估计的分数成员绘制数据(更新的 z)

绘制概率密度 -这是我的问题/问题出现的地方

这是我尝试的解决方案。基本上,对于每个成分(age1、age2),乘以概率并缩放到比例丰度:

0 投票
0 回答
52 浏览

r - LPA - 基于 BIC 的模型选择,具有函数prior=priorControl()

我正在尝试为潜在配置文件分析拟合模型(包:tidyLPA 和 mclust)。对于模型 VVI(方差 = 相等,协方差 = 零),当 n_profiles > 5 时,BIC 会得到很多“NA”。我发现函数“prior = priorControl()”可以解决这个问题,而且 - 确实 - 确实如此!但是现在当 n_profiles > 5 时,我的 BIC 得到了巨大的提升,这表明模型拟合更好。

有人猜到这里发生了什么吗?或者有没有人建议如何处理?任何想法表示赞赏。我希望下面的代码和附加的图表可以说明这个问题。

非常感谢!!

在此处输入图像描述 在此处 输入图像描述

0 投票
0 回答
10 浏览

mclust - 从 mclust() 模型摘要中提取 BIC 值

我使用 mclust() 对数据进行建模。我得到了摘要,我想将 BIC 发送到一个变量。我正在寻找提取此 BIC 值的命令。
有什么命令吗?

我尝试了 mymodel$parameters[["BIC"]] 它返回 NULL (我的 BIC 总结为 1600 )