随机性模型与模拟方法 数学建模
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
X 1 = [−2 ln( RND1 )]1/ 2 cos(2π RND2 )
和
X 2 = [−2 ln( RND1 )]1/ 2 cos(2π RND2 )
来给出 X 的两个值,令X = σ X 2 + µ 或 X = σ X 1 + µ 可以生成 ( µ , σ ) 型的正态分布。
为了得到离散的随机变量,我们把 分成若 干部分。例如设计一个离散的随机变量有下列的 概率函数。 0 1 2 P (x) 0.3 0.3 0.4 取一个RND值:如果 0 < RND < 0.3 ,则 X = 0 ; 如果 0.3 < RND < 0.6 ,则 X = 1 ; 如果0.6 < RND ,则 X = 2 。 对于连续的随机变量除了取生成的随机变量是每 类的中点外,我们可以用同样的思想进行列表分 类。如
二、蒙特卡罗方法
蒙特卡罗方法是计算模拟的基础,其名字来源于 世界著名的赌城——摩纳哥的蒙特卡罗。其思想 来源于著名的蒲丰投针问题。 1777年法国科学家蒲丰提出了下述著名问题:平 a ( a > 0) 面上画有等距离 的一些平行线,取一根长 l (l > 0) 度为 的针,随机地向有平行线的平面上掷 去,求针与平行线相交的概率。 我们用几何概型来解决这一问题。设M为针落下 x 表示中点M到最近一条平行线的距离, 后的中点, ϕ 表示针于平行线的交角,如图2.18所示。那么基 a 本时间区域 Ω = ( x, ϕ ) | 0 ≤ x ≤ , 0 ≤ ϕ ≤ π
使用前者的好处在于能精确地叙述变量的概率,在 处理问题时可以充分发挥数理统计的作用。但这一 好处把所求模式制约在了处理简单情形。随着复杂 性的增加,数学就变的太难。使用后者的好处在于 模型时基于观测到的数据而不是基于假设之上。增 加复杂性并不成为一大障碍,但我们不再能利用数 理统计而得求助于模拟以及模型的统计结果。 在建立随机性模型时,首先要注意,将要处理的是 离散还是连续的随机变量。 1、离散随机变量 离散随机变量的理论模型是由概率函数 p ( x ) = P ( X = x ) 来刻画的。这个式子说明随机变量 X 取值 x 时的概 率。对于离散型的随机变量有下面三种重要的分布
P { x = k} = (
特别,当
n k
)
p (1 − p)
k
n−k
, k = 0,1, 2,..., n
n = 1 时二项分布就是(0-1)分布。
(3)泊松分布 设随机变量 X 所有可能的取值 为 0,1, 2,..., 而取各个值的概率为
P { x = k} =
λ k e−λ
k!
,
k = 0,1, 2,...n,
2 1
(1)均匀分布
设连续型随机变量 X 具有概率密度
a<x<b 其他
1 , f ( x) = b − a 0,
则称 X 在区间(a,b)上服从均匀分布。 在区间(a,b)上服从均匀分布的随机变量 X ,具 有下述意义的等可能性,即它落在区间(a,b)中任 意等长度的子区间内的可能性是相同的,或者说它落 在子区间内的概率只依赖于子区间的长度而与子区间 的位置无关。 (2)正态分布 设连续型随机变量 X 的概率密度为
实验者 pulf Smith 年份 1850 1855 针长 0.8 0.6 1.0 0.75 0.83 0.5419 投掷次数 5000 3204 600 1030 3408 2520 相交次数 2532 1218.5 382.5 489 1808 859 的实验 值 3.1596 3.1554 3.137 3.1595 3.141592 3.1795
1 00 0
我们可以从它构造出另外的随机变量。例如,可 以从X = a + (b − a)RND 给出区间 [a, b] 上的连续均匀 分布的随机变量。如果我们要生成带参数 λ 的指 数分布,可以用 X = −(1/ λ ) ln( RND) 。 如果我们要 生成平均值未零,标准差为 1 的正态分布,可以 用下列公式
其中,λ > 0 是常数,则称 X 服从参数为 λ 的泊松 分布。可以证明当 p 很小时,以 n , p 为参数的二 项分布,当 n→∞ 时趋于以 λ 为参数的泊松分布, λ = np 其中
2、连续的随机变量 、
理论模型的连续型随机变量可以由概率密度函数 ( pdf ) f ( x) 来描述,对所有的 x 存在 f ( x ) ≥ 0 ∞ ,且 ∫ − ∞ f ( x )d x = 1 ,随机变量落在区间 ( x1 , x2 ] x 的概率可由 ∫x f ( x)dx 来给出,在连续型随机变 量中下述两种是重要的 。
(0-1)分布 设随机变量 X 只可能取0、1两 个值,它的分布规律是 P { X = k} = p k (1 − p )1− k , k = 0,1(0 < p < 1) 则称 X 服从(0-1)分布。对于一个随机实验,如 果它的样本空间只包含两个元素, 即 S = {e1 , e2 } ,我们总能在 S 上定义一个服 从(0-1)分布的随机变量
2
x
a 2
a
x=
l sin ϕ 2
Ω
M
ϕ x
o
π
图2.18
aπ 它为平面上的一个矩形,其面积为 S (Ω) = 。 2
为使针与平行线(与 最后的一条平行线)相 交,其充要条件是 aπ 0 ≤ x ≤ A= 2 0≤ϕ ≤π
1 A 的面积为 S ( A) = ∫0 l sin ϕ dϕ = l ,这样针与平行线 2 相交的概率为 S ( A) p = S (Ω )
π
设一共投掷 n 次( n 是一个事先选好的相当大 的自然数),观察到针和直线相交的次数为 m 。
从上式我们看到,当比值 l / a 不变时, p 值始终 不变。取 m /nn为 p 的近似值,我们可以算出 π 的 m 近似值。可以想象当投掷次数越来越多时计算的结 果就越来越准确。下表时这些实验的有关资料 (此 处把 a 折算为1):
必须作出合适的选择。例如,假设在上述问题中的 随机变量取三个值时等于可能的,这样其概率函数 为
X
P ( x)
0
1 3
1
1 3
2
1 3
这个例子说明在处理随机变量的模型时有以下两种 选择: (1)使用一个理论模型。这在任何一本概率统计 的书上都可以找到一些标准的理论模型如二项分布 等。每一个都基于一定的假设之下成立的,所以在 选用时要特别注意其假设条件。 (2)使用基于实际数据的频率表,并不去套用不 准理论模型。
这种方法的思想是,设计一个把 0 和 M 之间的整 数映射到它们自身上的函数 f ,然后从 x 0 开始, 依次计算 f ( x0 ) = x1 , f ( x1 ) = x2 ,L. 例如通过下面的 公式可以产生这样的一组随机变量 X n +1 (m o d 1 00 0), R n + 1 = X n +1 = 97 X n + 3 给定任意一个初值,如 X 0 = 71, 代入公式 得 X 1 = 890 ,然后用 1000 去除得 R1 = 0.890 ;同样 X 1 = 890 代入公式,可以得 R 2 = 0.333,重复这一过 程可以得到我们所需要的一组随机变量。在程序 设计和软件包中通常用 来表示由这样,我们 用它来表示从 [ 0 , 1] 上的均匀分布所产生的随机变 量。
三、随机数的生成
我们知道对于丢硬币的随机结果可以用以下的离散 随机变量的改里函数来描述
X P(x) 0 0.5 1 0.5
如果我们需要模拟随机变量的以个值或一个集合, 可以用丢硬币然后记录其其结果的方法来得到,然 而这具又相当的局限性,这里我们用数学程序来产 生拟随机变量。即看上去是随机出现的,但并非真 正的随家便朗,它们产生于一个梯推公式。不过这 些拟随机数并没有明显的规律,当给于适当的伸缩 之后,它们非常接近于在 [ 0,1] 区间的均匀分布。
0 当e = e1 X = X (e) = 1 当e = e2
来描述这个随机实验的结果。例如,对新生儿的性 别进行登记,检查产品的质量是否合格等都可以 用(0-1)分布的随机变量来描述。
(2)二项分布 设实验E 只有两个可能的结果, 将 E 独立地重复地进行 n 次,则称这一串重复的 独立实验为 重贝努利实验。它是一重和重要的 数学模型,有着广泛的应用。若用 X 表示 n 重贝 努利实验中事件 A 发生的次数, X 是一个随机变 量,它服从如下的二项分布
随机性模型与模拟方法
随机变量 蒙特卡罗方法 随机数的生成 模拟
一、随机变量
何谓随机变量?随机变量是一个其值不可 预测的变量。虽然一个随机变量在个别试验 中其结果不确定,但在大量重复试验中其结 果是具有统计规律的。正是随机变量的这种 规律性使我们可以利用它来建模。例如我们 可以利用下述的数据:
时间t( 时间 (秒) 0 变量X 1 变量 1 2 0 2 3 2 4 1 5 2 6 0 7 1 8 0 9 2
− 1 2σ 2 , −∞ < x < +∞ f ( x) = e 2πσ 其中 µ , σ (σ > 0 )为常数,则称X 服从参数为 µ , σ 的
( x − µ )2
正态分布。 连续型随机变量的值如同离散的一样可以用频 率表给出,但不同的是离散的随机变量每个频率 对应于随机变量的一个值,而对于随机变量每一 个频率对应于随机变量的一个取值范围。
(1)逆累积分布函数法 如果随机变量的 pdf x 是 f ( x) , 则累积分布函数是 F ( x) = ∫−∞ f (t )dt 。如果把它作为一个随机变量,F 是 [0,1]上的均 匀分布。从 [0,1] 上的均匀分布取一个 RND 值,解 −1 RND = F ( x) 得对应得 x(= F ( RND)) 的值, 方程 例如,设 0< x <π 0.5sin x
f ( x) =
x
0
否则
累积分布函数为
x F ( x) = ∫ 0.5sintdt = −0.5cos t 0 = 0.5(1 − cos x) 0 解 RND = 0.5(1 − cos X ) 得 X = arccos(1 − 2 RND) 。这就
是我们所要的由这个分布所生成的 X 的值
De Morggen C 1860 Fox Lazzerini Reina 1884 1901 1925
由此可以看出蒙特卡罗方法的基本步骤:首先,建立 一个概率模型,使它的某个参数等于问题的解。然后按 照假设的分布,对随机变量选出具体的值(这一过程又 叫着抽样),从而构造出一个确定性的模型,计算出结 果。再通过几次抽样实验的结果,的到参数的统计特性, 最终算出解的近似值。 蒙特卡罗方法主要用再难以定量分析的概率模型,这 种模型一般的不到解析的结果,或虽然又解析结果,但 计算代价太大以至不可用。也可以用在算不出解析结果 的定性模型中。 用蒙特卡罗方法解题,需要根据随机变量遵循的分布 规律选出具体的至,即抽样。随机变量的抽样方法很多, 不同的分布采用的方法不尽相同。在计算机上的各种分 布的随机数事实上都是按照一定的确定性方法产生的伪 随机数。
得出一个模型。
X是一个离散的随机变量并取值于 0,1和2。我们 不可能给出 X 与 t 的确定的关系式,但是可以通 过数 X 的不同值出现次数来描述这随机型 的规律 列表如下:
X
频数 频率 0 3 0.3 1 3 0.3 2 4 0.4
这个表给出了随机变量 X 的变化规律,频率告 诉某个特定的事件发生的频繁程度。如果我们需要 构造一个含有随机变量的模型,可以假设这个规律 总是成立的,模型的假设可以基于这几个数据之上。 实际操作时可以把频率分布当作概率函数来处理, 但应注意概率是频率的极限值,这两者是有差异的。 在处理一个简单的理论模型时,对概率函数
x
Xຫໍສະໝຸດ Baidu
频率
0-10 0.2
10-15 0.5
15-20 0.3
0.36 的一个 RND 值将平移到 X = 12.5 。一个更细 致的方法是用线性插值而不是取中点,即
X − 10 0.36 − 0.2 = 5 0.5
给出 X = 11.6 。 从已知的 pdf 模拟一个连续随机变量的理论分 布,可以用以下方法:
和
X 2 = [−2 ln( RND1 )]1/ 2 cos(2π RND2 )
来给出 X 的两个值,令X = σ X 2 + µ 或 X = σ X 1 + µ 可以生成 ( µ , σ ) 型的正态分布。
为了得到离散的随机变量,我们把 分成若 干部分。例如设计一个离散的随机变量有下列的 概率函数。 0 1 2 P (x) 0.3 0.3 0.4 取一个RND值:如果 0 < RND < 0.3 ,则 X = 0 ; 如果 0.3 < RND < 0.6 ,则 X = 1 ; 如果0.6 < RND ,则 X = 2 。 对于连续的随机变量除了取生成的随机变量是每 类的中点外,我们可以用同样的思想进行列表分 类。如
二、蒙特卡罗方法
蒙特卡罗方法是计算模拟的基础,其名字来源于 世界著名的赌城——摩纳哥的蒙特卡罗。其思想 来源于著名的蒲丰投针问题。 1777年法国科学家蒲丰提出了下述著名问题:平 a ( a > 0) 面上画有等距离 的一些平行线,取一根长 l (l > 0) 度为 的针,随机地向有平行线的平面上掷 去,求针与平行线相交的概率。 我们用几何概型来解决这一问题。设M为针落下 x 表示中点M到最近一条平行线的距离, 后的中点, ϕ 表示针于平行线的交角,如图2.18所示。那么基 a 本时间区域 Ω = ( x, ϕ ) | 0 ≤ x ≤ , 0 ≤ ϕ ≤ π
使用前者的好处在于能精确地叙述变量的概率,在 处理问题时可以充分发挥数理统计的作用。但这一 好处把所求模式制约在了处理简单情形。随着复杂 性的增加,数学就变的太难。使用后者的好处在于 模型时基于观测到的数据而不是基于假设之上。增 加复杂性并不成为一大障碍,但我们不再能利用数 理统计而得求助于模拟以及模型的统计结果。 在建立随机性模型时,首先要注意,将要处理的是 离散还是连续的随机变量。 1、离散随机变量 离散随机变量的理论模型是由概率函数 p ( x ) = P ( X = x ) 来刻画的。这个式子说明随机变量 X 取值 x 时的概 率。对于离散型的随机变量有下面三种重要的分布
P { x = k} = (
特别,当
n k
)
p (1 − p)
k
n−k
, k = 0,1, 2,..., n
n = 1 时二项分布就是(0-1)分布。
(3)泊松分布 设随机变量 X 所有可能的取值 为 0,1, 2,..., 而取各个值的概率为
P { x = k} =
λ k e−λ
k!
,
k = 0,1, 2,...n,
2 1
(1)均匀分布
设连续型随机变量 X 具有概率密度
a<x<b 其他
1 , f ( x) = b − a 0,
则称 X 在区间(a,b)上服从均匀分布。 在区间(a,b)上服从均匀分布的随机变量 X ,具 有下述意义的等可能性,即它落在区间(a,b)中任 意等长度的子区间内的可能性是相同的,或者说它落 在子区间内的概率只依赖于子区间的长度而与子区间 的位置无关。 (2)正态分布 设连续型随机变量 X 的概率密度为
实验者 pulf Smith 年份 1850 1855 针长 0.8 0.6 1.0 0.75 0.83 0.5419 投掷次数 5000 3204 600 1030 3408 2520 相交次数 2532 1218.5 382.5 489 1808 859 的实验 值 3.1596 3.1554 3.137 3.1595 3.141592 3.1795
1 00 0
我们可以从它构造出另外的随机变量。例如,可 以从X = a + (b − a)RND 给出区间 [a, b] 上的连续均匀 分布的随机变量。如果我们要生成带参数 λ 的指 数分布,可以用 X = −(1/ λ ) ln( RND) 。 如果我们要 生成平均值未零,标准差为 1 的正态分布,可以 用下列公式
其中,λ > 0 是常数,则称 X 服从参数为 λ 的泊松 分布。可以证明当 p 很小时,以 n , p 为参数的二 项分布,当 n→∞ 时趋于以 λ 为参数的泊松分布, λ = np 其中
2、连续的随机变量 、
理论模型的连续型随机变量可以由概率密度函数 ( pdf ) f ( x) 来描述,对所有的 x 存在 f ( x ) ≥ 0 ∞ ,且 ∫ − ∞ f ( x )d x = 1 ,随机变量落在区间 ( x1 , x2 ] x 的概率可由 ∫x f ( x)dx 来给出,在连续型随机变 量中下述两种是重要的 。
(0-1)分布 设随机变量 X 只可能取0、1两 个值,它的分布规律是 P { X = k} = p k (1 − p )1− k , k = 0,1(0 < p < 1) 则称 X 服从(0-1)分布。对于一个随机实验,如 果它的样本空间只包含两个元素, 即 S = {e1 , e2 } ,我们总能在 S 上定义一个服 从(0-1)分布的随机变量
2
x
a 2
a
x=
l sin ϕ 2
Ω
M
ϕ x
o
π
图2.18
aπ 它为平面上的一个矩形,其面积为 S (Ω) = 。 2
为使针与平行线(与 最后的一条平行线)相 交,其充要条件是 aπ 0 ≤ x ≤ A= 2 0≤ϕ ≤π
1 A 的面积为 S ( A) = ∫0 l sin ϕ dϕ = l ,这样针与平行线 2 相交的概率为 S ( A) p = S (Ω )
π
设一共投掷 n 次( n 是一个事先选好的相当大 的自然数),观察到针和直线相交的次数为 m 。
从上式我们看到,当比值 l / a 不变时, p 值始终 不变。取 m /nn为 p 的近似值,我们可以算出 π 的 m 近似值。可以想象当投掷次数越来越多时计算的结 果就越来越准确。下表时这些实验的有关资料 (此 处把 a 折算为1):
必须作出合适的选择。例如,假设在上述问题中的 随机变量取三个值时等于可能的,这样其概率函数 为
X
P ( x)
0
1 3
1
1 3
2
1 3
这个例子说明在处理随机变量的模型时有以下两种 选择: (1)使用一个理论模型。这在任何一本概率统计 的书上都可以找到一些标准的理论模型如二项分布 等。每一个都基于一定的假设之下成立的,所以在 选用时要特别注意其假设条件。 (2)使用基于实际数据的频率表,并不去套用不 准理论模型。
这种方法的思想是,设计一个把 0 和 M 之间的整 数映射到它们自身上的函数 f ,然后从 x 0 开始, 依次计算 f ( x0 ) = x1 , f ( x1 ) = x2 ,L. 例如通过下面的 公式可以产生这样的一组随机变量 X n +1 (m o d 1 00 0), R n + 1 = X n +1 = 97 X n + 3 给定任意一个初值,如 X 0 = 71, 代入公式 得 X 1 = 890 ,然后用 1000 去除得 R1 = 0.890 ;同样 X 1 = 890 代入公式,可以得 R 2 = 0.333,重复这一过 程可以得到我们所需要的一组随机变量。在程序 设计和软件包中通常用 来表示由这样,我们 用它来表示从 [ 0 , 1] 上的均匀分布所产生的随机变 量。
三、随机数的生成
我们知道对于丢硬币的随机结果可以用以下的离散 随机变量的改里函数来描述
X P(x) 0 0.5 1 0.5
如果我们需要模拟随机变量的以个值或一个集合, 可以用丢硬币然后记录其其结果的方法来得到,然 而这具又相当的局限性,这里我们用数学程序来产 生拟随机变量。即看上去是随机出现的,但并非真 正的随家便朗,它们产生于一个梯推公式。不过这 些拟随机数并没有明显的规律,当给于适当的伸缩 之后,它们非常接近于在 [ 0,1] 区间的均匀分布。
0 当e = e1 X = X (e) = 1 当e = e2
来描述这个随机实验的结果。例如,对新生儿的性 别进行登记,检查产品的质量是否合格等都可以 用(0-1)分布的随机变量来描述。
(2)二项分布 设实验E 只有两个可能的结果, 将 E 独立地重复地进行 n 次,则称这一串重复的 独立实验为 重贝努利实验。它是一重和重要的 数学模型,有着广泛的应用。若用 X 表示 n 重贝 努利实验中事件 A 发生的次数, X 是一个随机变 量,它服从如下的二项分布
随机性模型与模拟方法
随机变量 蒙特卡罗方法 随机数的生成 模拟
一、随机变量
何谓随机变量?随机变量是一个其值不可 预测的变量。虽然一个随机变量在个别试验 中其结果不确定,但在大量重复试验中其结 果是具有统计规律的。正是随机变量的这种 规律性使我们可以利用它来建模。例如我们 可以利用下述的数据:
时间t( 时间 (秒) 0 变量X 1 变量 1 2 0 2 3 2 4 1 5 2 6 0 7 1 8 0 9 2
− 1 2σ 2 , −∞ < x < +∞ f ( x) = e 2πσ 其中 µ , σ (σ > 0 )为常数,则称X 服从参数为 µ , σ 的
( x − µ )2
正态分布。 连续型随机变量的值如同离散的一样可以用频 率表给出,但不同的是离散的随机变量每个频率 对应于随机变量的一个值,而对于随机变量每一 个频率对应于随机变量的一个取值范围。
(1)逆累积分布函数法 如果随机变量的 pdf x 是 f ( x) , 则累积分布函数是 F ( x) = ∫−∞ f (t )dt 。如果把它作为一个随机变量,F 是 [0,1]上的均 匀分布。从 [0,1] 上的均匀分布取一个 RND 值,解 −1 RND = F ( x) 得对应得 x(= F ( RND)) 的值, 方程 例如,设 0< x <π 0.5sin x
f ( x) =
x
0
否则
累积分布函数为
x F ( x) = ∫ 0.5sintdt = −0.5cos t 0 = 0.5(1 − cos x) 0 解 RND = 0.5(1 − cos X ) 得 X = arccos(1 − 2 RND) 。这就
是我们所要的由这个分布所生成的 X 的值
De Morggen C 1860 Fox Lazzerini Reina 1884 1901 1925
由此可以看出蒙特卡罗方法的基本步骤:首先,建立 一个概率模型,使它的某个参数等于问题的解。然后按 照假设的分布,对随机变量选出具体的值(这一过程又 叫着抽样),从而构造出一个确定性的模型,计算出结 果。再通过几次抽样实验的结果,的到参数的统计特性, 最终算出解的近似值。 蒙特卡罗方法主要用再难以定量分析的概率模型,这 种模型一般的不到解析的结果,或虽然又解析结果,但 计算代价太大以至不可用。也可以用在算不出解析结果 的定性模型中。 用蒙特卡罗方法解题,需要根据随机变量遵循的分布 规律选出具体的至,即抽样。随机变量的抽样方法很多, 不同的分布采用的方法不尽相同。在计算机上的各种分 布的随机数事实上都是按照一定的确定性方法产生的伪 随机数。
得出一个模型。
X是一个离散的随机变量并取值于 0,1和2。我们 不可能给出 X 与 t 的确定的关系式,但是可以通 过数 X 的不同值出现次数来描述这随机型 的规律 列表如下:
X
频数 频率 0 3 0.3 1 3 0.3 2 4 0.4
这个表给出了随机变量 X 的变化规律,频率告 诉某个特定的事件发生的频繁程度。如果我们需要 构造一个含有随机变量的模型,可以假设这个规律 总是成立的,模型的假设可以基于这几个数据之上。 实际操作时可以把频率分布当作概率函数来处理, 但应注意概率是频率的极限值,这两者是有差异的。 在处理一个简单的理论模型时,对概率函数
x
Xຫໍສະໝຸດ Baidu
频率
0-10 0.2
10-15 0.5
15-20 0.3
0.36 的一个 RND 值将平移到 X = 12.5 。一个更细 致的方法是用线性插值而不是取中点,即
X − 10 0.36 − 0.2 = 5 0.5
给出 X = 11.6 。 从已知的 pdf 模拟一个连续随机变量的理论分 布,可以用以下方法: