คำถามติดแท็ก mcmc

มาร์คอฟเชนมอนติคาร์โล (MCMC) หมายถึงคลาสของวิธีการสร้างตัวอย่างจากการแจกแจงเป้าหมายโดยการสร้างตัวเลขสุ่มจากมาร์คอฟเชนซึ่งการกระจายแบบคงที่คือการกระจายเป้าหมาย โดยทั่วไปแล้ววิธีการ MCMC จะใช้เมื่อวิธีการเพิ่มเติมโดยตรงสำหรับการสร้างหมายเลขสุ่ม (เช่นวิธีการกลับรายการ) เป็นไปไม่ได้ วิธีแรกของ MCMC คืออัลกอริทึม Metropolis ซึ่งดัดแปลงในภายหลังเพื่ออัลกอริทึม Metropolis-Hastings


1
การสุ่มตัวอย่าง Metropolis Hastings, Gibbs, สำคัญ, และการปฏิเสธคืออะไรแตกต่างกัน?
ฉันได้พยายามเรียนรู้วิธีการ MCMC และได้พบกับการสุ่มตัวอย่าง Metropolis Hastings, Gibbs, ความสำคัญและการปฏิเสธ ในขณะที่ความแตกต่างบางอย่างเห็นได้ชัดคือวิธีการที่กิ๊บส์เป็นกรณีพิเศษของ Metropolis Hastings เมื่อเรามีเงื่อนไขแบบสมบูรณ์ แต่สิ่งอื่น ๆ นั้นชัดเจนน้อยกว่าเช่นเมื่อเราต้องการใช้ MH ในตัวอย่าง Gibbs เป็นต้นไม่มีใครมี วิธีง่ายๆในการดูจำนวนมากของความแตกต่างระหว่างแต่ละเหล่านี้หรือไม่ ขอบคุณ!

1
อนุมานความแปรปรวนเมื่อเทียบกับ MCMC: เมื่อเลือกหนึ่งมากกว่าอื่น ๆ ?
ฉันคิดว่าฉันเข้าใจความคิดทั่วไปของทั้ง VI และ MCMC รวมถึงรสชาติที่หลากหลายของ MCMC เช่นการสุ่มตัวอย่างของกิ๊บส์, Metropolis Hastings เป็นต้นบทความนี้ให้การอธิบายที่ยอดเยี่ยมของทั้งสองวิธี ฉันมีคำถามต่อไปนี้: หากฉันต้องการทำการอนุมานแบบเบย์ทำไมฉันถึงเลือกวิธีหนึ่งเหนืออีกวิธีหนึ่ง ข้อดีและข้อเสียของแต่ละวิธีคืออะไร? ฉันเข้าใจว่านี่เป็นคำถามที่ค่อนข้างกว้าง แต่ข้อมูลเชิงลึกใด ๆ จะได้รับการชื่นชมอย่างมาก

3
เหตุใดจึงมีความแตกต่างระหว่างการคำนวณช่วงความเชื่อมั่นแบบโลจิสติก 95% ด้วยตนเองและการใช้ฟังก์ชัน confint () ใน R
เรียนคุณทุกคน - ฉันสังเกตเห็นบางสิ่งแปลก ๆ ที่ไม่สามารถอธิบายได้ไหม โดยสรุป: แนวทางแบบแมนนวลเพื่อคำนวณช่วงความมั่นใจในโมเดลการถดถอยโลจิสติกและฟังก์ชัน R confint()ให้ผลลัพธ์ที่แตกต่างกัน ฉันเคยผ่านการถดถอยโลจิสติกประยุกต์ของ Hosmer & Lemeshow แล้ว (ฉบับที่ 2) ในบทที่ 3 มีตัวอย่างของการคำนวณอัตราส่วนอัตราต่อรองและช่วงความมั่นใจ 95% ด้วย R ฉันสามารถสร้างโมเดลได้อย่างง่ายดาย: Call: glm(formula = dataset$CHD ~ as.factor(dataset$dich.age), family = "binomial") Deviance Residuals: Min 1Q Median 3Q Max -1.734 -0.847 -0.847 0.709 1.549 Coefficients: Estimate Std. Error z value …
34 r  regression  logistic  confidence-interval  profile-likelihood  correlation  mcmc  error  mixture  measurement  data-augmentation  r  logistic  goodness-of-fit  r  time-series  exponential  descriptive-statistics  average  expected-value  data-visualization  anova  teaching  hypothesis-testing  multivariate-analysis  r  r  mixed-model  clustering  categorical-data  unsupervised-learning  r  logistic  anova  binomial  estimation  variance  expected-value  r  r  anova  mixed-model  multiple-comparisons  repeated-measures  project-management  r  poisson-distribution  control-chart  project-management  regression  residuals  r  distributions  data-visualization  r  unbiased-estimator  kurtosis  expected-value  regression  spss  meta-analysis  r  censoring  regression  classification  data-mining  mixture 

