对蒙特卡洛 Pi 估计的误解

机器算法验证 蒙特卡洛 指示函数
2022-03-01 09:41:05

我相当确定我了解蒙特卡洛积分的工作原理,但我不了解如何使用它来估计 Pi 的公式。我将按照本演示文稿第五张幻灯片中概述的程序进行操作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)均匀分布在四分之一圆周围的单位正方形中(即,如果它始终等于 10<x<10<y<1否则为 0)。所以这意味着 I((x2+y2)<1)P(x,y)
是作为单位圆右上象限的函数0<x<10<y<1但我不明白这是怎么回事,因为指标函数只能是 1 或 0。我知道它可能是以这种方式编写的,以使蒙特卡洛采样变得容易(即这是一种期望,所以只需从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)]等于原来的二重积分。

因此,我通过将面积与概率相关联,然后将该概率与等效于积分的期望相关联来理解它。让我知道我是否犯了任何错误。

3个回答

圆半径圆的面积l等于πl2. 这意味着四分之一的圆有面积l2π/4. 这意味着边为圆半径的正方形为area=l2.

这意味着四分之一圆的面积与正方形的面积之比为π/4.

一个点 (x,y)如果在广场上0<x<1,0<y<1. 如果它在四分之一圆内 0<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)这正是四分之一圆所描述的区域

在此处输入图像描述

最简单的直观解释依赖于理解E(I(A))=P(A). 因此,I(x2+y2<1)dxdy=P(x2+y2<1). 一旦你意识到双整数只是一个概率,你应该可以直观地采样xy从单位平方并计算抽奖的比例x2+y2<1.

也许您理解中缺少的另一条直觉是面积和概率之间的联系。由于整个单位正方形的面积为 1 并且点(x,y)均匀分布在正方形内,任意区域的面积A在单位正方形内将对应于随机选择的点在A.

我登陆了这个冲浪简历,我看到 Monte Carlo 的代码是 Octave。我碰巧在 R 中有一个模拟,它提出了推导数字的想法π作为双变量均匀分布[0,1]OP中积分约束下的平面非常直观:

假设四分之一圆被包围在 1 个单位的正方形中,则面积为π/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 次绘制中绘制落在半径内的值:

在此处输入图像描述

我们自然可以通过选择更多的点来获得越来越接近的近似值。有了 100 万分,我们得到:

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

一个非常近似的结果。这是情节:

在此处输入图像描述