应用随机过程第4章随机模拟
4.2 随机数的抽样
› 标准分布随机数生成 – 伪随机数生成算法 – RANUNI生成的随机均匀分布数据有着广泛的应 用,它主要是通过以下递归公式来产生随机数据, – R(i+1)=(a*R(i)+c) (mod m) i=0,1,2…, – 这里R(i)为第i个随机数,a为乘子,c为增量, (mod m)是指将(a*R(i)+c)得到的数据取模运算, 使得得到的数据都在(0,m)这个区间内。 – 要产生的随机数序列R(i)从第一个随机数R(0)开 始和决定,然后得到在(0,m)这个区间的均匀分布 的随机数,SAS会通过除以m得到(0,1)区间的随 机数。
4.2 随机数的抽样
› 非标准分布随机数生成:接受-拒绝法
› 接受拒绝法(Acceptance Rejection Method)算法: › 1.选择一个容易抽样的分布g作为建议分布,确定常数M>1使 得在f的定义域上f(x)≤Mg(x)成立; › 2.生成服从分布g的建议随机数y; › 3.生成一个服从均匀分布U(0,1)的随机数u; › 4.计算接受比函数h(x)=f(x)/(Mg(x)), 如果u < h(x),则接受建 议随机数y,否则拒绝y,返回2。 › 由此生成的随机数序列即为服从目标分布f的随机数。证明略。
4.2 随机数的抽样
› 由SAS生成50000个服从指定离散分布(1/0.1 2/0.2 3/0.4 4/0.2 5/0.1)的随机数,对生成的样本作频数统 计,并作分布拟合检验。 样本容量为 50000时,样本 分布与期望分 布的差异减小, (检验统计量 的值由7.0625 减小为 2.1371)。 分布拟合检 验结果接受原 假设,即认为 样本分布与期 望分布相同。
4.2 随机数的抽样
› 标准分布随机数生成 – 伪随机数生成算法 – 蒙特卡罗模拟的核心是随机数据的生成器,而各 种随机数据的生成器的核心是随机均匀分布数据 的生成器,因为各种特定分布的随机数据都可以 通过随机均匀分布数据得到。 – 产生随机数,可以通过物理方法取得,但当今最 为普遍的乃是在计算机上利用数学方法产生随机 数。这种随机数根据特定的迭代公式计算出来, 初值确定后,序列就可以预测出来,所以不能算 是真正 随机模拟
› 蒙特卡罗(Monte Carlo)方法定义:the use of random sampling techniques and often the use of computer simulation to obtain approximate solutions to mathematical or physical problems especially in terms of a range of values each of which has a calculated probability of being the solution (Merriam-Webster, Inc., 1994, pp. 754-755) › 蒙特卡罗模拟的基本思想:当所求解问题是某种随机事 件出现的概率,或者是某个随机变量的期望值时,通过 某种“实验”的方法,以这种事件出现的频率估计这一 随机事件的概率,或者得到这个随机变量的某些数字特 征,并将其作为问题的解。
4.1 随机模拟
› 蒙特卡罗模拟的试验过程:计算机模拟试验过程,就是 将试验过程转化为数学问题,在计算机上实现。在解决 实际问题的时候应用蒙特卡罗模拟主要有两部分工作: 用蒙特卡罗模拟某一过程时,需要产生各种概率分布的 随机变量,然后用统计方法把模型的数字特征估计出来, 从而得到实际问题的数值解。 › 蒙特卡罗模拟主要适用于哪些情况?当我们手上的数据 并不能满足统计理论的假设时,蒙特卡罗模拟就是理论 预测的一个很好的替代。蒙特卡罗模拟的一个主要应用 是评估估计结果是否违反最初的假设,另一个应用是当 一个样本没有理论分布时,我们可以用蒙特卡罗模拟来 决定样本分布。
4.1 随机模拟
› 用蒙特卡罗模拟掷骰子(SAS实现)
› 利用SAS中的随机数函数与数学函 数,模拟掷骰子游戏。每次游戏独 立地掷骰子2次,分别用变量N1, N2记录2次抛掷出现的点数,用变 量Sum记录2次抛掷出现的点数之和, 用变量Id记录游戏的序号。
4.1 随机模拟
› 用蒙特卡罗模拟掷骰子(SAS实现)
4.2 随机数的抽样
› 非标准分布随机数生成:逆变换法
4.2 随机数的抽样
› 非标准分布随机数生成:接受-拒绝法
› 接受拒绝法(Acceptance Rejection Method): 假设希望生成的随机数的概率密度函数(PDF)为f, 则首先找到一个PDF为g的随机数发生器与常数M, 使得f伪随机数发生器 f(x)≤Mg(x),然后根据接收拒绝算法求解。 › 由于算法平均运算M次才能得到一个希望生成的随 机数,因此c的取值必须尽可能小。显然,该算法的 缺点是较难确定g与M。
0.028 0.056 0.083 0.111
0.139 0.167 0.139 0.111
0.083 0.056 0.028
4.1 随机模拟
› 在随机过程课程中学习随机模拟的意义
– 随机过程是典型的随机系统,表现出复杂的不确定 性,不容易被理解和掌握。通过计算机仿真,帮助
同学们进一步认识与感知随机过程。
4.2 随机数的抽样
› 标准分布随机数生成,利用SAS生成标准分布 随机数
› Seed为零时的随机数序列:
– 随机数据集由随机数种子(seed) 决定,它的值可以 是(-(2^31-2),2^31-2)中的任何一个数。其 中,当随机数种子(seed)的值大于0时,每次产生的 R(0)的值都是一样的,但当的seed值小于或等于零 时,每次产生的R(0)的值是不同的,它会以系统的时 间为种子产生随机数值。 – 当Seed为零时,每一次执行CALL子程序所产生的随 机数序列结果都会不一致,我们可以将SEED=0看作 是随机种子。
– 利用“随机模拟”方法研究随机过程。
– 除理论研究、科学实验之外,在认识论层面拓宽同
学们的思路,补充“随机模拟” 这种研究方法。搭 建“随机过程”课程理论与实际应用之间的桥梁。
4.2 随机数的抽样
› 标准分布随机数生成
– 伪随机数生成算法
› 非标准分布随机数生成
– 逆变换法
– 接受拒绝法
› 多维联合分布抽样
4.2 随机数的抽样
› 标准分布随机数生成,利用SAS生成标准分布 随机数
› 生成大量不重复的seed序列
– 在实际的应用中,我们经常会遇到需要大量随机数 序列的情况,这时候我们就不能靠手工输入随机数 种子。 – 当SEED=0时,我们可以用这个随机种子产生大量的 随机数序列,但是这里产生的随机数序列并不一定 能保证这些随机数序列不重复。 – 这里介绍一个产生不重复的随机数种子的宏
› 由SAS生成50000个服从正态分布的随机数,并对生成 的样本作描述性统计分析和拟合分布检验。
4.2 随机数的抽样
› 由SAS生成50000个服从正态分布的随机数,并对生成 的样本作描述性统计分析和拟合分布检验。
分布拟合检验结果:模拟样本来自标准正态总体。
4.2 随机数的抽样
› 由SAS生成50000个服从正态分布的随机数,并对生成 的样本作描述性统计分析和拟合分布检验。
/*建立数据集Dice*/ DATA DICE ; DO Id =1 TO 10000; N1=1+INT(6*RANUNI(123)); N2=1+INT(6*RANUNI(123)); SUM = N1+N2; OUTPUT ; 骰子的结果的和; END; RUN;
*** 掷10000次骰子; *** 第一次掷骰子的结果; ***第二次掷骰子的结果; *** 两次掷骰子的结果的和; *** 保存两次掷骰子的结果及两次掷
4.2 随机数的抽样
› 生成大量不重复的seed序列
产生随机数种 子的原理,是 要产生多少个 随机数种子, 就按一定步长 递增多少次, 然后得到一个 随机数作为种 子。 这个宏有个缺 点,就是当步 长*随机数种子 数量>2**31-1 时,可能得不 到要求得到的 随机数种子数 量。
4.2 随机数的抽样
› 随机模拟是运用计算机对随机系统进行的一 种仿真研究方法。因其简单实用、适用面广, 已经成为科学技术各领域的有力研究手段。
› 随机模拟方法也称为“蒙特卡罗(Monte Carlo)” 方法,其灵魂在于由计算机生成 随机数序列,从而使人们可以由此模拟出各 种随机现象(随机事件)。 › 注:蒙特卡罗是摩纳哥国的世界闻名赌城 › 随机模拟方法要求研究者具有概率论与随机 过程的基本知识以及最基本的编程能力。
第4章 随机模拟
2016-2017学年第2学期 统计与信息学院 张建新
2017/4/19
第4章 随机模拟 Stochastic Simulation
› 4.1 随机模拟 › 4.2 随机数的抽样 › 4.3 随机游走模拟
› 4.4 泊松过程模拟
› 4.5 马尔可夫链蒙特卡罗方法
› 参考文献
4.1 随机模拟
4.1 随机模拟
› 用蒙特卡罗模拟掷骰子(SAS实现)
这里我们可以看 到 两次投出的点 数之和 sum=7 的Percent在 1/6=16.67附近, 也即验证了概率 论计算的结果。
4.1 随机模拟
› 用蒙特卡罗模拟掷骰子(SAS实现)
› 变量Sum的理论分布律
Sum P P 2 1/36 3 2/36 4 3/36 5 4/36 6 5/36 7 6/36 8 5/36 9 4/36 10 3/36 11 2/36 12 1/36
模拟样本数据直方图对标准正态分布的密度函数拟合良好。
4.2 随机数的抽样
› 由SAS生成1000个服从指定离散分布(1/0.1 2/0.2 3/0.4 4/0.2 5/0.1)的随机数,对生成的样本作频数统 计,并作分布拟合检验。