Missverständnis der Monte-Carlo-Pi-Schätzung


9

Ich bin mir ziemlich sicher, dass ich die Funktionsweise der Monte-Carlo-Integration verstehe, aber ich verstehe nicht die Formulierung, wie sie zur Schätzung von Pi verwendet wird. Ich gehe nach dem in der 5. Folie dieser Präsentation beschriebenen Verfahren vor: http://homepages.inf.ed.ac.uk/imurray2/teaching/09mlss/slides.pdf

Ich verstehe die vorbereitenden Schritte. Pi entspricht der vierfachen Fläche eines Viertels des Einheitskreises. Und die Fläche des oberen rechten Viertels des Einheitskreises, zentriert bei (0,0), entspricht dem Integral der Kurve, das das obere rechte Viertel des Einheitskreises in und . 0 < y < 10<x<10<y<1

Was ich nicht verstehe ist, wie dieses Integral ist

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

wobei P(x,y) gleichmäßig im Einheitsquadrat um den Viertelkreis verteilt ist (dh es ist immer gleich 1, wenn 0<x<1 und sonst 0<y<1 und 0). Dies würde also bedeuten, dass I((x2+y2)<1)P(x,y)
die Funktion ist, die der obere rechte Quadrant des Einheitskreises bei 0<x<1 und 0<y<1 aber ich verstehe nicht, wie dies wahr ist, da die Indikatorfunktion nur 1 oder 0 sein kann. Ich verstehe, dass sie wahrscheinlich so geschrieben ist, um die Monte-Carlo-Abtastung zu vereinfachen (dh es ist eine Erwartung, also einfach eine Stichprobe von P(x,y) und erhalte den Durchschnitt der auf I angewendeten Proben I((x2+y2)<1)) aber es macht für mich einfach keinen intuitiven Sinn, warum dieses Integral die Fläche unter dieser Kurve darstellt.

Könnte jemand eine intuitive Erklärung dafür geben. Vielleicht zeigen Sie, wie dieses Integral Schritt für Schritt abgeleitet wurde?

BEARBEITEN:

Ich konnte ein besseres Verständnis gewinnen, indem ich die Erwartung auf einen Bereich bezog. Ich werde es hier erklären, falls es jemandem hilft. Beginnen Sie zunächst damit, Pi auf die Fläche des oberen rechten Quadranten des Einheitskreises zu beziehen

π=4×Atr

Dann platzieren wir den oberen rechten Quadranten in das Einheitsquadrat. Und bei einer gleichmäßigen Verteilung über das Einheitsquadrat ist die Fläche des Kreisquadranten proportional zur Wahrscheinlichkeit, eine Probe daraus zu erhalten. Daraus folgt, dass die folgende Gleichheit gilt

P(x2+y2<1)=AtrAsquare

und Asquare=1 so

P(x2+y2<1)=Atr

Und in die ursprüngliche Gleichung einsetzen

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

und es ist auch wahr, dass was gleich dem ursprünglichen Doppelintegral ist.P(x2+y2<1)=E[I(x2+y2<1)]

Also habe ich es verstanden, indem ich die Fläche mit einer Wahrscheinlichkeit in Beziehung gesetzt habe und diese Wahrscheinlichkeit dann mit einer Erwartung in Beziehung gesetzt habe, die dem Integral entspricht. Lassen Sie mich wissen, wenn ich Fehler gemacht habe.

Antworten:


8

Die Fläche eines Kreiskreises mit dem Radius ist gleich . Dies bedeutet, dass ein Viertel des Kreises die Fläche . Dies bedeutet, dass das Quadrat mit der Seite des Radius des Kreises als .π l 2 l 2 π / 4 a r e a = l 2lπl2l2π/4area=l2

Dies bedeutet, dass das Verhältnis zwischen der Fläche eines Viertelkreises und der Fläche des Quadrats beträgt . π/4

Ein Punkt liegt im Quadrat, wenn . und es ist im Viertel des Kreises, wenn . (x,y)0<x<1,0<y<10<x<1,0<y<1,x2+y2<1

