当前位置:
文档之家› Sim随机数生成器及随机变量生成讲课用
Sim随机数生成器及随机变量生成讲课用
为延长随机数的周期,通常取 m=2b,b是计 算机CPU一次能处理的最大位数减1(减去符号 位)
例题
xn(anx1c)mo md
取m=8,a=3,c=1,x0=1,迭代结果如下表。
1.3 随机数的检验
• 用任何一种方法产生的随机数序列在把它用到实际问题中 去之前都必须进行一些统计检验,看它是否能够令人满意 地作为随机变量的独立取样值(显著性检验),是否有较好的 独立性和均匀性。
机变量的取值。
• 威布尔分布
威布尔分布W(α,β)的概率密度函数为
f(x)x 1 e x/ (x0 ; 0 , 0 )
分布函数为 F (x)1ex/ , (x0),其反函数F-1(.)公式
X F 1 (U ) [ln 1 U ()1 /]
由于U与1-U均为服从U(0,1) 的随机变量,抽样公式为
法等。
这里所有方法都假定:在区间(0,1)中的随机数x1,x2,…, xN是随时可用的,这里,每个xi的pdf是
1 0x1 fR(x)0 others
每个xi的cdf是
0
fR (x) x
1
x0 0 x 1
x 1
即:满足均 匀独立性
所有分布的随机变量的产生都是从符合均匀分布U(0,1)的
随机数x,或xi开始。其他分布的随机变量的产生过程由下图 列出的随机变量的产生算法的树结构表示。
2.2 随机变量生成的主要方法
2.2.1 随机变量的生成方法概述
• 前提:已经得到服从独立均匀分布的U(0,1)随机 数
• 任务:进一步构造所需的某随机变量 • 条件:所生成的随机变量X符合其概率分布函数
F(X)。
2.2.2 随机变量的主要产生方法
随机变量的产生方法:
逆变换方法,函数变换法,卷积法,接受-拒绝方法,合成
X F 1 (U ) (1 / )ln 1 U ()
由于U与1-U均为服从U(0,1) 的随机变量,抽样公式为
XF 1(U ) (1/)ln U )(
采用逆变换法生成负指数分布E(λ)的随机数的步骤:
第一步:产生独立的U(0,1)随机数
u; i
第二步:令 xi (1/)lnui() ,i=1,2,…,n,则xi 就是负指数分布E(λ)的随
位的数,再放上小数点就得到一个随机数。这个中间位的数再平
方取中得到第二个随机数。依此循环……
• 其递推公式为:
xn
x2 n1
102
mod102k
取中的公式
• 初值为x0
un xn /102k
放小数点的公式
其中,x0为2k位的非负整数,[x]表示取x的整数部分;
函数mod是返回两数相除的余数,M为对N进行模为M的求余
Un
xn
x2 n1
102
mod102k
un xn /102k
平方取中法缺陷
• 该方法的问题:产 生的随机数可能产生 退化,得到的Ui值趋 于0或者重复相同的Ui 值.
• 平方取中法有许多 改进型,如: • 乘积取中法; • 常数乘子法; • Fibonacci法等。
生成了48个 数据之后
用逆变换法产生 各种离散分布的随机变量
• 均匀分布随机变量的产生 [a,b]区间上均匀分布U[a,b]的概率密度函数为
f(x)1/(b0a)
0x1 others
分布函数为 F (x) (x a )/b ( a ) ( axb ),
其反函数F-1(.)的抽样公式
XF 1(U )(ba )U a
采用逆变换法生成U(a,b) 随机数的步骤:
第一步:产生独立的U(0,1)随机数{ u1,u2,ui,…,uN}; 第二步:令 xi (ba)uia ,i=1,2,…,n,则xi 就是U(a,b) 的随机变量的取值。
•负指数分布
负指数分布E(1/λ)的概率密度函数为
ex x0
f (x) 0 others
其中,λ>0,分布函数为 F(x)1ex ,x>0,其反函数F-1(.)公式
第六章 随机数和随机变量的生成
管理与经济学部 孙丽君
问:仿真系统输入的是实际收 集的那些数据吗?
收集原始数据
基本统计分布 的辨识
正确输入数据
是 否
可信否?
参数估计 拟合优度检验
本章内容
• 第一节 随机数生成器
1.1概述 1.2随机数生成方法 1.3随机数的检验(独立同分布检验、 卡方检验)
• 第二节 随机变量的生成
用反函数法产生随机变量时,需要对给定的概率密度函 数f(x)进行积分求得 F(x),然后再对累积分布函数求反函数 F-1(y)。
逆变换法的步骤为: 第一步:产生独立的U(0,1)随机数xi; 第二步:令 xi F1(ui),i=1,2,…,n,则{ x1,x2,xi,… ,xN,}就是给定分布F(x)的随机变量的取值序列。
X[lnU()1]/
采用逆变换法生成威布尔分布W(α,β)的随机数的步骤:
第一步:产生独立的U(0,1)随机数
u; i
第二步:令 xi [lnui()1]/ ,i=1,2,…,n,则xi 就是威布尔分布
W(α,β)的随机变量的取值。
• 任意离散分布
设随机变量X的概率分布为 P {Xxi}pi (i1 ,2,...)
•利用随机数来对随机活动的统计分析,只要伪随机数的数理 统计性质能够满足实际需要即可。一般计算机上产生随机数的 函数为(0,1)均匀分布的随机数。
(2)计算机产生随机数的要求
•分布的均匀性、抽样的随机性、试验的独立性以及前后的一致性。 •足够长的周期,以满足实际需要。 •产生的速度要快,占用的内存空间要小。
P { X x i } P { F ( x i 1 U F ( x i ) F } ( x i ) F ( x i 1 ) p i (i=2,3,…,)
故,X~F(x) 。 由此得具体算法
第一步:产生独立的U(0,1)随机数
u; i
第二步:若ui≤p1, 令xi=x1;
j1
j
否则当 pk ui pk ,(j=2,3,…,)时,令xi=xk ,则x为服从F(x) 随机变
• 第二步:计算 U与F(X)的关系
F(x1)=1/6=0.166… F(x2)=1/6+1/3=0.5 F(x3)=1/6+1/3+1/3=0.83333..
U2=7089/104=0. 7089 • ….
[54972 /100]mod104
手算: 30217m0 od10000
2170/104=0.2170
30217030217/010000*10000
3021703000002170
excel中: 取中的公式:MOD(TRUNC(Xn-1*Xn-1/100),10000)
2.1概述
2.1 .1 随机变量的定义和分类
(1)随机变量的定义 •定义:对于随机活动的不同结果我们可以用不同的数值与其对应。 这样,就可以用一个变量来描述随机活动。变量按一定的概率取某 个值,对应于随机活动按一定的概率取某个结果。这类变量称为随 机变量。
(2)随机变量的分类 •离散型随机变量:若随机变量只取有限个数值或可列无穷多个数值 。 •连续型随机变量:若随机变量可以取值于某个区间中的任一数。
k1
k1
量的取值。
任意离散分布随机变量的获得方法
若ui≤p1, 令xi=x1;
否则当
j1
j
pk ui
pk ,令xi=xk
k1
k1
• 设有一个库存系统,需求规 模是一个离散的随机变量X, 取值为1,2,3,4,相应的 概率为1/6,1/3,1/3,和1/6.
• 要求获得10个随机变量X
• 第一步:首先生成10个(0,1)上的随机数系列,这个系列设为( 0.16,0.17,0.56,0.42,0.79,0.64,0.23,0.14,0. 95,0.34)
(3)计算机产生随机数的算法
•计算机产生随机数的通常方法是利用一个递推公式:
Xk1f(Xk)
•给定了第k个初始值,就可以利用这个递推公式推算出第k+1 的数Xk+1; •递推公式有多种形式,其中最常见的有两种:
•平方取中法 •同余法
(4)平方取中法
• 首先给出一个初始数,或称种子。把这个数平方,然后取中间
• 从理论上说,统计检验并不能得出完全肯定的结论,但是 却可以使我们有较大的把握获得具有较好统计性质的随机 数序列。
• 检验均匀性和独立性: • a) 频率检验(用于检验均匀性)--卡方检验 • b) 趋势检验(用于检验独立性)--散点图 • c) 自相关检验(用于检验独立性)--自相关图
第二节 随机变量的生成
1.2随机数生成方法
1.2.1 随机数的性质
•均匀分布的随机数:随机变量x在其可能值范围中 的任一区间出现的概率正比于此区间的大小与可 能值范围的比值。
•(0,1)均匀分布随机数:在各种分布的随机数中 ,最常用和最重要的是在(0,1)区间上的均匀分布 随机数。其他许多分布的随机数都可以由(0,1)均 匀分布随机数经过变换和计算来产生。
(0,1)区间 的随机数服从 的分布
随机变量的产生算法树
(1) 逆变换方法(inverse transform)
由前可知,如果U~U(0,1),而F-1(.)是分布函数F(x)的反 函数,则:
XF1(U) F(x)
利用上述公式,可以由U(0,1) 随机数{xi},直接生成规定 分布F(x)的随机数{ui}的方法叫做逆变换法或反函数法。
(5)同余法
• 同余法是将一组数据通过一系列特定的数字运算,最后利用 一个数字的整除求余,所得的数值就是一个伪随机数。因为这 个计算过程,则称该求随机数的方法为同余法。 • 同余法的有三种:经典线性同余Байду номын сангаас(Linear Congruence Generator)、乘同余法和混合同余法。 • 同余法的递推公式: