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


35

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

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

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

log⁡PN(θ)=log⁡PN−12(θ−θ^)TΣ−1(θ−θ^).

θ^=μ

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

Σ−1=−∂2∂θ2log⁡p(θ^|y),

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

log⁡P(θ|y)=−k2log⁡2π−12log⁡|Σ|−12(θ−θ^)TΣ−1(θ−θ^)

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

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


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

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

ฉันเพิ่งอธิบายให้ชัดเจนเกี่ยวกับเครื่องหมายลบเพราะอนุพันธ์อันดับสองเชิงลบคือข้อมูลการสังเกตซึ่งมักเป็นที่สนใจ นอกจากนี้จากการคำนวณของฉันเองฉันก็พบว่า∂2∂θ2log⁡p(θ|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−(Σ−1∘I)

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

∂trace(Σ−1xx⊤)∂Σ=−2Σ−1xx⊤Σ−1+(Σ−1xx⊤Σ−1∘I)

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

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

∂L∂Σ=−∂∂Σ12(Dlog⁡|2π|+log⁡|Σ|+x⊤Σ−1x))=−∂∂Σ12(log⁡|Σ|+trace(Σ−1xx⊤))=−12(2Σ−1−(Σ−1∘I)−2Σ−1xx⊤Σ−1+(Σ−1xx⊤Σ−1∘I))

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

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


0

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

∂L∂Σ=−12(Σ−1−Σ−1(y−μ)(y−μ)′Σ−1)=A
B=2A−diag(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.