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

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

2
MCMC มีประโยชน์เมื่อใด?
ฉันมีปัญหาในการทำความเข้าใจในสถานการณ์ที่แนวทาง MCMC มีประโยชน์จริง ๆ ฉันกำลังดูตัวอย่างของเล่นจากหนังสือ Kruschke "Doing Bayesian Data Analysis: A Tutorial with R and BUGS" สิ่งที่ฉันเข้าใจเพื่อให้ห่างไกลคือการที่เราต้องมีการกระจายเป้าหมายซึ่งเป็นสัดส่วนกับp(D|θ)p(θ)p(D|θ)p(θ)p(D|\theta)p(\theta)เพื่อให้มีตัวอย่างของP(θ|D)P(θ|D)P(\theta|D) ) อย่างไรก็ตามดูเหมือนว่าเมื่อเรามีp(D|θ)p(θ)p(D|θ)p(θ)p(D|\theta)p(\theta)เราเพียงต้องการทำให้การกระจายแบบปกติเพื่อให้ได้ภาพหลังและปัจจัยการทำให้เป็นมาตรฐานนั้นสามารถพบได้ง่ายในเชิงตัวเลข ดังนั้นสิ่งที่เป็นกรณีเมื่อเป็นไปไม่ได้?
12 mcmc 

1
วิธีตีความพล็อตความสัมพันธ์อัตโนมัติใน MCMC
ฉันคุ้นเคยกับสถิติแบบเบย์โดยการอ่านหนังสือDoing Bayesian Data Analysisโดย John K. Kruschke หรือที่เรียกว่า "puppy book" ในบทที่ 9 มีการแนะนำตัวแบบลำดับชั้นด้วยตัวอย่างง่าย ๆ นี้: และการสังเกตของเบอร์นูลีคือ 3 เหรียญต่อการโยน 10 ครั้ง หนึ่งแสดง 9 หัวอื่น ๆ 5 หัวและอีก 1 หัวyjiθjμκ∼Bernoulli(θj)∼Beta(μκ,(1−μ)κ)∼Beta(Aμ,Bμ)∼Gamma(Sκ,Rκ)yji∼Bernoulli(θj)θj∼Beta(μκ,(1−μ)κ)μ∼Beta(Aμ,Bμ)κ∼Gamma(Sκ,Rκ)\begin{align} y_{ji} &\sim {\rm Bernoulli}(\theta_j) \\ \theta_j &\sim {\rm Beta}(\mu\kappa, (1-\mu)\kappa) \\ \mu &\sim {\rm Beta}(A_\mu, B_\mu) \\ \kappa &\sim {\rm Gamma}(S_\kappa, R_\kappa) …

1
ความสับสนเกี่ยวกับ lmer และ p-values: p-values ​​จากแพคเกจ memisc เปรียบเทียบกับ MCMC อย่างไร
ฉันรู้สึกว่าฟังก์ชั่นlmer()ในlme4แพ็คเกจไม่ได้สร้างค่า p (ดูlmer, ค่า p และทั้งหมดนั้น ) ฉันได้รับการใช้ค่าพี MCMC สร้างขึ้นแทนเป็นต่อคำถามนี้: ผลกระทบอย่างมีนัยสำคัญในlme4รูปแบบผสมและคำถามนี้: ไม่พบหน้าค่าในการส่งออกจากlmer()ในlm4Rแพคเกจใน เมื่อเร็ว ๆ นี้ฉันลองแพคเกจที่เรียกว่าmemiscและgetSummary.mer()เพื่อให้ได้เอฟเฟกต์คงที่ของโมเดลของฉันลงในไฟล์ csv ราวกับว่าเป็นเวทมนต์คอลัมน์ที่เรียกว่าpปรากฏขึ้นซึ่งตรงกับค่า p MCMC ของฉันอย่างใกล้ชิด (และไม่ได้รับเวลาการประมวลผลที่มาพร้อมกับการใช้pvals.fnc()) ฉันดูรหัสในคร่าวๆgetSummary.merแล้วเห็นเส้นที่สร้างค่า p: p <- (1 - pnorm(abs(smry@coefs[, 3]))) * 2 สิ่งนี้หมายความว่าค่า p สามารถสร้างได้โดยตรงจากlmerเอาต์พุตของแทนที่จะเรียกใช้pvals.fncหรือไม่ ฉันรู้ว่าสิ่งนี้จะไม่เริ่มสงสัยการอภิปราย 'ค่านิยมทางไสยศาสตร์' แต่ฉันสนใจที่จะรู้ ฉันไม่ได้ยินกล่าวก่อนเมื่อมันมาถึงmemisclmer เพื่อรวบรัดมากขึ้น: อะไรคือประโยชน์ (ถ้ามี) ของการใช้ค่า p MCMC มากกว่าที่สร้างขึ้นโดยgetSummary.mer()?