3
ตัวอย่างข้อผิดพลาดในอัลกอริทึม MCMC
ฉันกำลังตรวจสอบวิธีการตรวจสอบอัตโนมัติของวิธีมาร์คอฟโซ่มอนติคาร์โลและฉันต้องการตัวอย่างข้อผิดพลาดที่อาจเกิดขึ้นเมื่อสร้างหรือใช้อัลกอริทึมดังกล่าว คะแนนโบนัสหากใช้วิธีการที่ไม่ถูกต้องในเอกสารเผยแพร่ ฉันสนใจโดยเฉพาะอย่างยิ่งในกรณีที่ข้อผิดพลาดหมายความว่า chain มีการกระจายตัวที่ไม่ถูกต้องถึงแม้ว่าข้อผิดพลาดประเภทอื่น (เช่น chain ไม่ใช่ ergodic) ก็น่าสนใจเช่นกัน ตัวอย่างของข้อผิดพลาดดังกล่าวจะล้มเหลวในการส่งออกค่าเมื่อ Metropolis-Hastings ปฏิเสธการย้ายที่เสนอ
28 mcmc 



1
การคำนวณความเป็นไปได้ที่จะเกิดจากกลุ่มตัวอย่าง MCMC
นี่เป็นคำถามที่เกิดขึ้น (ดูโพสต์นี้ , โพสต์นี้และโพสต์นี้ ) แต่ฉันมีสปินที่แตกต่างกัน สมมติว่าฉันมีกลุ่มตัวอย่างจากตัวอย่าง MCMC ทั่วไป สำหรับแต่ละตัวอย่างθθ\thetaฉันรู้ค่าของการบันทึกความเป็นไปได้เข้าสู่ระบบฉ( x | θ )เข้าสู่ระบบ⁡ฉ(x|θ)\log f(\textbf{x} | \theta)และเข้าสู่ระบบก่อนเข้าสู่ระบบฉ( θ )เข้าสู่ระบบ⁡ฉ(θ)\log f(\theta) ) ถ้ามันช่วยได้ฉันก็รู้ค่าของความน่าจะเป็นของการบันทึกต่อจุดข้อมูล, เข้าสู่ระบบฉ( xผม| θ)เข้าสู่ระบบ⁡ฉ(xผม|θ)\log f(x_i | \theta) (ข้อมูลนี้ช่วยในวิธีการบางอย่างเช่น WAIC และ PSIS-LOO) ฉันต้องการที่จะได้รับ (น้ำมันดิบ) ประมาณการของโอกาสร่อแร่เพียงกับกลุ่มตัวอย่างที่ฉันมีและอาจจะไม่กี่การประเมินผลการทำงานอื่น ๆ ( แต่ไม่ rerunning เฉพาะกิจ MCMC) ก่อนอื่นมาล้างตารางกันก่อน เราทุกคนรู้ว่าตัวประมาณค่าฮาร์มอนิกเป็นตัวประมาณที่แย่ที่สุดที่เคยมีมา ไปกันเถอะ หากคุณกำลังทำตัวอย่างกิ๊บส์กับนักบวชและผู้โพสต์ในรูปแบบปิดคุณสามารถใช้วิธีการของ Chib ; แต่ฉันไม่แน่ใจว่าจะพูดคุยกันนอกเรื่องเหล่านี้ได้อย่างไร นอกจากนี้ยังมีวิธีการที่ต้องการให้คุณปรับเปลี่ยนขั้นตอนการสุ่มตัวอย่าง (เช่นผ่านทางโปสเตอร์ที่มีอารมณ์ …

1
Hamiltonian Monte Carlo กับ Sequential Monte Carlo
ฉันพยายามเข้าใจถึงข้อดีและข้อเสียรวมถึงโดเมนแอปพลิเคชันที่แตกต่างกันของโครงร่าง MCMC ทั้งสองนี้ คุณจะใช้อันไหนและทำไม? เมื่อใดที่หนึ่งอาจล้มเหลว แต่อีกอันไม่ใช่ (เช่น HMC บังคับใช้ได้ แต่ SMC ไม่และในทางกลับกัน) วิธีการหนึ่งที่ได้รับอย่างไร้เดียงสาสามารถวัดยูทิลิตี้ในวิธีหนึ่งเมื่อเทียบกับวิธีอื่น (เช่นคือโดยทั่วไปดีกว่า ) ฉันกำลังอ่านหนังสือพิมพ์ที่ยอดเยี่ยม Betancourt ใน HMC

4
ไลบรารี C ++ สำหรับการคำนวณเชิงสถิติ
ฉันมีอัลกอริทึม MCMC เฉพาะซึ่งฉันต้องการพอร์ตไปยัง C / C ++ การคำนวณราคาแพงส่วนใหญ่อยู่ใน C ผ่านทาง Cython แล้ว แต่ฉันต้องการให้มีตัวอย่างทั้งหมดเขียนด้วยภาษาที่รวบรวมเพื่อที่ฉันจะได้เขียน wrappers สำหรับ Python / R / Matlab / อะไรก็ได้ หลังจากแหย่ไปมาฉันก็เอนไปทาง C ++ ห้องสมุดที่เกี่ยวข้องสองแห่งที่ฉันรู้จักคือ Armadillo (http://arma.sourceforge.net/) และ Scythe (http://scythe.wustl.edu/) ทั้งคู่พยายามเลียนแบบบางแง่มุมของ R / Matlab เพื่อทำให้เส้นโค้งการเรียนรู้ง่ายขึ้นซึ่งฉันชอบมาก Scythe กำลังดีขึ้นเล็กน้อยกับสิ่งที่ฉันอยากทำ โดยเฉพาะอย่างยิ่ง RNG ของมันรวมถึงการกระจายจำนวนมากที่อาร์มาดิลโล่มีเพียงชุดเครื่องแบบ / ปกติซึ่งไม่สะดวก อาร์มาดิลโล่ดูเหมือนว่าจะอยู่ภายใต้การพัฒนาที่ค่อนข้างคึกคักในขณะที่ Scythe ได้เปิดตัวครั้งสุดท้ายในปี 2550 ดังนั้นสิ่งที่ฉันสงสัยคือถ้าใครมีประสบการณ์กับห้องสมุดเหล่านี้ - หรือคนอื่น …
23 mcmc  software  c++  computing 

4
อัลกอริทึมการเรียนรู้ของเครื่องหรือการเรียนรู้ลึกสามารถนำมาใช้เพื่อ“ ปรับปรุง” กระบวนการสุ่มตัวอย่างของเทคนิค MCMC ได้หรือไม่?
จากความรู้เล็กน้อยที่ฉันมีในวิธีการ MCMC (มาร์คอฟโซ่มอนติคาร์โล) ฉันเข้าใจว่าการสุ่มตัวอย่างเป็นส่วนสำคัญของเทคนิคดังกล่าว วิธีการสุ่มตัวอย่างที่ใช้กันมากที่สุดคือ Hamiltonian และ Metropolis มีวิธีใช้ประโยชน์จากการเรียนรู้ของเครื่องจักรหรือแม้แต่การเรียนรู้ลึกเพื่อสร้างตัวอย่าง MCMC ที่มีประสิทธิภาพมากขึ้นหรือไม่?

1
มีการปรับปรุงอะไรบ้างที่รู้จักกันดีในอัลกอริทึม MCMC แบบเรียนที่ผู้คนใช้สำหรับการอนุมานแบบเบย์?
เมื่อฉันเขียนโค้ดสำหรับการจำลอง Monte Carlo สำหรับปัญหาบางอย่างและตัวแบบนั้นง่ายพอฉันใช้การสุ่มตัวอย่างตำราเรียนพื้นฐานกิ๊บส์ เมื่อเป็นไปไม่ได้ที่จะใช้การสุ่มตัวอย่างของกิ๊บส์ฉันจะเขียนรหัสตำราเรียน Metropolis-Hastings ที่ฉันเรียนรู้เมื่อหลายปีก่อน ความคิดเดียวที่ฉันมอบให้คือเลือกการกระจายการกระโดดหรือพารามิเตอร์ ฉันรู้ว่ามีวิธีการพิเศษหลายร้อยและหลายร้อยวิธีที่พัฒนาขึ้นจากตัวเลือกตำราเรียนเหล่านั้น แต่ฉันมักไม่เคยคิดถึงการใช้ / การเรียนรู้ มันมักจะรู้สึกว่ามันเป็นความพยายามมากเกินไปในการปรับปรุงนิดหน่อยสิ่งที่ทำงานได้ดีอยู่แล้ว แต่เมื่อเร็ว ๆ นี้ฉันกำลังคิดว่าอาจจะไม่มีวิธีการทั่วไปแบบใหม่ที่สามารถปรับปรุงสิ่งที่ฉันทำ เป็นเวลาหลายทศวรรษแล้วที่ค้นพบวิธีการเหล่านั้น บางทีฉันล้าสมัยจริงๆ ! มีทางเลือกอื่น ๆ ที่รู้จักกันดีใน Metropolis-Hastings หรือไม่: ใช้งานง่ายพอสมควร เป็นที่ยอมรับในระดับสากลว่าเป็น MH และปรับปรุงผลลัพธ์ของ MH ให้ดีขึ้นอยู่เสมอ (การคำนวณประสิทธิภาพความแม่นยำ ฯลฯ ) ฉันรู้เกี่ยวกับการปรับปรุงที่พิเศษมากสำหรับโมเดลที่มีความพิเศษมาก แต่มีบางสิ่งที่ทุกคนใช้โดยทั่วไปที่ฉันไม่รู้

1
การวินิจฉัยที่เหลือในรูปแบบการถดถอยแบบ MCMC
ฉันเพิ่งลงมือเมื่อไม่นานมานี้ในแบบผสมการถดถอยที่เหมาะสมในกรอบ Bayesian โดยใช้อัลกอริทึม MCMC (ฟังก์ชั่น MCMCglmm ใน R จริง) ฉันเชื่อว่าฉันเข้าใจวิธีการวินิจฉัยลู่เข้าของกระบวนการประมาณ (ติดตาม, พล็อต geweke, autocorrelation, การกระจายหลัง ... ) สิ่งหนึ่งที่ทำให้ฉันตกอยู่ในกรอบการทำงานของ Bayesian คือความพยายามอย่างมากที่จะอุทิศให้กับการวินิจฉัยเหล่านั้นในขณะที่ดูเหมือนว่าจะทำได้น้อยมากในแง่ของการตรวจสอบชิ้นส่วนที่เหลือของแบบจำลองที่ติดตั้ง ยกตัวอย่างเช่นใน MCMCglmm ส่วนฟังก์ชั่น residual.mcmc () นั้นยังมีอยู่ แต่ยังไม่ได้นำไปใช้จริง (เช่นส่งกลับ: "ส่วนที่เหลือยังไม่ได้นำไปใช้กับวัตถุ MCMCglmm"; เรื่องเดียวกันสำหรับทำนาย. ดูเหมือนว่าจะขาดจากแพ็คเกจอื่น ๆ เช่นกันและโดยทั่วไปแล้วจะมีการพูดคุยกันเล็กน้อยในวรรณคดีที่ฉันพบ ใครช่วยชี้ให้ฉันถึงการอ้างอิงที่มีประโยชน์และรหัส R ที่ฉันสามารถเล่นหรือแก้ไขได้ ขอบคุณมาก.

3
เหตุใดเราจึงต้องใส่ใจกับการผสมอย่างรวดเร็วในเครือข่าย MCMC
เมื่อทำงานร่วมกับมาร์คอฟโซ่มอนติคาร์โลเพื่อวาดการอนุมานเราจำเป็นต้องมีห่วงโซ่ที่ผสมกันอย่างรวดเร็วนั่นคือการเคลื่อนที่อย่างสม่ำเสมอโดยการสนับสนุนของการกระจายด้านหลังอย่างรวดเร็ว แต่ฉันไม่เข้าใจว่าทำไมเราต้องใช้คุณสมบัตินี้เพราะจากสิ่งที่ฉันเข้าใจเทียนที่ได้รับการยอมรับควรและจะเข้มข้นในส่วนที่มีความหนาแน่นสูงของการกระจายหลัง หากสิ่งที่ฉันเข้าใจเป็นจริงเราจะยังต้องการให้ลูกโซ่เคลื่อนที่ผ่านการสนับสนุน (ซึ่งรวมถึงส่วนที่มีความหนาแน่นต่ำ) ด้วยหรือไม่ นอกจากนี้หากฉันใช้ MCMC เพื่อเพิ่มประสิทธิภาพฉันยังต้องใส่ใจกับการผสมอย่างรวดเร็วและเพราะเหตุใด ขอบคุณสำหรับการแบ่งปันความคิดของคุณ!
21 mcmc 

1
MCMC แบบปรับได้สามารถเชื่อถือได้หรือไม่?
ฉันกำลังอ่านเกี่ยวกับการปรับตัวMCMC (ดูเช่นบทที่ 4 ของคู่มือของมาร์คอฟเชนมอนติคาร์โล , เอ็ดบรูคส์และคณะ, 2011; และAndrieu & Thoms, 2008 ) ผลลัพธ์หลักของโรเบิร์ตและโรเซนธาล (2007)คือถ้ารูปแบบการปรับตัวสอดคล้องกับเงื่อนไขการปรับตัวที่หายไป (รวมถึงเทคนิคอื่น ๆ ) MCMC ที่ปรับตัวได้นั้นเป็นไปตามหลักสรีรศาสตร์ภายใต้โครงการใด ๆ ยกตัวอย่างเช่นการปรับตัวที่หายไปสามารถรับได้อย่างง่ายดายโดยการปรับผู้ประกอบการเปลี่ยนแปลงที่ซ้ำกับความน่าจะเป็นกับ0nnnp ( n )พี(n)p(n)Limn → ∞p ( n ) = 0Limn→∞พี(n)=0\lim_{n \rightarrow \infty} p(n) = 0 ผลลัพธ์นี้คือ (รูปหลัง) ที่ใช้งานง่ายไม่แสดงอาการ เนื่องจากจำนวนการปรับตัวมีแนวโน้มที่จะเป็นศูนย์ในที่สุดมันจะไม่ยุ่งเหยิงกับการยศาสตร์ ความกังวลของฉันคือสิ่งที่เกิดขึ้นกับเวลาที่จำกัด เราจะรู้ได้อย่างไรว่าการปรับตัวไม่ได้ยุ่งเหยิงในช่วงเวลาที่กำหนดและตัวอย่างนั้นเป็นการสุ่มตัวอย่างจากการแจกแจงที่ถูกต้อง? ถ้ามันสมเหตุสมผลแล้วการเผาไหม้จะต้องทำเท่าไหร่เพื่อให้แน่ใจว่าการปรับตัวก่อนหน้านี้ไม่ได้เป็นการให้น้ำหนักโซ่ ผู้ปฏิบัติงานในสาขาเชื่อถือ MCMC ที่ปรับตัวได้หรือไม่? เหตุผลที่ฉันถามคือเพราะฉันได้เห็นวิธีการล่าสุดหลายอย่างที่พยายามสร้างการปรับตัวในวิธีอื่น ๆ ที่ซับซ้อนกว่าซึ่งเป็นที่รู้กันว่าเคารพการยศาสตร์เช่นการฟื้นฟูหรือวิธีการรวมกัน (เช่นมันเป็นเรื่องปกติที่จะเลือกการเปลี่ยนแปลง …

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