首页 > 解决方案 > D 函数返回零

问题描述

我试图区分多元正态分布的对数似然函数,

NLLmvnorm <- function(data, mu, sigma) {
  a <- qr(sigma)
  logdet <- sum(log(abs(diag(a$qr))))
  sigma.inv <- fast.ginv(sigma)
  -0.5 * (logdet + t(data-mu) %*% sigma.inv %*% (data-mu))
}

使用D,我区分musigma并将每个结果存储在一个单独的变量中:

du <- D(expression(NLLmvnorm),"mu")
ds <- D(expression(NLLmvnorm),"sigma")

但是,这两个结果都返回0。我做错了什么,还是我误解了什么D?如果有帮助,我的目标duds使用solve.

标签: rmaximizelog-likelihood

解决方案


推荐阅读