1
ฉันจะปรับประสิทธิภาพการคำนวณให้เหมาะสมได้อย่างไรเมื่อติดตั้งแบบจำลองที่ซับซ้อนกับชุดข้อมูลขนาดใหญ่ซ้ำ ๆ
ฉันประสบปัญหาประสิทธิภาพการทำงานโดยใช้MCMCglmmแพ็คเกจใน R เพื่อเรียกใช้โมเดลเอฟเฟกต์แบบผสม รหัสมีลักษณะดังนี้: MC1<-MCMCglmm(bull~1,random=~school,data=dt,family="categorical" , prior=list(R=list(V=1,fix=1), G=list(G1=list(V=1, nu=0))) , slice=T, nitt=iter, ,burnin=burn, verbose=F) มีการสำรวจข้อมูลประมาณ 20,000 ครั้งและมีการรวมกลุ่มกันในโรงเรียนประมาณ 200 แห่ง ฉันลบตัวแปรที่ไม่ได้ใช้ทั้งหมดจากดาต้าเฟรมและลบวัตถุอื่นทั้งหมดออกจากหน่วยความจำก่อนที่จะทำงาน ปัญหาที่ฉันมีคือมันใช้เวลานานมากในการรันยกเว้นว่าฉันจะลดการวนซ้ำให้เหลือน้อยมาก ด้วย 50,000 ซ้ำมันใช้เวลา 5 ชั่วโมงและฉันมีรูปแบบที่แตกต่างกันมากมายในการทำงาน ดังนั้นฉันต้องการทราบว่ามีวิธีเร่งความเร็วในการเรียกใช้รหัสหรือแพ็คเกจอื่น ๆ ที่ฉันสามารถใช้ได้ ฉันใช้MCMCglmmเพราะฉันต้องการช่วงความมั่นใจสำหรับเอฟเฟกต์แบบสุ่ม ในทางกลับกันฉันหวังว่าจะได้รับพีซีเครื่องใหม่ในปีนี้ แต่โชคดีที่ฉันสามารถนำมันไปข้างหน้าได้ดังนั้นฉันจึงสงสัยว่าจะใช้เงินจำนวน จำกัด กับฮาร์ดแวร์ใหม่ได้ดีที่สุด - RAM เพิ่มเติม เร็วกว่าซีพียู ฯลฯ จากการดูตัวจัดการงานฉันไม่เชื่อว่า RAM เป็นปัญหา (ไม่เคยใช้งานเกิน 50% ของการใช้งานจริง) แต่การใช้งาน CPU ไม่ได้สูงกว่า 50% มากซึ่งทำให้ฉันแปลก …

2
วิธีการ MCMC - ตัวอย่างการเผาไหม้?
ในMCMCวิธีผมให้อ่านเกี่ยวกับเวลาหรือจำนวนตัวอย่างที่จะburn-in "burn"มันคืออะไรกันแน่และทำไมมันถึงต้องการ? ปรับปรุง: เมื่อ MCMC ทรงตัวแล้วมันจะยังคงเสถียรหรือไม่? แนวคิดเรื่องburn-inเวลาเกี่ยวข้องกับเวลาในการผสมอย่างไร?
12 sampling  mcmc 

2
MCMC ที่เติมเต็มด้วยความสมดุลโดยละเอียดทำให้การกระจายแบบอยู่กับที่หรือไม่?
ฉันเดาว่าฉันเข้าใจสมการของเงื่อนไขสมดุลโดยละเอียดซึ่งระบุว่าสำหรับความเป็นไปได้ในการเปลี่ยนแปลงและการแจกแจงแบบคงที่ , ห่วงโซ่มาร์คอฟตอบสนองความสมดุลโดยละเอียดถ้าπ q ( x | y ) π ( y ) = q ( y | x ) π ( x ) ,qqqππ\piq(x|y)π(y)=q(y|x)π(x),q(x|y)π(y)=q(y|x)π(x),q(x|y)\pi(y)=q(y|x)\pi(x), ทำให้ฉันมีเหตุผลมากขึ้นถ้าฉันย้ำเป็น: q(x|y)q(y|x)=π(x)π(y).q(x|y)q(y|x)=π(x)π(y).\frac{q(x|y)}{q(y|x)}= \frac{\pi(x)}{\pi(y)}. โดยทั่วไปความน่าจะเป็นของการเปลี่ยนจากสถานะเป็นสถานะควรเป็นสัดส่วนกับอัตราส่วนของความหนาแน่นของความน่าจะเป็นyxxxyyy

