ความเข้าใจผิดเกี่ยวกับการประมาณการ Monte Carlo Pi


9

ฉันค่อนข้างแน่ใจว่าฉันเข้าใจการทำงานร่วมกันของ Monte Carlo แต่ฉันไม่เข้าใจการกำหนดวิธีการใช้ Pi เพื่อประเมิน ฉันกำลังทำตามขั้นตอนที่ระบุไว้ในสไลด์ที่ 5 ของงานนำเสนอนี้http://homepages.inf.ed.ac.uk/imurray2/teaching/09mlss/slides.pdf

ฉันเข้าใจขั้นตอนเบื้องต้น Pi เท่ากับ 4 คูณพื้นที่ของหนึ่งในสี่ของวงกลมหน่วย และพื้นที่ของไตรมาสบนขวาของหน่วยวงกลมตรงกลางที่ (0,0) เท่ากับอินทิกรัลของส่วนโค้งที่เป็นไตรมาสบนขวาของวงกลมหน่วยในและ . 0<x<10<y<1

สิ่งที่ฉันไม่เข้าใจก็คืออินทิกรัลนี้คืออะไร

I((x2+y2)<1)P(x,y)dxdy

โดยที่P(x,y)มีการกระจายอย่างสม่ำเสมอในหน่วยสี่เหลี่ยมจัตุรัสรอบวงกลมไตรมาส (นั่นคือเท่ากับ 1 เสมอถ้า0<x<1และ0<y<1และ 0 เป็นอย่างอื่น) นี่ก็หมายความว่า I((x2+y2)<1)P(x,y)
คือฟังก์ชั่นที่เป็นจตุภาคบนขวาของวงกลมหน่วยที่0<x<1และ0<y<1แต่ฉันไม่เข้าใจว่าสิ่งนี้เป็นจริงได้อย่างไรเนื่องจากฟังก์ชันตัวบ่งชี้สามารถเป็น 1 หรือ 0 เท่านั้นฉันเข้าใจว่ามันอาจจะเขียนด้วยวิธีนี้เพื่อให้การสุ่มตัวอย่าง Monte Carlo ง่าย (นั่นคือความคาดหวังดังนั้นเพียงแค่ตัวอย่างจากP(x,y)และรับค่าเฉลี่ยของตัวอย่างที่ใช้กับI((x2+y2)<1)) แต่มันไม่สมเหตุสมผลเลยสำหรับฉันว่าทำไมอินทิกรัลนั้นแทนพื้นที่ใต้เส้นโค้งนั้น

ใครบางคนสามารถให้คำอธิบายที่เข้าใจง่ายเกี่ยวกับเรื่องนี้ อาจแสดงให้เห็นว่าอินทิกรัลนั้นได้มาในแบบทีละขั้นตอนหรือไม่?

แก้ไข:

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

π=4×Atr

จากนั้นเราวางจตุภาคบนขวาลงในหน่วยสี่เหลี่ยม และภายใต้การกระจายตัวที่สม่ำเสมอบนหน่วยสี่เหลี่ยมพื้นที่ของจตุภาควงกลมนั้นมีสัดส่วนตามความน่าจะเป็นที่จะได้รับตัวอย่างจากมัน มันเป็นไปตามที่ความเสมอภาคต่อไปนี้ถือ

P(x2+y2<1)=AtrAsquare

และAsquare=1ดังนั้น

P(x2+y2<1)=Atr

และแทนที่ลงในสมการดั้งเดิม

π=4×P(x2+y2<1)

และมันก็เป็นความจริงที่ซึ่งเท่ากับอินทิกรัลสองเท่าต้นฉบับP(x2+y2<1)=E[I(x2+y2<1)]

ดังนั้นฉันจึงเข้าใจโดยการเชื่อมโยงพื้นที่กับความน่าจะเป็นแล้วเกี่ยวข้องกับความน่าจะเป็นกับความคาดหวังที่เทียบเท่ากับอินทิกรัล แจ้งให้เราทราบหากฉันทำผิดพลาดใด ๆ

คำตอบ:


8

พื้นที่ของรูปวงกลมของรัศมีเท่ากับ 2ก็หมายความว่าหนึ่งในสี่ของวงกลมมีพื้นที่ 4 ซึ่งหมายความว่าตารางกับด้านรัศมีของวงกลมเป็น 2lπl2l2π/4area=l2

ซึ่งหมายความว่าอัตราส่วนระหว่างพื้นที่ของหนึ่งในสี่ของวงกลมและพื้นที่ของตารางเป็น 4 π/4

จุด อยู่ในตารางถ้า<1 และมันก็เป็นในไตรมาสของวงกลมถ้า <1 (x,y)0<x<1,0<y<10<x<1,0<y<1,x2+y2<1

อินทิกรัลของคุณคือนั่นคือพื้นที่ที่อธิบายโดยหนึ่งในสี่ของวงกลมI((x2+y2)<1)P(x,y)=I((x2+y2)<1)I(0<x<1)I(0<y<1)

ป้อนคำอธิบายรูปภาพที่นี่


