我有一个组成样本,我想拟合 Dirichlet 分布的有限混合。更准确地说,考虑以下示例:
library(gtools)
set.seed(1)
PROB = c(0.25, 0.15, 0.60)
ALPHA = list(
c(1,1,1),
c(2,1,1),
c(1,1,20)
)
size = 500
N = sapply(1:3, function(i, z) sum(z == i),
sample(1:3, size, prob = PROB, replace = TRUE))
X = do.call('rbind',
sapply(1:3, function(i, N)
rdirichlet(N[i], ALPHA[[i]]), N))[sample(1:size),]
X
包含从 3 部分单纯形中定义的狄利克雷分布混合生成的样本。该混合物的第一个 Dirichlet 分量具有参数 (1,1,1),第二个分量具有参数 (2,1,1),第三个分量具有参数 (1,1,20)。混合概率为 0.25、0.15、0.60。我想从示例中检索这些参数。
你如何找到这个参数?