主要内容

生成拟随机数字

拟随机序列

拟随机数字生成器(QRNGs)产生高度统一的样本单位超立方体。QRNGs最小化差异之间的分布生成的点和一个分布相同比例的点在超立方体的每个所谓统一的分区。因此,QRNGs系统地填补这个“洞”在任何拟随机生成的初始段序列。

不像描述的伪随机序列常见的伪随机数生成方法拟随机序列失败很多随机性的统计测试。近似真实的随机性,然而,不是他们的目标。拟随机序列寻求填补空间均匀,在这样一种方式,初始段近似这种行为到指定的密度。

QRNG应用程序包括:

  • Quasi-Monte卡洛(QMC)集成。蒙特卡罗技术常用于评估困难,多维积分没有封闭的解。QMC使用拟随机序列来提高这些技术的收敛性质。

  • 空间实验的设计。在许多实验设置,测量在每个因素设置是昂贵或不可行。拟随机序列提供高效、均匀采样的设计空间。

  • 全局优化。优化算法通常在附近找到一个局部最优的初始值。通过使用拟随机序列的初始值,搜索全球最佳状态均匀样本吸引力的盆地局部最小值。

示例:使用混乱,跳跃,跳过

想象一下一个简单的一维序列,产生从1到10的整数。这是基本的序列和前三个点(1、2、3):

现在看看如何争夺,跳过,飞跃协同工作:

  • 争夺——爬打乱分几种不同的方式之一。在这个例子中,假设一个争夺将序列1、3、5、7、9,2,4,6,8,10。现在第一个三分(1、3、5):

  • 跳过——一个跳过值指定数量的初始点,不容忽视。在这个例子中,设置跳过值为2。现在的序列是5、7、9、2、4、6、8、10第一个三分(5、7、9):

  • 飞跃——一个飞跃值指定点的数量忽略每一个你。持续的例子跳过如果你设置,设置为2飞跃1、序列使用其他点。在这个例子中,序列是现在5、9、4、8第一个三分[5 9 4]:

拟随机点集

统计和机器学习工具箱™函数支持这些拟随机序列:金宝app

  • 哈尔顿序列。产生的haltonset函数。这些序列使用不同的主要基地,形成先后细均匀分区单位间隔的每个维度。

  • Sobol序列。产生的sobolset函数。这些序列先后使用的基础2形成更好的统一单位间隔的分区,然后重新排序每个维度的坐标。

  • 拉丁超立方体序列。产生的lhsdesign函数。虽然不是拟随机的减少差异,不过这些序列产生稀疏均匀样品在实验设计中有用。

拟随机序列是函数的正整数单位超立方体。有用的应用程序,一个初始点集必须生成的序列。点集矩阵的大小n——- - - - - -d,在那里n分和的数量吗d超立方体的尺寸被取样。的函数haltonsetsobolset构造点集的属性指定拟随机序列。点集的初始段生成的的方法haltonsetsobolset类,但是可以生成和更广泛使用括号索引访问。

因为拟随机序列生成的方式,它们可能包含不良的相关性,特别是在他们最初的部分,特别是在更高的维度。为了解决这个问题,拟随机点集跳过,飞跃结束了,或争夺在一个序列值。的haltonsetsobolset函数允许您指定一个跳过和一个飞跃拟随机序列的性质,争夺的方法haltonsetsobolset类允许您应用各种加扰技术。地降低相关性,同时改善均匀性。

生成一个拟随机点集

这个例子展示了如何使用haltonset拟随机点集构造一个二维哈尔顿。

创建一个haltonset对象p跳过第一个1000的值序列,然后保留每一个101点。

rng默认的%的再现性p = haltonset (2“跳过”1 e3,“飞跃”1 e2)
二维点集在p =哈尔顿(89180190640991分)属性:跳过:1000飞跃:100 ScrambleMethod:没有

的对象p封装的属性指定拟随机序列。点集是有限的,长度决定的跳过飞跃属性和限制点集大小的指标。

使用争夺应用reverse-radix匆忙。

(p, p =争夺“RR2”)
二维点集在p =哈尔顿(89180190640991分)属性:跳过:1000飞跃:100 ScrambleMethod: RR2