ฉันเดาว่าฉันแค่มีช่วงเวลาที่ยากลำบากเท่านั้นที่เชื่อมต่อระหว่างคำในอินทิกรัลกับส่วนโค้ง หากคุณวางแผน I (x ^ 2 + y ^ 2 <1) I (0 <x <1) (0 <y <1) สำหรับค่าต่าง ๆ ของ x และ y คุณจะไม่ได้เส้นโค้ง ทำไมถึงเป็นอย่างนั้น?
user1893354

1
{(x,y):(x2+y2<1),(0<x<1),(0<y<1)}เป็นคะแนนในไตรมาสของวงกลม ฉันแนะนำให้คุณลองพล็อตจุดนี้
Donbeo

ฉันเห็นด้วยกับที่ แต่เมื่อคุณใช้ฟังก์ชั่นตัวบ่งชี้ I (.) พวกเขาทั้งหมดจะถูกผลักไปที่ 1 หรือ 0
user1893354

คุณหมายถึงอะไร
Donbeo

1
ฟังก์ชันตัวบ่งชี้ในอินทิกรัลเป็นอีกวิธีหนึ่งในการกำหนดส่วนโค้งที่จะคำนวณอินทิกรัล quarter of circle=1(x2+y2<1)1(0<x<1)1(0<y<1)
Donbeo

4

คำอธิบายที่ใช้งานง่ายง่ายต้องอาศัยการทำความเข้าใจว่า(A) ดังนั้น<1) เมื่อคุณตระหนักถึง integal คู่เป็นเพียงความน่าจะเป็นก็ควรให้ความรู้สึกที่ใช้งานง่ายที่คุณสามารถลิ้มลองและจากหน่วยตารางและคำนวณสัดส่วนของการดึงที่<1 E(I(A))=P(A)I(x2+y2<1)dxdy=P(x2+y2<1)xyx2+y2<1

บางทีสัญชาตญาณอีกชิ้นที่ขาดหายไปจากความเข้าใจของคุณก็คือการเชื่อมต่อระหว่างพื้นที่และความน่าจะเป็น เนื่องจากพื้นที่ของหน่วยตารางทั้งหมดคือ 1 และจุดมีการกระจายอย่างสม่ำเสมอภายในตารางพื้นที่ของพื้นที่ใด ๆภายในหน่วยตารางจะสอดคล้องกับความน่าจะเป็นที่จุดสุ่มเลือกจะเป็นภายใน(x,y)AA


นี่คือวิธีที่ฉันเข้าใจเช่นกัน แต่ฉันมีปัญหาในการเชื่อมต่อกับสูตร Pi = 4x (พื้นที่ของวงเวียน) มันไม่สมเหตุสมผลนักที่จะเปรียบเทียบพื้นที่กับกลุ่มตัวอย่าง ฉันคิดว่าการเชื่อมต่อคือภายใต้การกระจายแบบสม่ำเสมอจำนวนตัวอย่างเป็นสัดส่วนกับพื้นที่
user1893354

1
@ user1893354 แก้ไขคำตอบแล้ว แจ้งให้เราทราบหากสิ่งนั้นช่วยปรีชา
jsk

0

ฉันลงจอดที่ CV การโต้คลื่นนี้และฉันเห็นว่าโค้ดของ Monte Carlo อยู่ในระดับแปดเสียง ฉันบังเอิญมีการจำลองใน R ที่ทำให้ความคิดของการได้มาของหมายเลขเป็นชุดกระจาย bivariate ในเครื่องบินภายใต้ข้อ จำกัด ของอินทิกรัลใน OP ที่ใช้งานง่ายมาก:π[0,1]

ระบุว่าไตรมาสของวงกลมล้อมรอบในตารางที่ 1 หน่วยพื้นที่เป็น 4 ดังนั้นการสร้างจุดกระจายอย่างสม่ำเสมอในตารางจะสิ้นสุดการปูพรมตารางทั้งหมดและการคำนวณเศษส่วนตอบสนองจะพอ ๆ กันกับการบูรณาการเนื่องจากเราเพิ่งเลือกเศษส่วน ของจุดภายในวงกลมที่สัมพันธ์กับหน่วยสี่เหลี่ยม:π/4(x,y)1<(x2+y2)1((x2+y2)<1)1(0<x<1)1(0<y<1)

x <- runif(1e4); y <- runif(1e4)
radius <- sqrt(x^2 + y^2)
# Selecting those values within the circle is obtained with radius[radius < 1]:
(pi = length(radius[radius < 1]) / length(radius)) * 4     =    3.1272

เราสามารถพล็อตค่าที่ตกภายในรัศมีระหว่างการจับ 10,000

ป้อนคำอธิบายรูปภาพที่นี่

และโดยธรรมชาติเราสามารถเข้าใกล้และใกล้เคียงมากขึ้นโดยการเลือกจุดมากขึ้น ด้วยคะแนน 1 ล้านเราจะได้รับ:

(pi = length(radius[radius < 1]) / length(radius)) * 4 [1] 3.141644

ผลลัพธ์โดยประมาณที่มาก นี่คือพล็อต:

ป้อนคำอธิบายรูปภาพที่นี่

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