假设我具有多元正态密度。我想获得第二(局部的)衍生物WRT 。不知道如何取矩阵的导数。
维基说在矩阵中逐个元素地取导数。
我正在使用拉普拉斯逼近
模式是 θ = μ。
我得到
我所做的:
因此,我将导数wrt取到,首先是有转置,其次是矩阵。所以,我被困住了。
注意:如果我的教授遇到此问题,则是指该讲座。
假设我具有多元正态密度。我想获得第二(局部的)衍生物WRT 。不知道如何取矩阵的导数。
维基说在矩阵中逐个元素地取导数。
我正在使用拉普拉斯逼近
我得到
我所做的:
因此,我将导数wrt取到,首先是有转置,其次是矩阵。所以,我被困住了。
注意:如果我的教授遇到此问题,则是指该讲座。
Answers:
在Matrix Cookbook的第二章中,对矩阵演算的内容进行了很好的回顾,它给出了许多有用的标识,这些标识可以帮助人们解决概率和统计问题,其中包括有助于区分多元高斯似然性的规则。
如果您有一个随机向量是多元正态的,且均值向量和协方差矩阵,则使用矩阵食谱中的等式(86)来找到相对于对数似然为
我将它留给您来再次区分,找到答案是。
作为“额外信用”,使用等式(57)和(61)来发现相对于的梯度为
我省略了很多步骤,但是我仅使用在矩阵食谱中找到的身份进行了推导,因此我将留给您填补空白。
我已经将这些得分方程式用于最大似然估计,所以我知道它们是正确的:)
您需要确保正确处理中的重复元素,否则您的派生词将是不正确的。例如,(141)矩阵食谱为对称以下导数Σ
并且(14)的协方差矩阵函数的微分给出
其中表示Hadmard积,为方便起见,我们定义了。X:= ÿ - μ
特别要注意的是,这与不施加对称性时不同。结果,我们有了
其中表示,和的尺寸以及的导数。是0X Ÿ μ d 日志| 2个π |
这样可确保的元素对应于。∂ 大号∂&大号
我试图通过计算验证@Macro的答案,但发现在协方差解决方案中似乎是一个小错误。他获得了 但是,看来正确的解决方案实际上是 以下R脚本提供了一个简单示例,其中为每个元素计算了有限差分。它表明乙=2甲-DIAG(甲)Σ甲乙
library(mvtnorm)
set.seed(1)
# Generate some parameters
p <- 4
mu <- rnorm(p)
Sigma <- rWishart(1, p, diag(p))[, , 1]
# Generate an observation from the distribution as a reference point
x <- rmvnorm(1, mu, Sigma)[1, ]
# Calculate the density at x
f <- dmvnorm(x, mu, Sigma)
# Choose a sufficiently small step-size
h <- .00001
# Calculate the density at x at each shifted Sigma_ij
f.shift <- matrix(NA, p, p)
for(i in 1:p) {
for(j in 1:p) {
zero.one.mat <- matrix(0, p, p)
zero.one.mat[i, j] <- 1
zero.one.mat[j, i] <- 1
Sigma.shift <- Sigma + h * zero.one.mat
f.shift[i, j] <- dmvnorm(x, mu, Sigma.shift)
}
}
# Caluclate the finite difference at each shifted Sigma_ij
fin.diff <- (f.shift - f) / h
# Calculate the solution proposed by @Macro and the true solution
A <- -1/2 * (solve(Sigma) - solve(Sigma) %*% (x - mu) %*% t(x - mu) %*% solve(Sigma))
B <- 2 * A - diag(diag(A))
# Verify that the true solution is approximately equal to the finite difference
fin.diff
A * f
B * f