MCMC Geweke การวินิจฉัย


14

ฉันกำลังเรียกใช้ตัวอย่างเมือง (C ++) และต้องการใช้ตัวอย่างก่อนหน้านี้เพื่อประมาณอัตราการลู่เข้า

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

Zn=θ¯Aθ¯B1nASθA^(0)+1nBSθB^(0),

โดยที่ , Bเป็นหน้าต่างสองบานภายในเชนมาร์คอฟ ฉันได้ทำการวิจัยเกี่ยวกับ^ S A θ ( 0 )และ^ S B θ ( 0 )แต่อ่านความยุ่งเหยิงของวรรณคดีเรื่องความหนาแน่นสเปกตรัมพลังงานและความหนาแน่นสเปกตรัมพลังงานแต่ฉันไม่ใช่ผู้เชี่ยวชาญในหัวข้อเหล่านี้ ฉันต้องการคำตอบด่วน: ปริมาณเหล่านี้เหมือนกับความแปรปรวนตัวอย่างหรือไม่ ถ้าไม่เป็นสูตรในการคำนวณพวกเขาคืออะไร?ABSθA^(0)SθB^(0)

θθ(X)SθA^(0)

S


คุณอาจจะมองในความกล้าของcodaฟังก์ชั่นgeweke.diagที่จะเห็นสิ่งที่มันไม่ ...
เบน Bolker

คำตอบ:


4

คุณสามารถดูรหัสสำหรับgeweke.diagฟังก์ชันในcodaแพ็คเกจเพื่อดูวิธีคำนวณความแปรปรวนผ่านการเรียกไปยังspectrum.ar0ฟังก์ชัน


p

pλ

f(λ)=σ2(1j=1pαjexp(2πιjλ))2
αj

p0

f(0)=σ2(1j=1pαj)2

การคำนวณจะมีลักษณะดังนี้ (แทนที่ตัวประมาณปกติสำหรับพารามิเตอร์):

tsAR2 = arima.sim(list(ar = c(0.01, 0.03)), n = 1000)  # simulate an AR(2) process
ar2 = ar(tsAR2, aic = TRUE)  # estimate it with AIC complexity selection

# manual estimate of spectral density at zero
sdMan = ar2$var.pred/(1-sum(ar2$ar))^2

# coda computation of spectral density at zer0
sdCoda = coda::spectrum0.ar(tsAr2)$spec

# assert equality
all.equal(sdCoda, sdMan)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.