高斯混合模型的组件数?

机器算法验证 r 高斯混合分布 混合分布 比克 有限混合模型
2022-04-14 10:53:33

我有一个数值向量。我的假设是这个向量是从两个高斯分布(即 k = 2)中提取的混合物。但是,我的数据可能只有一个高斯分布 (k = 1)。我试图以数据驱动的方式回答这个问题,但不知道最好的方法?

我的想法是通过计算每种方法的 BIC 或 AIC 来比较这两种方法,然后执行对数似然检验。

  1. 在计算 BIC 时,我是否应该将 k 作为估计的参数之一(即 {mu1, sd1, mu2, sd2, k} vs {mu1, sd1, k} 分别用于 2-component 和 1-component 模型)

  2. 我在 R 中使用 mixtools 包,而 normalmixEM() 函数似乎不允许拟合 1 分量高斯(即,如果我使用 k = 1,我会得到一个错误arbmean and arbvar cannot both be FALSE

  3. 如果使用带有 AIC/BIC 的 LR 不合适,是否有更合适的解决方案来解决这个问题?

编辑:我在这里找到了一个有点启发性的例子这种方法使用 mclust 包来拟合 1 vs 2 分量高斯混合,并使用模型对数似然来执行似然比检验。

1个回答

另一种策略是测试正态性。如果您的数据来自单个高斯,您应该无法拒绝原假设。相反,如果你得到一个统计上显着的 p 值来拒绝原假设,那么你就知道 k > 1。通过执行 PCA 并分别测试每个主成分,这个策略可以很容易地推广到多变量情况。

由于您正在使用 R,因此我建议您查看该nortest软件包。