如何绘制多元正态分布的对数似然函数

时间:2019-05-16 14:47:18

标签: r plot

我具有mvn正态分布的对数似然函数:(最初是NLL,但出于制图目的而更改)

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 <- -0.5 * logdet - 0.5 * (t(data - mu) %*% sigma.inv %*% (data - mu) - (length(data) / 2) * log(2 * pi)) 

鉴于我的数据,我正在尝试为此功能找到MLE,但是optimx给了我一些怪异的值,所以我想看看图表上是否有任何奇数点。

p <- 0.5
k <- 50
b <- 1
data <- dataset[1,]

mu <- k * exp(-b * (1-density)) * (p * colSums(hadza_LHbones) + (1 - p) * colSums(hadza_LKbones))
sigma <- k * diag(exp(-b * (1-density))) %*% (p* crossprod(as.matrix(hadza_LHbones)) + (1 - p) *crossprod(as.matrix(hadza_LKbones))) %*% diag(exp(-b * (1-density)))
plot(data,NLLmvnorm(data,mu,sigma))

这样做,我得到一个错误,指出x和y的长度不同,这显然是有道理的,因为NLL仅在data是多维的情况下才吐出一个值,因此我需要构造一个长度与{ {1}},但我不确定如何执行此操作,甚至不确定是否正确的操作方法。会有一种更好的方法来绘制ll来检测异常吗?

其他信息(第一个是data):

0 个答案:

没有答案