จะหาอนุพันธ์ของความหนาแน่นปกติหลายตัวแปรได้อย่างไร


35

สมมติว่าฉันมีความหนาแน่นหลายตัวแปรปกติฉันต้องการที่จะได้รับที่สอง (บางส่วน) WRT อนุพันธ์\ไม่แน่ใจว่าจะหาอนุพันธ์ของเมทริกซ์ได้อย่างไรN(μ,Σ)μ

Wiki กล่าวว่านำองค์ประกอบอนุพันธ์โดยองค์ประกอบภายในเมทริกซ์

ฉันกำลังทำงานกับ Laplace ประมาณ โหมดคือ\θ = μ

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

θ^=μ

ฉันได้รับสิ่งนี้เกิดขึ้นได้อย่างไร?

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

สิ่งที่ฉันได้ทำ:

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

ดังนั้นฉันเอาอนุพันธ์ wrt มาที่ก่อนอื่นมีการแปลงที่สองคือเมทริกซ์ ดังนั้นฉันติดอยู่θ

หมายเหตุ: หากอาจารย์ของฉันพบสิ่งนี้ฉันหมายถึงการบรรยาย


1
ส่วนหนึ่งของปัญหาของคุณอาจเป็นไปได้ว่านิพจน์ของคุณสำหรับบันทึกความน่าจะเป็นมีข้อผิดพลาด - คุณมีที่คุณควรจะมี|) นอกจากนี้คุณหมายถึง ? log ( | Σ | ) Σ - 1 = - 2|Σ|log(|Σ|)Σ1=2θ2logp(θ|y)
มาโคร

ใช่คุณพูดถูก ทำไมจึงมีเครื่องหมายลบหน้าอนุพันธ์บางส่วน
user1061210

ฉันเพิ่งอธิบายให้ชัดเจนเกี่ยวกับเครื่องหมายลบเพราะอนุพันธ์อันดับสองเชิงลบคือข้อมูลการสังเกตซึ่งมักเป็นที่สนใจ นอกจากนี้จากการคำนวณของฉันเองฉันก็พบว่า2θ2logp(θ|y)=Σ1
มาโคร

ดังนั้นขั้นตอนทั่วไปสำหรับฟังก์ชั่นแยก / ต่อเนื่องคืออะไร? ใช้บันทึกการเขียนในรูปแบบการขยายตัวของเทย์เลอร์ความแตกต่างของสองครั้ง WRT \โดยทั่วไปแล้วข้อมูลฟิชเชอร์ไม่ได้เป็นความหนาแน่นจริงส่วนใหญ่ใช่ไหม? θ
user1061210

3
@user ดังที่ฉันได้ชี้ให้เห็นว่าอนุพันธ์อันดับสองของลอการิทึมต้องมีค่าลักษณะเฉพาะที่ไม่เป็นบวก ใช่มีการเชื่อมโยงระหว่างความแปรปรวนและอนุพันธ์เชิงลบส่วนที่สองเชิงลบเนื่องจากทฤษฎีการประมาณความน่าจะเป็นสูงสุดข้อมูลฟิชเชอร์และอื่น ๆ เผยให้เห็น - มาโครได้อ้างถึงก่อนหน้านี้ในความคิดเห็นเหล่านี้
whuber

คำตอบ:


66

ในบทที่ 2 ของMatrix Cookbookมีบทวิจารณ์ที่ดีเกี่ยวกับแคลคูลัสของแคลคูลัสที่ให้ข้อมูลประจำตัวที่มีประโยชน์มากมายที่ช่วยในการแก้ปัญหาที่เราอาจประสบกับความน่าจะเป็นและสถิติรวมถึงกฎที่ช่วยแยกโอกาส Gaussian หลายตัวแปร

หากคุณมีเวกเตอร์แบบสุ่มที่มีหลายตัวแปรปกติพร้อมเวกเตอร์เฉลี่ยและเมทริกซ์ความแปรปรวนร่วมให้ใช้สมการ (86) ในสมุดสูตรเมทริกซ์เพื่อค้นหาว่า โอกาสในการบันทึกเกี่ยวกับคือμ Σ L μyμΣLμ

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

ฉันจะปล่อยให้มันอยู่กับคุณเพื่อแยกความแตกต่างนี้อีกครั้งและพบว่าคำตอบจะเป็น1}Σ1

ในฐานะ "เครดิตพิเศษ" ให้ใช้สมการ (57) และ (61) เพื่อค้นหาว่าการไล่ระดับสีเทียบกับคือΣ

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

ฉันออกไปหลายขั้นตอนแล้ว แต่ฉันได้ทำสิ่งนี้มาโดยใช้ข้อมูลเฉพาะตัวที่พบในตำราอาหารเมทริกซ์ดังนั้นฉันจะทิ้งมันไว้กับคุณเพื่อเติมลงในช่องว่าง