使用生成第一个500分。

X0 =净(p, 500);

这相当于

X0 = p (1:50 0:);

值的点集X0不生成并存储在内存中,直到你访问吗p使用或括号索引。

欣赏拟随机数字的本质,创建一个二维的散点图X0

散射(X0 (: 1), X0 (:, 2), 5,“r”)轴广场标题(“{\ bf拟随机散射}”)

图包含一个坐标轴对象。坐标轴对象标题空问u s i - R n d o m空白s c a t t e R包含一个散射类型的对象。

比较这个统一的伪随机数产生的散射兰德函数。

X =兰德(500 2);散射(X (: 1) X (:, 2), 5,“b”)轴广场标题(“{\ bf均匀随机散射}”)

图包含一个坐标轴对象。坐标轴对象与标题空白U n i f o r m空白r n d o m空白S c a t t e r包含一个散射类型的对象。

拟随机散射显得更加统一,避免伪随机散射的凝结。

在统计意义上,拟随机数字太统一通过传统的随机性测试。例如,Kolmogorov-Smirnov测试执行的键糟是用来评估是否点集均匀随机分布。当反复执行统一的伪随机样本,如生成的兰德,测试产生的均匀分布p值。

nTests = 1 e5;sampSize = 50;PVALS = 0 (nTests, 1);测试= 1:nTests x =兰德(sampSize, 1);[h, pval] =键糟(x (x, x));PVALS(测试)= pval;结束直方图(PVALS 100) h = findobj (gca),“类型”,“补丁”);包含(“{\ p}值”)ylabel (测试的数量)

图包含一个坐标轴对象。坐标轴对象包含一个直方图类型的对象。

当测试的结果有很大的不同是对制服进行反复拟随机样本。

p = haltonset (1,“跳过”1 e3,“飞跃”1 e2);(p, p =争夺“RR2”);nTests = 1 e5;sampSize = 50;PVALS = 0 (nTests, 1);测试= 1:nTests x = p(测试:测试+ (sampSize-1):);[h, pval] =键糟(x (x, x));PVALS(测试)= pval;结束直方图(PVALS 100)包含(“{\ p}值”)ylabel (测试的数量)

图包含一个坐标轴对象。坐标轴对象包含一个直方图类型的对象。

p值质疑数据的零假设是均匀分布的。如果这个假设是正确的,大约5%的p预计值低于0.05。结果在他们未能挑战假说是一致的。

拟随机流

拟随机产生的,qrandstream函数,用于生成顺序拟随机输出,而不是一个特定大小的点集。使用流像pseudoRNGS,等兰德,当客户端应用程序需要拟随机数量的不定大小可以间歇性地访问。拟随机流的性质,如它的类型(哈尔顿或Sobol)、尺寸、跳跃,跳跃,和争夺,当流构造。

在实现中,拟随机流基本上是非常大的拟随机点集,尽管他们以不同的方式访问。的状态拟随机流的下一个点的标量指数从流。使用qrand的方法qrandstream类来生成流点,从当前状态。使用重置重置状态的方法1。与点集,流不支持括号索引。金宝app

生成一个拟随机流

这个例子展示了如何从一个拟随机生成样本点集。

使用haltonset创建一个拟随机点集p,然后多次增量索引点集测试生成不同的样品。

p = haltonset (1,“跳过”1 e3,“飞跃”1 e2);(p, p =争夺“RR2”);nTests = 1 e5;sampSize = 50;PVALS = 0 (nTests, 1);测试= 1:nTests x = p(测试:测试+ (sampSize-1):);[h, pval] =键糟(x (x, x));PVALS(测试)= pval;结束

获得了相同的结果qrandstream构建一个拟随机流基于点集p照顾,让流增量索引。

p = haltonset (1,“跳过”1 e3,“飞跃”1 e2);(p, p =争夺“RR2”);q = qrandstream (p);nTests = 1 e5;sampSize = 50;PVALS = 0 (nTests, 1);测试= 1:nTests X = qrand (q, sampSize);[h, pval] =键糟(X (X, X));PVALS(测试)= pval;结束

相关的话题