gammamixEM 出错...尝试不同数量的组件?在 R
Error in gammamixEM... Try different number of components? in R
我正在尝试使用以下命令(代码的一部分)将 2 分量伽马混合模型拟合到我的数据(在 运行 广义线性模型之后获得的残差值):
expr_mix_gamma <- gammamixEM(expr_glm_residuals, lambda = c(0.75,0.25), k = 2, epsilon = 1e-08, maxit = 1000, maxrestarts=20, verb = TRUE)
代码针对多个基因文件运行(循环)。它对某些文件运行良好,而对其他文件则抛出以下错误:
Error in gammamixEM(expr_glm_residuals, lambda = c(0.75, 0.25), k = 2, : Try different number of components?
我无法弄清楚发生了什么。任何人都可以对此有所了解吗?
谢谢
少数专家意见:
1) 拟合正态混合物可能很困难,有时
优化算法 (EM) 会陷入非常缓慢的收敛状态。
据推测,包中有选项可以增加最大值
放弃之前的步骤数或减少收敛标准
敏感的。前者会增加运行时间,后者会
降低最优性(可能让你离真实的更远
最佳)。所以你应该按照你的想法考虑改变这些
合适。
2) 来自 Martin Maechler,
ETH Zurich:如果是一维高斯混合的情况,也强烈推荐看CRAN
包 'nor1mix'(“1”代表“一维”)。
一段时间以来,小包装提供了另一种选择
到 EM,即直接 MLE,只需使用 optim(),其中
likelihood 使用了一种有点智能的参数化。
当然,作为EM,这个也要看起始值,
但我(有限的)经验是
nor1mix::norMixMLE()
比 EM(我
还提供 nor1mix::norMixEM() .
Apropos 'starting value': 帮助页面显示了如何使用
kmeans() "somewhat" 可靠启动;或者,我会
建议使用 cluster::pam() 开始。
对我来说,尝试第一种方法对某些基因效果更好,但对其他基因仍然失败。所以,最后,我使用 tryCatch 启动我的脚本并 运行ning,丢失一些基因的信息。
我正在尝试使用以下命令(代码的一部分)将 2 分量伽马混合模型拟合到我的数据(在 运行 广义线性模型之后获得的残差值):
expr_mix_gamma <- gammamixEM(expr_glm_residuals, lambda = c(0.75,0.25), k = 2, epsilon = 1e-08, maxit = 1000, maxrestarts=20, verb = TRUE)
代码针对多个基因文件运行(循环)。它对某些文件运行良好,而对其他文件则抛出以下错误:
Error in gammamixEM(expr_glm_residuals, lambda = c(0.75, 0.25), k = 2, : Try different number of components?
我无法弄清楚发生了什么。任何人都可以对此有所了解吗? 谢谢
少数专家意见:
1) 拟合正态混合物可能很困难,有时 优化算法 (EM) 会陷入非常缓慢的收敛状态。 据推测,包中有选项可以增加最大值 放弃之前的步骤数或减少收敛标准 敏感的。前者会增加运行时间,后者会 降低最优性(可能让你离真实的更远 最佳)。所以你应该按照你的想法考虑改变这些 合适。
2) 来自 Martin Maechler, ETH Zurich:如果是一维高斯混合的情况,也强烈推荐看CRAN 包 'nor1mix'(“1”代表“一维”)。 一段时间以来,小包装提供了另一种选择 到 EM,即直接 MLE,只需使用 optim(),其中 likelihood 使用了一种有点智能的参数化。 当然,作为EM,这个也要看起始值, 但我(有限的)经验是 nor1mix::norMixMLE() 比 EM(我 还提供 nor1mix::norMixEM() .
Apropos 'starting value': 帮助页面显示了如何使用 kmeans() "somewhat" 可靠启动;或者,我会 建议使用 cluster::pam() 开始。
对我来说,尝试第一种方法对某些基因效果更好,但对其他基因仍然失败。所以,最后,我使用 tryCatch 启动我的脚本并 运行ning,丢失一些基因的信息。