全球FlexSim系统仿真中文论坛

标题: 关于统计分布中“随机数流stream”的解释 [打印本页]

作者: zorsite    时间: 2013-3-25 13:54
标题: 关于统计分布中“随机数流stream”的解释
资料来自《实用系统仿真建模与分析——使用Flexsim》,作者秦天保 周向阳# H7 [! F% g' F( s  U
第四章 随机数和随机变数的生成
6 y: w# a3 h% i' j, U. S3 V* Y) }3 W1 D0 t: H; B. T$ ]# W/ a( O5 L0 b
仿真软件一般会将整个随机数序列分成若干段,例如100000个数为一段。9 T) a9 `, c( i, Q; G8 V
每段成为一个随机数流(stream),每个流会指定一个编号,如0号流,1号流等等。
: D* B( }, A- b4 ?" T1 [9 _
4 r4 n7 e0 Z) K1 G! g在Flexsim中调用指数分布函数的形式为exponential(location,scal,stream),其中第3个参数stream就是指定从哪一个流求取下一个随机数,如果省略参数流,则默认使用0号随机数流。" S" O8 Q9 f! k% L  f. D8 b+ \
( b% d& p, D6 v8 n  }0 w" k4 i
Flexsim系统已经初始化了100个随机数流(0~99号),可供直接使用。
+ s0 R) u/ J% b! E
* ~' F% W7 \* J. T" L7 j如果一个流的随机数在模型运行过程中,经过不断调用耗净了,根据递推公式下一个随机数就会侵入下一个流中去了,这会导致不想要的相关性。为了提高模型输出数据的准确性和精度,建议为模型中的每个对象甚至每个随机因素指定不同的流号。% q& A7 [6 F* ~0 m

5 _: D% a3 z% |" N( A) v4 |. S参考文献:" E! h) P4 O5 f8 V

. f% `- Q( O5 D# F! `[attach]1289[/attach]
8 M, r% Z: U# f" l' ]4 v9 ?5 q' h# J" e2 ~) E: U
[attach]1290[/attach]
作者: king    时间: 2013-3-28 23:37
学习学习
作者: 嗜血黑猫    时间: 2013-4-24 22:45
非常需要这方面知识啊谢谢
作者: lisa527    时间: 2013-11-18 13:26
本帖最后由 lisa527 于 2013-11-18 13:39 编辑
% p- R/ a/ S+ I0 r$ H- M# u8 `9 o; ]0 ]- T; X$ D# I4 g
这个问题困扰我好久了,现在一次性了结
$ [! g! h4 b) n$ L: R---------------------------------------------------------------------------------------------------! r. [* u+ R  w: H, p' I3 N
-随机数是怎么生成的" Y* s8 @5 [; |; N0 _! j3 P) x
基于计算机方法生成的随机数称为伪随机数,因为其计算方法已知,不是完全的随机。现在比较流行的生产伪随机数的方法是 Linear Congruential Generation (混合同余法).8 d! C( Y* N. q- M1 f* u
Linear Congruential Generation (LCG)[1]方法如下:
5 G; |" U+ P8 P; {0 M5 sX_i=(aX_(i-1)+c)mod m                            (1): ]( u$ w4 `2 A
R_i= X_i/m1 r% f0 Q6 s' _, x0 C& ^2 d: C
Seed: X_0$ O# L: Q2 |7 _! Q. A

2 H5 P; H9 T, Q" f9 f$ n" k-什么是stream?
) h! f+ q/ g. c" W6 q, A. o4 [基于m的限制,生成的随机数都是循环的,而且最大的循环周期是m。假设生成的随机数周期为P,随机数序列可以写作: X_0,X_1,…X_P,X_0,X_1…$ y" ~& m; N$ b/ l
正因为它的循环性,取0-P之间任何一个数做seed都可以生成整个随机数列。/ q0 G6 V4 {$ J% P( S* V% C1 e
为了方便起见,我们把长度为P的随机数分为若干个随机数流(stream),比如说,分成b个,每个stream的长度为P/b: {X_0,X_1,…X_(P/b-1)}, {X_(P/b),…X_(2P/b-1)}…3 N% p2 L5 P1 `2 M! @
0 i- r3 ?' \3 Y) e& U
-Stream有什么用?
& C/ n$ h) ^2 H7 M& w6 {; Q, I* K- c% a通过观察(1)式可以得知,X_i  和 X_(i-1)是相关的。为了避免这种相关性,仿真时常常会选取不同的stream产生各个过程的随机数。
" t! j0 b" }/ c, t0 g  i) U
  v) e' W/ k- d2 o. l为此专门写了篇blog在http://blog.sina.com.cn/sui5277
作者: 加油陶陶    时间: 2014-7-11 09:30
学习一下 谢谢分享
作者: 风灵之石    时间: 2021-1-3 20:01
谢谢分享!




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3