1
ทำไมเราต้องการพล็อตการติดตามสำหรับผลลัพธ์ MCMC
ฉันกำลังอ่านรายงานการวิจัยโดยใช้วิธีการ MCMC และฉันเห็นว่าส่วนใหญ่ให้แผนการแปลง เหตุใดเราจึงต้องมีแผนการแปลงร่องรอยใน Monte Carlo Markov Chain พล็อตการติดตามของพารามิเตอร์ระบุอะไร

2
เริ่มต้น PyMC: วิธีตัวอย่างจากโมเดลที่ติดตั้งจริง
ฉันกำลังลองใช้แบบจำลองที่ง่ายมาก: ปรับค่าปกติที่ฉันคิดว่าฉันรู้ความแม่นยำและฉันแค่ต้องการหาค่าเฉลี่ย รหัสด้านล่างดูเหมือนว่าจะพอดีกับปกติอย่างถูกต้อง แต่หลังจากการติดตั้งฉันต้องการตัวอย่างจากแบบจำลองคือสร้างข้อมูลใหม่ซึ่งคล้ายกับdataตัวแปรของฉัน ฉันรู้ว่าฉันสามารถใช้trace("mean")เพื่อรับตัวอย่างสำหรับตัวแปรค่าเฉลี่ย แต่ฉันจะหาตัวอย่างใหม่จากโมเดลเองได้อย่างไร เราได้ตรวจสอบเอกสารเช่นhttp://pymc-devs.github.io/pymc/database.html#accessing-sampled-data ฉันได้ดูตัวอย่างบางส่วนเช่นภัยพิบัติจากการขุดและอีกหลายรายการจากสมุดบันทึก Probabilistic Programming และไม่มีใครพูดถึงเรื่องนี้ ฉัน (เริ่มต้น MCMC มากขึ้นหรือน้อยลง) คาดว่าการสุ่มตัวอย่างจากโมเดลที่ติดตั้งไว้นั้นเป็นจุดรวม! ฉันกำลังคิดถึงอะไร from pymc import * data = np.array([-1, 0, 4, 0, 2, -2, 1, 0, 0, 2, 1, -3, -1, 0, 0, 1, 0, 1]) mean = Uniform("mean", -4, 4) precision = 2.0**-2 obs …
12 mcmc  pymc 

