Questions tagged «random-generation»

随机地或(几乎总是)伪随机地生成数字或符号序列的行为;即缺乏任何可预测性或模式。

5
如何生成存在一些强相关性的大型满秩随机相关性矩阵?
我想生成一个n × n大小的随机相关矩阵CC\mathbf C,以便存在一些中等强度的相关:n×nn×nn \times n n×nn×nn \times n大小的平方实对称矩阵,例如n=100n=100n=100; 正定的,即所有特征值都是实数和正数; 全职 所有对角线元素等于111 ; 非对角元素应均匀地合理地分布在(−1,1)(−1,1)(-1, 1)。确切的分布无关紧要,但是我希望有一些适度较大的值(例如10%10%10\%)的适度较大的值(例如,绝对值为0.50.50.5或更高)。基本上我想确保CC\mathbf C是不是所有的非对角线元素几乎对角线≈0≈0\approx 0。 有简单的方法吗? 目的是使用此类随机矩阵来对一些使用相关(或协方差)矩阵的算法进行基准测试。 无效的方法 以下是一些我知道的生成随机相关矩阵的方法,但不适用于我: 生成随机XX\mathbf X的s×ns×ns \times n大小,中心,规范并形成相关矩阵C=1s−1X⊤XC=1s−1X⊤X\mathbf C=\frac{1}{s-1}\mathbf X^\top \mathbf X。如果s>ns>ns>n,通常将导致所有非对角相关性都在附近000。如果s≪ns≪ns\ll n,存在一定相关性会很强,但CC\mathbf C不会是满秩。 以下列方式之一生成随机正定矩阵BB\mathbf B: 生成随机正方形AA\mathbf A,使对称正定B=AA⊤B=AA⊤\mathbf B = \mathbf A \mathbf A^\top。 生成随机正方形AA\mathbf A,使对称E=A+A⊤E=A+A⊤\mathbf E = \mathbf A + \mathbf A^\top,并使其正定通过执行特征分解E=USU⊤E=USU⊤\mathbf …