Ihr Integral ist also Das ist genau die Fläche, die durch ein Viertel des Kreises beschrieben wirdI((x2+y2)<1)P(x,y)=I((x2+y2)<1)I(0<x<1)I(0<y<1)

Geben Sie hier die Bildbeschreibung ein


Ich denke, es fällt mir nur schwer, eine Verbindung zwischen den Begriffen innerhalb des Integrals und der Kurve selbst herzustellen. Wenn Sie I (x ^ 2 + y ^ 2 <1) I (0 <x <1) (0 <y <1) für verschiedene Werte von x und y zeichnen würden, würden Sie die Kurve nicht erhalten. Warum das?
user1893354

1
{(x,y):(x2+y2<1),(0<x<1),(0<y<1)} sind die Punkte auf dem Viertel des Kreises. Ich schlage vor, dass Sie versuchen, diese Punkte zu zeichnen
Donbeo

Ich stimme dem zu. Aber wenn Sie die Indikatorfunktion I (.)
Anwenden

Was meinen Sie?
Donbeo

1
Die Indikatorfunktion in einem Integral ist nur eine weitere Möglichkeit, die Kurven zu definieren, in denen das Integral berechnet werden soll. quarter of circle=1(x2+y2<1)1(0<x<1)1(0<y<1)
Donbeo

4

Die einfachste intuitive Erklärung beruht auf dem Verständnis, dass . Somit ist . Sobald Sie erkennen, dass die doppelte Ganzzahl einfach eine Wahrscheinlichkeit ist, sollte es intuitiv sinnvoll sein, und aus dem Einheitsquadrat abzutasten und den Anteil der Ziehungen zu berechnen, für die . E(I(A))=P(A)I(x2+y2<1)dxdy=P(x2+y2<1)xyx2+y2<1

Vielleicht ist die andere Intuition, die Ihrem Verständnis fehlt, die Verbindung zwischen Fläche und Wahrscheinlichkeit. Da die Fläche des gesamten Einheitsquadrats 1 ist und die Punkte gleichmäßig innerhalb des Quadrats verteilt sind, würde die Fläche eines beliebigen Bereichs innerhalb des Einheitsquadrats der Wahrscheinlichkeit entsprechen, dass ein zufällig ausgewählter Punkt innerhalb von .(x,y)AA


So verstehe ich es auch. Aber ich habe Probleme, es mit der Formulierung Pi = 4x (Fläche des Viertelkreises) zu verbinden. Es ist nicht wirklich intuitiv sinnvoll, Bereiche mit Proben zu vergleichen. Ich nehme an, der Zusammenhang besteht darin, dass bei einer gleichmäßigen Verteilung die Anzahl der Proben proportional zur Fläche ist.
user1893354

1
@ user1893354 Antwort überarbeitet. Lassen Sie mich wissen, ob das Ihrer Intuition hilft.
Jsk

0

Ich bin auf diesem Surf-Lebenslauf gelandet und sehe, dass der Code des Monte Carlo in Octave ist. Ich habe zufällig eine Simulation in R, die die Idee, die Zahl als bivariate Gleichverteilung in der -Ebene unter den Bedingungen der Integrale im OP abzuleiten, sehr intuitiv macht:π[0,1]

Da das Viertel eines Kreises in einem Quadrat von 1 Einheit eingeschlossen ist, beträgt die Fläche . Wenn Sie also gleichmäßig verteilte Punkte im Quadrat erzeugen wird das gesamte Quadrat mit Teppich ausgelegt, und die Berechnung des Bruchteils, der , ist gleichbedeutend mit der Integration von da wir nur den Bruch auswählen Anzahl der Punkte innerhalb des Kreises in Bezug auf das Einheitsquadrat:( x , y ) 1 < π/4(x,y)1((x2+y2)<1)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

Wir können die Werte, die in den Radius fallen, unter 10.000 Ziehungen darstellen:

Geben Sie hier die Bildbeschreibung ein

Und wir können uns natürlich immer näher nähern, indem wir mehr Punkte auswählen. Mit 1 Million Punkten erhalten wir:

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

ein sehr ungefähres Ergebnis. Hier ist die Handlung:

Geben Sie hier die Bildbeschreibung ein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.