2
พารามิเตอร์โอกาสสูงสุดเบี่ยงเบนจากการแจกแจงหลัง
ฉันมีฟังก์ชั่นความน่าจะเป็นL (d| θ)L(d|θ)\mathcal{L}(d | \theta)สำหรับความน่าจะเป็นของข้อมูลของฉันdddรับพารามิเตอร์บางรุ่นθ∈RNθ∈RN\theta \in \mathbf{R}^Nซึ่งผมอยากจะประมาณการ สมมติว่ามีค่าคงที่ของพารามิเตอร์ระดับความน่าจะเป็นเป็นสัดส่วนกับความน่าจะเป็นหลัง ฉันใช้วิธี MCMC เพื่อสุ่มตัวอย่างความน่าจะเป็นนี้ เมื่อดูที่ลูกโซ่ที่เกิดขึ้นฉันพบว่าพารามิเตอร์ความน่าจะเป็นสูงสุดนั้นไม่สอดคล้องกับการแจกแจงแบบหลัง ตัวอย่างเช่นการกระจายความน่าจะเป็นด้านหลังของชายขอบสำหรับหนึ่งในพารามิเตอร์อาจเป็นθ0∼N(μ=0,σ2=1)θ0∼N(μ=0,σ2=1)\theta_0 \sim N(\mu=0, \sigma^2=1)ในขณะที่ค่าของθ0θ0\theta_0ที่จุดน่าจะเป็นสูงสุดคือθML0≈4θ0ML≈4\theta_0^{ML} \approx 4โดยพื้นฐานแล้ว เกือบจะเป็นค่าสูงสุดของθ0θ0\theta_0ผ่านการสุ่มตัวอย่างโดย MCMC นี่เป็นตัวอย่างที่แสดงไม่ใช่ผลลัพธ์ที่แท้จริงของฉัน การแจกแจงจริงนั้นซับซ้อนกว่า แต่พารามิเตอร์ ML บางตัวมีค่า p ที่ไม่น่าเหมือนกันในการแจกแจงหลัง ทราบว่าบางส่วนของพารามิเตอร์ของฉันจะกระโดด (เช่น0≤θ1≤10≤θ1≤10 \leq \theta_1 \leq 1 ); ภายในขอบเขตนักบวชจะเหมือนกันเสมอ คำถามของฉันคือ: การเบี่ยงเบนนั้นเป็นปัญหาต่อหรือเปล่า เห็นได้ชัดว่าฉันไม่ได้คาดหวังว่าพารามิเตอร์ ML จะเหมือนกันซึ่งสูงสุดของการกระจายหลังส่วนล่างของพวกเขาแต่ละคน แต่สังหรณ์ใจมันรู้สึกว่าพวกเขาไม่ควรพบลึกลงไปในหาง การเบี่ยงเบนนี้ทำให้ผลลัพธ์ของฉันเป็นโมฆะโดยอัตโนมัติหรือไม่ ไม่ว่าจะเป็นปัญหาหรือไม่มันเป็นอาการของโรคที่เฉพาะเจาะจงในบางช่วงของการวิเคราะห์ข้อมูลหรือไม่? ตัวอย่างเช่นเป็นไปได้หรือไม่ที่จะสร้างคำแถลงทั่วไปเกี่ยวกับว่าการเบี่ยงเบนดังกล่าวอาจเกิดจากการรวมกันของโซ่ที่ไม่ถูกต้องแบบจำลองที่ไม่ถูกต้องหรือขอบเขตที่แน่นเกินไปของพารามิเตอร์

2
Gibbs สุ่มตัวอย่างวิธี MCMC หรือไม่
เท่าที่ฉันเข้าใจมันเป็น (อย่างน้อยนั่นคือวิธีที่Wikipedia กำหนดไว้ ) แต่ฉันได้พบข้อความนี้โดย Efron * (เน้นที่เพิ่ม): มาร์คอฟเชนมอนติคาร์โล (MCMC) เป็นเรื่องราวความสำเร็จที่ยิ่งใหญ่ของสถิติแบบเบย์ในปัจจุบัน MCMC และวิธีการน้องสาวของ "การสุ่มตัวอย่างกิ๊บส์"ช่วยให้การคำนวณเชิงตัวเลขของการแจกแจงหลังในสถานการณ์ที่ซับซ้อนเกินไปสำหรับการแสดงออกเชิงวิเคราะห์ และตอนนี้ฉันสับสน นี่เป็นเพียงความแตกต่างเล็กน้อยในคำศัพท์หรือเป็นกิ๊บส์สุ่มตัวอย่างอย่างอื่นที่ไม่ใช่ MCMC? [*]: Efron 2011, "The Bootstrap และ Markov-Chain Monte Carlo"
11 mcmc  gibbs 

6
การอ้างอิงพื้นฐานเกี่ยวกับ MCMC สำหรับสถิติแบบเบย์
ฉันกำลังมองหาเอกสารหรือหนังสือที่มีตัวอย่างเชิงปฏิบัติและเชิงทฤษฎีเกี่ยวกับMCMC พื้นฐานสำหรับสถิติแบบเบย์ (With R) ฉันไม่เคยเรียนเกี่ยวกับการจำลองและนั่นคือเหตุผลที่ฉันกำลังมองหาข้อมูล "พื้นฐาน" คุณสามารถให้คำแนะนำหรือคำแนะนำกับฉันได้ไหม?

2
เหตุใดจึงต้องใช้ MCMC เมื่อประเมินพารามิเตอร์โดยใช้ MAP
เมื่อกำหนดสูตรสำหรับการประมาณค่าพารามิเตอร์ของ MAP เหตุใดจึงต้องใช้วิธีการ MCMC (หรือคล้ายกัน) ฉันไม่สามารถใช้อนุพันธ์ตั้งค่าเป็นศูนย์แล้วแก้หาพารามิเตอร์ได้หรือไม่