1
行和列长度受限制的随机矩阵
我需要生成带有行和列的随机非平方矩阵,这些元素的均值= 0随机分布,并且受约束,使得每行的长度(L2范数)为,每列的长度为。等效地,每行的平方和为1,每列的。Ç 1 √RRRCCC111 [R[RC--√RC\sqrt{\frac{R}{C}}[RCRC\frac{R}{C} 到目前为止,我已经找到一种实现此目的的方法:简单地随机初始化矩阵元素(例如,从均值为零且具有任意方差的均匀分布,正态分布或拉普拉斯分布),然后将行和列交替归一化为,以行规范化结束。这似乎可以相当快地收敛到所需的结果(例如,对于和,列长度的变异通常在次迭代后),但是我不确定是否可以依靠这种快速收敛速度通常(针对各种矩阵尺寸和初始元素分布)。- [R = 40 Ç = 80 0.00001 2升Ë Ñ 克吨ħ =1length=1{\rm length} = 1R = 40R=40R=40C= 80C=80C=80 0.00001 0.00001~0.00001222 我的问题是:是否有一种方法可以直接获得所需的结果(,,而无需在行/列归一化?例如,类似用于对随机向量进行归一化的算法(随机初始化元素,测量平方值的总和,然后按通用标量缩放每个元素)。如果不是,是否存在上述迭代方法的收敛速度(例如,迭代次数直到错误)的简单表征?c o l u m n l e n g t h s = √row lengths=1row lengths=1{\rm row \ lengths} = 1 <ϵcolumn lengths=RC−−√column lengths=RC{\rm …

4
模拟光盘上的均匀分布
我试图模拟在圆中随机点的注入,以使圆的任何部分都具有相同的出现缺陷的可能性。如果我将圆分成相等面积的矩形,我期望结果分布的每面积计数遵循泊松分布。 由于只需要在圆形区域内放置点,因此我在极坐标中注入了两个均匀的随机分布:(半径)和(极角)。θ[R[RRθθ\theta 但是在完成注入之后,与边缘相比,我显然在圆心得到了更多的点。 在圆上进行这种注入以使点随机分布在整个圆上的正确方法是什么?

3
从1到100之间的25个随机数中,最高的概率出现多次的概率是多少?
在许多在线游戏中,当玩家完成一项艰巨的任务时,有时会给予特殊奖励,每个完成任务的人都可以使用。这通常是坐骑(运输方式)或其他虚荣物品(不会提高角色性能的物品,主要用于外观定制)。 当给出这样的奖励时,确定谁获得奖励的最常见方法是通过随机数。游戏通常有一个特殊的命令,该命令会生成一个介于1到100之间的随机数(可能是伪随机数,而不是加密安全随机数)(有时玩家可以选择另一种价差,但100是最常见的)。每个玩家都使用此命令,所有玩家都可以看到谁掷出了哪些东西,并且该物品被授予了掷骰最高的人。大多数游戏甚至都具有内置系统,玩家只需按下一个按钮,而每个人都按下按钮后,游戏就会自动完成其余的工作。 有时,有些玩家会产生相同的高数字,而没人能击败他们。这通常由那些重新生成号码的玩家来解决,直到有一个唯一的最高号码为止。 我的问题如下:假设一个随机数生成器可以以相同的概率生成1到100之间的任何数字。假设您有一组25位玩家,每个玩家使用这样的随机数生成器生成1个数字(每个都有自己的种子)。您将拥有25个介于1到100之间的数字,对多少个掷骰子的玩家没有限制,并且数字之间没有关系。超过1个玩家产生最高生成数字的机会是什么?换句话说,平局的可能性是多少?


2
使用给定的样本协方差矩阵生成数据
给定协方差矩阵,如何生成数据,使其具有样本协方差矩阵\ hat {\ boldsymbol \ Sigma} = \ boldsymbol \ Sigma_s?ΣsΣs\boldsymbol \Sigma_sΣ^=ΣsΣ^=Σs\hat{\boldsymbol \Sigma} = \boldsymbol \Sigma_s 更笼统地说:我们经常对从密度f(x \ vert \ boldsymbol \ theta)生成数据感兴趣f(x|θ)f(x|θ) f(x \vert \boldsymbol\theta) ,其中数据xxx给出了一些参数矢量θθ\boldsymbol\theta。这产生了一个样本,然后我们可以据此再次估计值θ^θ^\boldsymbol{\hat\theta}。我感兴趣的是一个反向问题:如果给我们一组参数θsθs\boldsymbol\theta_{s},并且我们想生成一个样本xxx例如\ boldsymbol {\ hat \ theta} = \ boldsymbol,该怎么办?\ theta_ {s}θ^=θsθ^=θs \boldsymbol{\hat\theta} = \boldsymbol\theta_{s}。 这是一个已知问题吗?这样的方法有用吗?有可用的算法吗?

3
随机数生成器中的种子究竟是什么?
我尝试了一些常用的Google搜索等方法,但是我发现的大多数答案都有些模棱两可或特定于语言/库,例如Python或C ++ stdlib.h等。我正在寻找与语言无关的数学答案,而不是库的细节。 例如,许多人说种子是随机数生成器的起点,而同一种子总是产生相同的随机数。这是什么意思?这是否意味着输出数量是特定种子的确定性函数,并且随机性来自种子的值?但是如果是这样的话,那么,通过提供种子,我们(程序员)难道不是创造随机性而不是让机器去做吗? 另外,在这种情况下起点是什么意思?这是说映射域的元素的一种非严格方法吗?还是我出了点问题? ˚F :X → ÿX ∈ Xx∈Xx\in\mathfrak{X}F:X → Yf:X→Yf:\mathfrak{X}\rightarrow\mathfrak{Y}

1
生成相关的二项式随机变量
我想知道遵循线性变换方法是否可能生成相关的随机二项式变量? 下面,我尝试了一些简单的R语言,它产生了一些相关性。但是我想知道是否有原则性的方法可以做到这一点? X1 = rbinom(1e4, 6, .5) ; X2 = rbinom(1e4, 6, .5) ; X3 = rbinom(1e4, 6, .5) ; a = .5 Y1 = X1 + (a*X2) ; Y2 = X2 + (a*X3) ## Y1 and Y2 are supposed to be correlated cor(Y1, Y2)

2
逆变换方法如何工作?
反转方法如何工作? 说我有一个随机样本与密度在,因此cdf在。然后通过反演方法,我得到的分布为。 f (x ; θ )= 1X1,X2,...,XnX1,X2,...,XnX_1,X_2,...,X_n 0&lt;X&lt;1˚FX(X)=X1/θ(0,1)X˚F - 1 X(Û)=Üθf(x;θ)=1θx(1−θ)θf(x;θ)=1θx(1−θ)θf(x;\theta)={1\over \theta} x^{(1-\theta)\over \theta} 0&lt;x&lt;10&lt;x&lt;10<x<1FX(x)=x1/θFX(x)=x1/θF_X(x)=x^{1/\theta}(0,1)(0,1)(0,1)XXXF−1X(u)=uθFX−1(u)=uθF_X^{-1}(u)=u^\theta 那么是否具有的分布?这是反演方法的工作方式吗? Xuθuθu^\thetaXXX u&lt;-runif(n) x&lt;-u^(theta)

4
如何创建任意协方差矩阵
例如,在R中的MASS::mvrnorm()功能对于生成数据以演示统计中的各种情况很有用。它采用强制性Sigma参数,该参数是一个对称矩阵,用于指定变量的协方差矩阵。如何创建带有任意条目的对称矩阵?n × nñ×ñn\times n

3
寻找一种模拟这种分布的随机数的方法
我试图用R编写一个程序,该程序使用累积分布函数模拟来自分布的伪随机数: F(x )= 1 − 经验( − a x − bp + 1Xp + 1),X ≥ 0F(x)=1−exp⁡(−ax−bp+1xp+1),x≥0F(x)= 1-\exp \left(-ax-\frac{b}{p+1}x^{p+1}\right), \quad x \geq 0 其中一个,b &gt; 0 ,p ∈ (0 ,1 )a,b&gt;0,p∈(0,1)a,b>0, p \in (0,1) 我尝试了逆变换采样,但是逆解析似乎无法解决。如果您可以提出解决方案,我将很高兴

1
自适应MCMC可以信任吗?
我正在阅读有关自适应MCMC的信息(例如,参见《马尔可夫链蒙特卡洛手册》第4章,布鲁克斯等人,2011年;Andrieu和Thoms,2008年)。 nnnp(n)p(n)p(n)limn→∞p(n)=0limn→∞p(n)=0\lim_{n \rightarrow \infty} p(n) = 0 该结果是(后验的)直观的,渐近的。由于适应量趋于零,因此最终不会与遍历无关。我担心的是有限的时间会发生什么。 我们如何知道在给定的有限时间内适应性并不会破坏遍历性,并且采样器正在从正确的分布中采样?如果完全有道理,一个人应该做多少磨合以确保早期适应不会使链条产生偏差? 该领域的从业者是否信任自适应MCMC?我问的原因是因为我已经看到许多最近的方法,这些方法尝试以已知的其他各种更复杂的方式(包括再生或整体方法)以其他更复杂的方式建立适应性(例如,选择过渡是合法的)取决于其他平行链状态的运算符)。可替代地,仅在老化期间(例如在Stan中)执行调整,而不在运行时执行。所有这些努力向我暗示,罗伯茨和罗森塔尔的自适应MCMC(实施起来非常简单)并不可靠;但也许还有其他原因。 那么具体的实现又如何呢?比如自适应都市(Hario等,2001)? 参考文献 Rosenthal,JS(2011)。最佳提案分配和自适应MCMC。马尔可夫链手册蒙特卡罗,93-112。 Andrieu,C.和Thoms,J.(2008年)。关于自适应MCMC的教程。统计与计算,18(4),343-373。 Roberts,GO和Rosenthal,JS(2007)。自适应马尔可夫链蒙特卡罗算法的耦合和遍历性。应用概率杂志,458-475。 Haario H.,Saksman E.和Tamminen J.(2001)。自适应Metropolis算法。伯努利(Bernoulli),223-242。

4
从正态分布的混合中生成随机变量
如何从中的混合分布,尤其是正态分布的混合中采样R?例如,如果我想从以下位置取样: 0.3×N(0,1)+0.5×N(10,1)+0.2×N(3,.1)0.3×N(0,1)+0.5×N(10,1)+0.2×N(3,.1) 0.3\!\times\mathcal{N}(0,1)\; + \;0.5\!\times\mathcal{N}(10,1)\; + \;0.2\!\times\mathcal{N}(3,.1) 我该怎么办?

5
如何使用Cholesky分解或其他方法进行关联数据模拟
给定相关矩阵,我使用Cholesky分解来模拟相关的随机变量。问题是,结果永远不会像给出的那样重现相关结构。这是Python中的一个小例子来说明这种情况。 import numpy as np n_obs = 10000 means = [1, 2, 3] sds = [1, 2, 3] # standard deviations # generating random independent variables observations = np.vstack([np.random.normal(loc=mean, scale=sd, size=n_obs) for mean, sd in zip(means, sds)]) # observations, a row per variable cor_matrix = np.array([[1.0, 0.6, 0.9], [0.6, 1.0, …

3
如何使用预先指定的相关矩阵生成数据?
我正在尝试生成均值=,方差=,相关系数=相关随机序列。在下面的代码中,我将&用作标准偏差,并将&用作均值。1 0.80001个110.80.80.8s1s2m1m2 p = 0.8 u = randn(1, n) v = randn(1, n) x = s1 * u + m1 y = s2 * (p * u + sqrt(1 - p^2) * v) + m2 这使我corrcoef()在x和之间的0.8 正确y。我的问题是,如果我希望z该系列也与y(具有相同的相关性)相关但又与不相关,我该如何生成它。我需要知道一个特定的公式吗?我找到了一个,但听不懂。r = 0.8r=0.8r=0.8x

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.