You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言Dirichlet混合模型构建:Beta分布EM算法参数初始化求助

Dirichlet混合模型Beta分布对数似然代码问题

𝐿𝐿(𝛼,𝛽)=(𝛼−1)𝑛ln𝑥𝑖¯+(𝛽−1)𝑛ln(1−𝑥𝑖)¯+𝑛lnΓ(𝛼+𝛽)−𝑛lnΓ(𝛼)−𝑛lnΓ(𝛽)

我需要获得关于初始化参数(alpha、beta)以及设置代码中Gamma分布额外参数的帮助。

E步:计算每个样本在每个成分下的对数似然

log_like <- function(theta, X) {
  N = nrow(X)
  alpha <- theta[1]
  beta <-  theta[2]
  log_lik <- N*log(pgamma(alpha + beta) - N*log(pgamma(alpha) - N*log(pgamma(beta)) + (alpha -1)*N*log(X) + (beta - 1) *N* log(1-X)
 
 return(-log_lik)
}

### M步:
MLE_estimates <- optim(fn = log_like, 
                       par = c(1,1),
                       lower = c(-Inf, -Inf),
                       upper = c(Inf, Inf),
                       hessian = TRUE,
                       method = "L-BFGS-B",
                       # 自定义输入
                       x = vaf_trim$vaf
                       )

以下是用于拟合的数据集(由负二项分布随机生成):

  • 0.25
  • 2
  • 0.23
  • 3
  • 0.22
  • 4
  • 0.21
  • 5
  • 0.21
  • 6
  • 0.21
  • 7
  • 0.21
  • 8
  • 0.21
  • 9
  • 0.20
  • 10
  • 0.20
  • 11
  • 0.20
  • 12
  • 0.20
  • 13
  • 0.19
  • 14
  • 0.19
  • 15
  • 0.19
  • 16
  • 0.19

内容的提问来源于stack exchange,提问作者hollyjolly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 15:20:24