ฉันใช้สมการคะแนนเหล่านี้สำหรับการประมาณความเป็นไปได้สูงสุดดังนั้นฉันจึงรู้ว่ามันถูกต้อง :)


4
การอ้างอิงที่ดี - จะแนะนำตัวเอง ไม่ใช่การอ้างอิงการสอนที่ดีสำหรับคนที่ไม่รู้จักพีชคณิตเมทริกซ์ ความท้าทายที่แท้จริงมาจากการทำงานจริงออก\ความเจ็บปวดที่แท้จริง Σ
ความน่าจะเป็นที่เป็นไปได้

3
อีกแหล่งที่ดีในเมทริกซ์แคลคูลัสคือ Magnus & Neudecker, amazon.com/
..

2
หมายเลขอ้างอิงของสมการมีการเปลี่ยนแปลง (อาจเป็นเพราะรุ่นใหม่) สมการอ้างอิงใหม่คือ 86
goelakash

2
ฉันอาจเป็นฐานที่นี่ แต่ฉันไม่คิดว่าสูตรนี้ถูกต้อง ฉันใช้สิ่งนี้กับตัวอย่างจริงและดูความแตกต่างอัน จำกัด ของพวกเขา ดูเหมือนว่าสูตรสำหรับให้ค่าที่ถูกต้องสำหรับรายการแนวทแยง อย่างไรก็ตามรายการนอกแนวทแยงเป็นครึ่งหนึ่งของสิ่งที่พวกเขาควรจะเป็น LΣ
jjet

5

คุณต้องตรวจสอบให้แน่ใจว่าคุณดูแลองค์ประกอบที่ซ้ำกันอย่างถูกต้องในไม่เช่นนั้นอนุพันธ์ของคุณจะไม่ถูกต้อง ตัวอย่างเช่น(141) The Matrix Cookbookให้อนุพันธ์สำหรับอนุพันธ์ต่อไปนี้ΣΣ

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

และ(14) ของความแตกต่างของฟังก์ชั่นการฝึกอบรมความแปรปรวนร่วมให้

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

ที่หมายถึงผลิตภัณฑ์ Hadmard และเพื่อความสะดวกของเราได้กำหนดไว้หมู่}x:=yμ

โดยเฉพาะอย่างยิ่งข้อความนี้ไม่เหมือนกับเมื่อสมมาตรของไม่ได้ถูกกำหนด ผลก็คือเรามีสิ่งนั้นΣ

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

ที่หมายถึงมิติของ ,และและอนุพันธ์ของคือ 0DxyμDlog|2π|

สิ่งนี้ทำให้มั่นใจได้ว่าองค์ประกอบของสอดคล้องกับ{IJ}}i,jthLΣLΣij


0

ฉันพยายามตรวจสอบยืนยันคำตอบของ @ Macro แต่พบสิ่งที่ดูเหมือนว่าจะเป็นข้อผิดพลาดเล็กน้อยในโซลูชันความแปรปรวนร่วม เขาได้รับ อย่างไรก็ตามปรากฏว่าโซลูชันที่ถูกต้องเป็นจริง สคริปต์ R ต่อไปนี้ให้เป็นตัวอย่างที่ง่ายในการที่แตกต่างกันแน่นอนจะถูกคำนวณสำหรับองค์ประกอบของแต่ละSigma} มันแสดงให้เห็นว่าB=2A-diag(A)Σ

LΣ=12(Σ1Σ1(yμ)(yμ)Σ1)=A
B=2Adiag(A)
ΣBAให้คำตอบที่ถูกต้องเฉพาะสำหรับองค์ประกอบในแนวทแยงในขณะที่ถูกต้องสำหรับทุกรายการB
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

ขอบคุณสำหรับความคิดเห็นของคุณ. ผมเชื่อว่าคุณตีความสัญกรณ์ที่แตกต่างกว่าคนอื่น ๆ ได้เพราะคุณพร้อมกันเปลี่ยนคู่ขององค์ประกอบการจับคู่นอกเส้นทแยงมุมของจึงเป็นสองเท่าของผลกระทบของการเปลี่ยนแปลง ผลที่ตามมาคือคุณกำลังคำนวณอนุพันธ์หลายทิศทาง ดูเหมือนว่าจะมีปัญหาเล็กน้อยกับการแก้ปัญหาของมาโครตราบเท่าที่การถ่ายโอนควรจะทำ แต่สิ่งนี้จะไม่เปลี่ยนแปลงอะไรเลยในแอพพลิเคชั่นกับเมทริกซ์สมมาตร Σ
whuber
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.