Як взяти похідне багатоваріантної нормальної щільності?


35

Скажімо, у мене багатофакторна нормальна щільність N(μ,Σ) . Я хочу отримати другу (часткову) похідну wrt . Не знаєте, як взяти похідне від матриці.μ

Wiki каже, що приймайте похідний елемент за елементом всередині матриці.

Я працюю з наближенням Лапласа Режим - .Θ = μ

logPN(θ)=logPN12(θθ^)TΣ1(θθ^).

θ^=μ

Мені дали як це сталося?

Σ1=2θ2logp(θ^|y),

Що я зробив:

logP(θ|y)=k2log2π12log|Σ|12(θθ^)TΣ1(θθ^)

Отже, я беру похідну wrt до , по-перше, є транспозиція, по-друге, це матриця. Отже, я застряг.θ

Примітка: Якщо мій професор натрапив на це, я маю на увазі лекцію.


1
Частина вашої проблеми може полягати в тому, що у вашому вираженні для ймовірності виникнення помилок є помилка - у вас |Σ|де ви повинні мати log(|Σ|) . Також випадково ви мали на увазі ? Σ1=2θ2logp(θ|y)
Макро

Так, ти маєш рацію, вибач. Чому перед частковою похідною виникає негативний знак?
користувач1061210

Я тільки роз'яснював про негативний знак, тому що, негативна друга похідна - це спостережувана інформація про рибалки, яка зазвичай представляє інтерес. Також за власним розрахунком я вважаю, що 2θ2logp(θ|y)=Σ1
Макрос

Отже, яка загальна процедура дискретної / безперервної функції? Візьміть журнал, запишіть у форму розширення Тейлора, диференціюйте двічі wrt . Інформація про Фішера, як правило, не відповідає більшості інших густин, правда? θ
користувач1061210

3
@user Як я зазначив, друга похідна логарифму повинна мати непозитивні власні значення. Так, існують зв’язки між дисперсіями та негативними другими частковими похідними, як виявляє теорія максимальної ймовірності, інформація про Фішера тощо - Макрос згадував про це раніше в цих коментарях.
whuber

Відповіді:


66

У главі 2 Матричної кулінарної книги» є хороший огляд матеріалів матричного обчислення, який дає безліч корисних ідентифікацій, які допомагають у вирішенні проблем, пов'язаних з можливістю і статистикою, включаючи правила, що допомагають диференціювати багатоваріантну ймовірність Гаусса.

Якщо у вас є випадковий вектор який є багатоваріантним нормальним із середнім вектором μ та матрицею коваріації Σ , то використовуйте рівняння (86) у матричній кулінарній книзі, щоб виявити, що градієнт вірогідності журналу L відносно μ дорівнюєyμΣLμ

Lμ=12((yμ)Σ1(yμ)μ)=12(2Σ1(yμ))=Σ1(yμ)

Я залишу це вам ще раз розрізнити це питання і знайти відповідь .Σ1

В якості «додаткового кредиту», рівняння використання (57) і (61) , щоб знайти , що градієнт щодо єΣ

LΣ=12(log(|Σ|)Σ+(yμ)Σ1(yμ)Σ)=12(Σ1Σ1(yμ)(yμ)Σ1)

Я залишив безліч кроків, але я здійснив це виведення, використовуючи лише ідентичності, знайдені в кулінарній книзі матриці, тому я залишу це вам, щоб заповнити прогалини.

Я використовував ці рівняння балів для оцінки максимальної вірогідності, тому я знаю, що вони правильні :)


4
Great reference - was going to recommend it myself. Not a good pedagogical reference for someone who doesn't know matrix algebra though. The real challenge comes from actually working out Σ. A real pain.
probabilityislogic

3
Another good source on matrix calculus is Magnus & Neudecker, amazon.com/…
StasK

2
The equation's reference number has been changed (maybe due to a new edition). The new reference equation is 86.
goelakash

2
I could be off-base here but I don't think this formula is correct. I've been using this with real examples and looking at their finite differences. It seems that the formula for LΣ gives the correct values for the diagonal entries. However, the off-diagonal entries are half of what they should be.
jjet

5

You need to make sure you properly take care of the repeated elements in Σ, otherwise you're derivatives will be incorrect. For example, (141) the Matrix Cookbook gives for a symmetric Σ the following derivatives

log|Σ|Σ=2Σ1(Σ1I)

And (14) of Differentiation of functions of covariance matrices gives

trace(Σ1xx)Σ=2Σ1xxΣ1+(Σ1xxΣ1I)

where denotes the Hadmard product and for convenience we have defined x:=yμ.

Note in particular this is not the same as when symmetricity of Σ is not imposed. As a result we have that

LΣ=Σ12(Dlog|2π|+log|Σ|+xΣ1x))=Σ12(log|Σ|+trace(Σ1xx))=12(2Σ1(Σ1I)2Σ1xxΣ1+(Σ1xxΣ1I))

where D denotes the dimension of x, y and μ and the derivative of Dlog|2π| is 0

This ensures the i,jth element of LΣ corresponds to LΣij.


0

I tried to computationally verify @Macro's answer but found what appears to be a minor error in the covariance solution. He obtained

LΣ=12(Σ1Σ1(yμ)(yμ)Σ1)=A
However, it appears that the correct solution is actually
B=2Adiag(A)
The following R script provides a simple example in which the finite difference is calculated for each element of Σ. It demonstrates that A provides the correct answer only for diagonal elements while B is correct for every entry.
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

Thank you for your comment. I believe you interpret the notation differently than everyone else has, because you simultaneously change pairs of matching off-diagonal elements of Σ, thereby doubling the effect of the change. In effect you are computing a multiple of a directional derivative. There does appear to be a small problem with Macro's solution insofar as a transpose ought to be taken--but that would change nothing in the application to symmetric matrices.
whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.