蒙特卡洛模拟方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
N
A aP bL2 cQ d
收集P,L,Q数据,确定分布函 数 f ( P), f ( L), f (Q) 模拟次数N;根据分 布函数,产生随机数
N
1 2
N
A aP bL2 cQ d
1 2
根据历史数据,预测未来。 产生
N 个 A值
抽取 P,L,Q一 组随机 数,带 入模型
1 N g N g (ri ) N i 1
作为积分的估计值(近似值)。
计算机模拟试验过程
计算机模拟试验过程,就是将试验过 程(如投针问题)化为数学问题,在计算 机上实现。
模拟程序
l=1; d=2; m=0; n=10000 for k=1:n; x=unifrnd(0,d/2); y=unifrnd(0,pi); if x<0.5*1*sin(y) m=m+1 else end end p=m/n pi_m=1/p
i=0 i=0 n-1 n
例2. 掷骰子点数的抽样
掷骰子点数X=n的概率为:
P ( X n) 1 6
x1
与
a.xi 对模 M的同余。
xi 1 是
a.xi
•利用乘同余法产生伪随机数的步骤如下: (1)取种子 1 、乘子 a 、和模数M; (2)由式(1)获得一系列 , ...; 1 2 (3)由式(2)得到一系列 , … 。这就是所要产生的伪随机数 2 1 的序列
x
x x
乘同余方法在计算机上的使用
用MATLAB产生随机数
语言:连续均匀分布的函数表达式为 R=unifrnd(A,B) 演示:for n=1:100; k=unifrnd(0,1) end
随机抽样及其特点
由巳知分布的随机抽样指的是由己知分 布的总体中抽取简单子样。随机数序列是 由单位均匀分布的总体中抽取的简单子样, 属于一种特殊的由已知分布的随机抽样问 题。下表所叙述的由任意已知分布中抽取 简单子样,是在假设随机数为已知量的前 提下,使用严格的数学方法产生的。
蒙特卡罗方法的基本思想
蒙特卡罗方法又称计算机随机模拟方法。 它是以概率统计理论为基础的一种方法。 由蒲丰试验可以看出,当所求问题的解是 某个事件的概率,或者是某个随机变量的 数学期望,或者是与概率、数学期望有关 的量时,通过某种试验的方法,得出该事 件发生的频率,或者该随机变量若干个具 体观察值的算术平均值,通过它得到问题 的解。这就是蒙特卡罗方法的基本思想。
抽样次数与结果精度
1 2 E ( X ) , Var ( X ) x 解的均值与方差的计算公式: n
x2
是随机变量X的方差,而称 Var ( X ) 为估计量方差。通常蒙特卡罗模拟 X 中的样本量n很大,由统计学的中心极限定理知 渐进正态分布, 即: n
x
1 x 1 t2 X lim p( x) e 2 dt 2 x x n
因此,可以通俗地说,蒙特卡罗方法是用随机试 验的方法计算积分,即将所要计算的积分看作服从某 种分布密度函数f(r)的随机变量g(r)的数学期望
g g (r ) f (r )dr
0
通过某种试验,得到N个观察值r1,r2,…,rN(用 概率语言来说,从分布密度函数 f(r) 中抽取 N 个子样 r1 , r2 , … , rN ,),将相应的 N 个随机变量的值 g(r1) , g(r2),…,g(rN)的算术平均值
例如:某随机数表第一行数字为7634258910…,要想得 到三位有效数字的随机数依次为:0.763,0.425,0.891
物理方法
基本原理:利用某些物理现象,在计算机 上增加些特殊设备,可以在计算机上直接 产生随机数。 缺点:无法重复实现 费用昂贵
计算机方法
在计算机上产生随机数最实用、最常见的方 法是数学方法,即用如下递推公式: n1 T (n ) 产生随机数序列,对于给定的初始值 n ,确 定 n 1 ,n=1,2… 存在的问题:1,不满足相互独立的要求 2,不可避免的出现重复问题 所以成为伪随机数 问题的解决:1.选取好的递推公式 2.不是本质问题
该结果表明,为了实现由任意离散型分布的随机抽 样,直接抽样方法是非常理想的。
例1. 二项分布的抽样
为:
二项分布为离散型分布,其概率函数
n P( x n) Pn CN P n (1 P) N n
其中,P为概率。对该分布的直接抽 样方法如下:
X F n, 当 Pi Pi
蒙特卡罗模拟方法
报 告 人 :杨林 吴颖 科 目 :项目风险管理 任课教师 :尹志军
蒙特卡罗模拟方法
一、蒙特卡罗方法概述 二、蒙特卡罗方法模型 三、蒙特卡罗方法的优缺点及其适用范围 四、相关案例分析及软件操作 五、问题及相关答案
Monte Carlo方法的发展历史
早在17世纪,人们就知道用事件发生的 “频率”来决定事件的“概率”。从方法 特征的角度来说可以一直追溯到18世纪后 半叶的蒲丰(Buffon)随机投针试验,即 著名的蒲丰问题。
1707-1788
1777年,古稀之年的蒲丰在家中请来 好些客人玩投针游戏(针长是线距之半), 他事先没有给客人讲与π 有关的事。客人 们虽然不知道主人的用意,但是都参加了 游戏。他们共投针2212次,其中704次相交。 蒲丰说,2212/704=3.142,这就是π 值。 这着实让人们惊喜不已。
统计分析,估计 均值,标准差
X
模型建立的两点说明
Monte Carlo方法在求解一个问题是,总 是需要根据问题的要求构造一个用于求 解的概率统计模型,常见的模型把问题 的解化为一个随机变量 X 的某个参数 的估计问题。 要估计的参数 通常设定为 X 的数学 期望(亦平均值,即 E( X ) )。按 统计学惯例, 可用 的样本 ( X1, X 2, ...X n ) 1 X X 的平均值来估计,即 n
①建立概率统计模型
N
②收集模型中风险变量的数据 , 确定风 险因数的分布函数
⑤根据随机数在各风 险变量的概率分布中 随机抽样,代入第一 步中建立的数学模型
N
N
③根据风险分析的精度要求,确 定模拟次数 N
④建立对随机变量的抽样 方法,产生随机数。
⑥
N 个样本值
⑦统计分析,估计均 值,标准差
例子
某投资项目每年所得盈 利额A由投资额P、劳动 生产率L、和原料及能 源价格Q三个因素。
从而
p(
X ) 1 x n
是标准正态分布中与 α对应的临界值,
式中α位小概率,1- α称为置信度: 可有统计分布表查得。
由
p(
X ) 1 x n
得统计学上称为与置信水平α对应的置信区间:
X x / n X x / n
例.蒲丰氏问题
设针投到地面上的位置 可以用一组参数(x,θ)来描 述,x为针中心的坐标,θ为针 与平行线的夹角,如图所示。 任意投针,就是意味着x 与θ都是任意取的,但x的范围 限于[0,a],夹角θ的范围 限于[0,π]。在此情况下, 针与平行线相交的数学条件是
x l sin
针在平行线间的位置
我们就把
x / n 记做是误差
得到人们习惯的结果误差表示:
X
2
对于指定的误差ε,模拟所需抽样次数n可由 x / n 导出:
x n
随机数
随机数的定义
用Monte Carlo方法模拟某过程时,需要产生各种概率分布的随机变 量。最简单、最基本、最重要的随机变量是在[0,1]上均匀分布 的随机变量。由该分布抽取的简单子样称为随机数序列,其中每一 个体称为随机数。随机数属于一种特殊的由已知分布的随机抽样问 题。随机数是随机抽样的基本工具。 [0,1]上均匀分布(单位均匀分布),其分布密度函数为: 1, 0 x 1 f ( x) 0, 其他
一些人进行了实验,其结果列于下表 :
实验者 沃尔弗(Wolf) 年份 1850 投计次数 5000 π的实验值 3.1596
斯密思(Smith)
福克斯(Fox) 拉查里尼 (Lazzarini)
1855
1894 1901
3204
1120 3408
3.1553
3.1419 3.1415929
20 世纪四十年代,由于电子计算机的出现,利用电子计算机可以 实现大量的随机抽样的试验,使得用随机试验方法解决实际问题 才有了可能。 其中作为当时的代表性工作便是在第二次世界大战期间,为解 决原子弹研制工作中,裂变物质的中子随机扩散问题,美国数学 家冯.诺伊曼(Von Neumann)和乌拉姆(Ulam)等提出蒙特卡 罗模拟方法。 由于当时工作是保密的,就给这种方法起了一个代 号叫蒙特卡罗,即摩纳哥的一个赌城的名字。用赌城的名字作为 随机模拟的名称,既反映了该方法的部分内涵,又易记忆,因而 很快就得到人们的普遍接受。
离散型分布的直接抽样方法
对于任意离散型分布:
F ( x) Pi
xi x
其中 x1 , x2 , … 为离散型分布函数的跳跃点, P1 , P2,… 为相应的概率,根据前述直接抽样法,有离散型 分布的直接抽样方法如下:
X F xI , 当 Pi Pi
i=1 i=1 I-1 I
0, x 0 F ( x ) x, 0 x 1 特征:独立性、均匀性 1, x 1
分布函数为:
随机数的产生方法
随机数表 物理方法 计算机方法
随机数表
随机数表是由0,1,2,…,9十个数字组成,每 个数字以0.1的概率出现,数字之间相互独 立。 方法:如果要得到n位有效数字的随机数, 只需将表中每n个相邻的随机数字合并在一 起,且在最高位的前边加上小数点即可。
为了便于在计算机上使用,通常取 : M=2s 其中s为计算机中二进制数的最大可能有效位数 x1= 奇数 a = 52k+1 其中 k 为使 52k+1 在计算机上所能容纳的最 大整数,即a为计算机上所能容纳的5的最大奇次 幂。一般地,s=32时,a=513;s=48,a=515等。 伪随机数序列的最大容量λ(M)=2s-2 。 乘同余方法是使用的最多、最广的方法,在 计算机上被广泛地使用。
1, 当x l sin s( x, ) 0, 其他
1 sN N
s ( x , )
i 1 i i
N
P s ( x, ) f1 ( x) f 2 ( )dxd
d
0
பைடு நூலகம்
l sin
0
dx 2l a a
2l 2l aP as N
X
n k 1 k
收集模型中风险变量的数据 , 确定 风险因数的分布函数
这时就必须采用主观概率,即由专家做出主观估计得到的概 率。 另一方面,在对估测目标的资料与数据不足的情况下,不可 能得知风险变量的真实分布时,根据当时或以前所收集到的 类似信息和历史资料,通过专家分析或利用德尔菲法还是能 够比较准确地估计上述各风险因素并用各种概率分布进行 描述的。 Crystal ball软件对各种概率分布进行拟合以选取最合适的 分布。
产生伪随机数的乘同余方法
乘同余方法是由Lehmer在1951年提出来的,它的一般形式是:对于 任一初始值x1,伪随机数序列由下面递推公式确定:
xi 1 a.xi (mod M )
2
xi 1 , i 1, 2, M
被M 整除后的余数,叫做
a 为乘子, X i为种子(初值);M成为模数。上式表示
直接抽样方法
对于任意给定的分布函数F(x),直接抽样方法如下:
X n inf t , n 1,2,, N
F ( t ) n
其中,ξ1,ξ2,…,ξN为随机数序列。为方便起见, 将上式简化为:
X F inf t
F ( t )
若不加特殊说明,今后将总用这种类似的简化形式 表示,ξ总表示随机数。
A aP bL2 cQ d
收集P,L,Q数据,确定分布函 数 f ( P), f ( L), f (Q) 模拟次数N;根据分 布函数,产生随机数
N
1 2
N
A aP bL2 cQ d
1 2
根据历史数据,预测未来。 产生
N 个 A值
抽取 P,L,Q一 组随机 数,带 入模型
1 N g N g (ri ) N i 1
作为积分的估计值(近似值)。
计算机模拟试验过程
计算机模拟试验过程,就是将试验过 程(如投针问题)化为数学问题,在计算 机上实现。
模拟程序
l=1; d=2; m=0; n=10000 for k=1:n; x=unifrnd(0,d/2); y=unifrnd(0,pi); if x<0.5*1*sin(y) m=m+1 else end end p=m/n pi_m=1/p
i=0 i=0 n-1 n
例2. 掷骰子点数的抽样
掷骰子点数X=n的概率为:
P ( X n) 1 6
x1
与
a.xi 对模 M的同余。
xi 1 是
a.xi
•利用乘同余法产生伪随机数的步骤如下: (1)取种子 1 、乘子 a 、和模数M; (2)由式(1)获得一系列 , ...; 1 2 (3)由式(2)得到一系列 , … 。这就是所要产生的伪随机数 2 1 的序列
x
x x
乘同余方法在计算机上的使用
用MATLAB产生随机数
语言:连续均匀分布的函数表达式为 R=unifrnd(A,B) 演示:for n=1:100; k=unifrnd(0,1) end
随机抽样及其特点
由巳知分布的随机抽样指的是由己知分 布的总体中抽取简单子样。随机数序列是 由单位均匀分布的总体中抽取的简单子样, 属于一种特殊的由已知分布的随机抽样问 题。下表所叙述的由任意已知分布中抽取 简单子样,是在假设随机数为已知量的前 提下,使用严格的数学方法产生的。
蒙特卡罗方法的基本思想
蒙特卡罗方法又称计算机随机模拟方法。 它是以概率统计理论为基础的一种方法。 由蒲丰试验可以看出,当所求问题的解是 某个事件的概率,或者是某个随机变量的 数学期望,或者是与概率、数学期望有关 的量时,通过某种试验的方法,得出该事 件发生的频率,或者该随机变量若干个具 体观察值的算术平均值,通过它得到问题 的解。这就是蒙特卡罗方法的基本思想。
抽样次数与结果精度
1 2 E ( X ) , Var ( X ) x 解的均值与方差的计算公式: n
x2
是随机变量X的方差,而称 Var ( X ) 为估计量方差。通常蒙特卡罗模拟 X 中的样本量n很大,由统计学的中心极限定理知 渐进正态分布, 即: n
x
1 x 1 t2 X lim p( x) e 2 dt 2 x x n
因此,可以通俗地说,蒙特卡罗方法是用随机试 验的方法计算积分,即将所要计算的积分看作服从某 种分布密度函数f(r)的随机变量g(r)的数学期望
g g (r ) f (r )dr
0
通过某种试验,得到N个观察值r1,r2,…,rN(用 概率语言来说,从分布密度函数 f(r) 中抽取 N 个子样 r1 , r2 , … , rN ,),将相应的 N 个随机变量的值 g(r1) , g(r2),…,g(rN)的算术平均值
例如:某随机数表第一行数字为7634258910…,要想得 到三位有效数字的随机数依次为:0.763,0.425,0.891
物理方法
基本原理:利用某些物理现象,在计算机 上增加些特殊设备,可以在计算机上直接 产生随机数。 缺点:无法重复实现 费用昂贵
计算机方法
在计算机上产生随机数最实用、最常见的方 法是数学方法,即用如下递推公式: n1 T (n ) 产生随机数序列,对于给定的初始值 n ,确 定 n 1 ,n=1,2… 存在的问题:1,不满足相互独立的要求 2,不可避免的出现重复问题 所以成为伪随机数 问题的解决:1.选取好的递推公式 2.不是本质问题
该结果表明,为了实现由任意离散型分布的随机抽 样,直接抽样方法是非常理想的。
例1. 二项分布的抽样
为:
二项分布为离散型分布,其概率函数
n P( x n) Pn CN P n (1 P) N n
其中,P为概率。对该分布的直接抽 样方法如下:
X F n, 当 Pi Pi
蒙特卡罗模拟方法
报 告 人 :杨林 吴颖 科 目 :项目风险管理 任课教师 :尹志军
蒙特卡罗模拟方法
一、蒙特卡罗方法概述 二、蒙特卡罗方法模型 三、蒙特卡罗方法的优缺点及其适用范围 四、相关案例分析及软件操作 五、问题及相关答案
Monte Carlo方法的发展历史
早在17世纪,人们就知道用事件发生的 “频率”来决定事件的“概率”。从方法 特征的角度来说可以一直追溯到18世纪后 半叶的蒲丰(Buffon)随机投针试验,即 著名的蒲丰问题。
1707-1788
1777年,古稀之年的蒲丰在家中请来 好些客人玩投针游戏(针长是线距之半), 他事先没有给客人讲与π 有关的事。客人 们虽然不知道主人的用意,但是都参加了 游戏。他们共投针2212次,其中704次相交。 蒲丰说,2212/704=3.142,这就是π 值。 这着实让人们惊喜不已。
统计分析,估计 均值,标准差
X
模型建立的两点说明
Monte Carlo方法在求解一个问题是,总 是需要根据问题的要求构造一个用于求 解的概率统计模型,常见的模型把问题 的解化为一个随机变量 X 的某个参数 的估计问题。 要估计的参数 通常设定为 X 的数学 期望(亦平均值,即 E( X ) )。按 统计学惯例, 可用 的样本 ( X1, X 2, ...X n ) 1 X X 的平均值来估计,即 n
①建立概率统计模型
N
②收集模型中风险变量的数据 , 确定风 险因数的分布函数
⑤根据随机数在各风 险变量的概率分布中 随机抽样,代入第一 步中建立的数学模型
N
N
③根据风险分析的精度要求,确 定模拟次数 N
④建立对随机变量的抽样 方法,产生随机数。
⑥
N 个样本值
⑦统计分析,估计均 值,标准差
例子
某投资项目每年所得盈 利额A由投资额P、劳动 生产率L、和原料及能 源价格Q三个因素。
从而
p(
X ) 1 x n
是标准正态分布中与 α对应的临界值,
式中α位小概率,1- α称为置信度: 可有统计分布表查得。
由
p(
X ) 1 x n
得统计学上称为与置信水平α对应的置信区间:
X x / n X x / n
例.蒲丰氏问题
设针投到地面上的位置 可以用一组参数(x,θ)来描 述,x为针中心的坐标,θ为针 与平行线的夹角,如图所示。 任意投针,就是意味着x 与θ都是任意取的,但x的范围 限于[0,a],夹角θ的范围 限于[0,π]。在此情况下, 针与平行线相交的数学条件是
x l sin
针在平行线间的位置
我们就把
x / n 记做是误差
得到人们习惯的结果误差表示:
X
2
对于指定的误差ε,模拟所需抽样次数n可由 x / n 导出:
x n
随机数
随机数的定义
用Monte Carlo方法模拟某过程时,需要产生各种概率分布的随机变 量。最简单、最基本、最重要的随机变量是在[0,1]上均匀分布 的随机变量。由该分布抽取的简单子样称为随机数序列,其中每一 个体称为随机数。随机数属于一种特殊的由已知分布的随机抽样问 题。随机数是随机抽样的基本工具。 [0,1]上均匀分布(单位均匀分布),其分布密度函数为: 1, 0 x 1 f ( x) 0, 其他
一些人进行了实验,其结果列于下表 :
实验者 沃尔弗(Wolf) 年份 1850 投计次数 5000 π的实验值 3.1596
斯密思(Smith)
福克斯(Fox) 拉查里尼 (Lazzarini)
1855
1894 1901
3204
1120 3408
3.1553
3.1419 3.1415929
20 世纪四十年代,由于电子计算机的出现,利用电子计算机可以 实现大量的随机抽样的试验,使得用随机试验方法解决实际问题 才有了可能。 其中作为当时的代表性工作便是在第二次世界大战期间,为解 决原子弹研制工作中,裂变物质的中子随机扩散问题,美国数学 家冯.诺伊曼(Von Neumann)和乌拉姆(Ulam)等提出蒙特卡 罗模拟方法。 由于当时工作是保密的,就给这种方法起了一个代 号叫蒙特卡罗,即摩纳哥的一个赌城的名字。用赌城的名字作为 随机模拟的名称,既反映了该方法的部分内涵,又易记忆,因而 很快就得到人们的普遍接受。
离散型分布的直接抽样方法
对于任意离散型分布:
F ( x) Pi
xi x
其中 x1 , x2 , … 为离散型分布函数的跳跃点, P1 , P2,… 为相应的概率,根据前述直接抽样法,有离散型 分布的直接抽样方法如下:
X F xI , 当 Pi Pi
i=1 i=1 I-1 I
0, x 0 F ( x ) x, 0 x 1 特征:独立性、均匀性 1, x 1
分布函数为:
随机数的产生方法
随机数表 物理方法 计算机方法
随机数表
随机数表是由0,1,2,…,9十个数字组成,每 个数字以0.1的概率出现,数字之间相互独 立。 方法:如果要得到n位有效数字的随机数, 只需将表中每n个相邻的随机数字合并在一 起,且在最高位的前边加上小数点即可。
为了便于在计算机上使用,通常取 : M=2s 其中s为计算机中二进制数的最大可能有效位数 x1= 奇数 a = 52k+1 其中 k 为使 52k+1 在计算机上所能容纳的最 大整数,即a为计算机上所能容纳的5的最大奇次 幂。一般地,s=32时,a=513;s=48,a=515等。 伪随机数序列的最大容量λ(M)=2s-2 。 乘同余方法是使用的最多、最广的方法,在 计算机上被广泛地使用。
1, 当x l sin s( x, ) 0, 其他
1 sN N
s ( x , )
i 1 i i
N
P s ( x, ) f1 ( x) f 2 ( )dxd
d
0
பைடு நூலகம்
l sin
0
dx 2l a a
2l 2l aP as N
X
n k 1 k
收集模型中风险变量的数据 , 确定 风险因数的分布函数
这时就必须采用主观概率,即由专家做出主观估计得到的概 率。 另一方面,在对估测目标的资料与数据不足的情况下,不可 能得知风险变量的真实分布时,根据当时或以前所收集到的 类似信息和历史资料,通过专家分析或利用德尔菲法还是能 够比较准确地估计上述各风险因素并用各种概率分布进行 描述的。 Crystal ball软件对各种概率分布进行拟合以选取最合适的 分布。
产生伪随机数的乘同余方法
乘同余方法是由Lehmer在1951年提出来的,它的一般形式是:对于 任一初始值x1,伪随机数序列由下面递推公式确定:
xi 1 a.xi (mod M )
2
xi 1 , i 1, 2, M
被M 整除后的余数,叫做
a 为乘子, X i为种子(初值);M成为模数。上式表示
直接抽样方法
对于任意给定的分布函数F(x),直接抽样方法如下:
X n inf t , n 1,2,, N
F ( t ) n
其中,ξ1,ξ2,…,ξN为随机数序列。为方便起见, 将上式简化为:
X F inf t
F ( t )
若不加特殊说明,今后将总用这种类似的简化形式 表示,ξ总表示随机数。