1
วิธีการรับตัวอย่างกิ๊บส์?
ที่จริงฉันลังเลที่จะถามเรื่องนี้เพราะฉันกลัวว่าฉันจะถูกส่งต่อไปยังคำถามอื่นหรือวิกิพีเดียในการสุ่มตัวอย่างของกิ๊บส์ แต่ฉันไม่มีความรู้สึกว่าพวกเขาอธิบายสิ่งที่อยู่ในมือ รับความน่าจะเป็นแบบมีเงื่อนไข : p ( x | y ) y = y 0 y = y 1 x = x 0 1p ( x | y)p(x|y)p(x|y)p ( x | y)x = x0x = x1Y= y01434Y= y12646p(x|y)y=y0y=y1x=x01426x=x13446 \begin{array}{c|c|c} p(x|y) & y = y_0 & y = y_1 \\ \hline x …
11 sampling  mcmc  gibbs 

1
การสุ่มตัวอย่างกิ๊บส์สำหรับโมเดลไอซิง
คำถามการบ้าน: พิจารณาโมเดลไอซิ่ง 1-d ให้x_d) คือ -1 หรือ +1x=(x1,...xd)x=(x1,...xd)x = (x_1,...x_d)xixix_i π(x)∝e∑39i=1xixi+1π(x)∝e∑i=139xixi+1\pi(x) \propto e^{\sum_{i=1}^{39}x_ix_{i+1}} ออกแบบกิ๊บส์เป็นตัวอย่างขั้นตอนวิธีการในการสร้างตัวอย่างประมาณจากการกระจายเป้าหมาย(x)π(x)π(x)\pi(x) ความพยายามของฉัน: สุ่มเลือกค่า (ทั้ง -1 หรือ 1) เพื่อเติมเต็มเวกเตอร์{40}) ดังนั้นบางที1) ดังนั้นนี่คือ 0x=(x1,...x40)x=(x1,...x40)x = (x_1,...x_{40})x=(−1,−1,1,1,1,−1,1,1,...,1)x=(−1,−1,1,1,1,−1,1,1,...,1)x = (-1, -1, 1, 1, 1, -1, 1, 1,...,1)x0x0x^0 ดังนั้นตอนนี้เราต้องดำเนินการต่อและทำซ้ำครั้งแรก เราต้องวาด 40 x ที่แตกต่างกันสำหรับแยกกัน ดังนั้น...x1x1x^1 วาดจากx11x11x_1^1π(x1|x02,...,x040)π(x1|x20,...,x400)\pi(x_1 | x_2^0,...,x_{40}^0) วาดจากx12x21x_2^1π(x2|x11,x03,...,x040)π(x2|x11,x30,...,x400)\pi(x_2 | x_1^1, x_3^0,...,x_{40}^0) วาดจากx13x31x_3^1π(x3|x11,x12,x04,...,x040)π(x3|x11,x21,x40,...,x400)\pi(x_3 | …

2
การสุ่มตัวอย่าง MCMC ของพื้นที่ต้นไม้การตัดสินใจเทียบกับป่าแบบสุ่ม
ป่าสุ่มคือชุดของต้นไม้ตัดสินใจที่เกิดขึ้นจากการสุ่มเลือกคุณสมบัติบางอย่างเท่านั้นที่จะสร้างต้นไม้แต่ละต้นด้วย (และบางครั้งการรวบข้อมูลการฝึกอบรม) เห็นได้ชัดว่าพวกเขาเรียนรู้และพูดคุยได้ดี มีใครทำการสุ่มตัวอย่าง MCMC ของพื้นที่ต้นไม้การตัดสินใจหรือเปรียบเทียบกับป่าสุ่ม? ฉันรู้ว่ามันอาจมีราคาแพงกว่าการคำนวณ MCMC และบันทึกต้นไม้ตัวอย่างทั้งหมด แต่ฉันสนใจคุณสมบัติทางทฤษฎีของรุ่นนี้ไม่ใช่ค่าใช้จ่ายในการคำนวณ สิ่งที่ฉันหมายถึงคือสิ่งนี้: สร้างแผนผังการตัดสินใจแบบสุ่ม (มันอาจจะทำงานได้อย่างน่ากลัว) โอกาส Compute ของต้นไม้กับสิ่งที่ต้องการหรือบางทีอาจจะเพิ่มระยะP P R ฉันo R ( T R อีอี)P( Tr e e | D a t a ) ∝ P( D a t a | Tr e e )P(TRอีอี|Daเสื้อa)αP(Daเสื้อa|TRอีอี)P(Tree|Data) \propto P(Data|Tree)Pp r i o r( …

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