当前位置: 首页 > 知识库问答 >
问题:

图形的蒙特卡罗模拟

哈栋
2023-03-14

我正在写一个蒙特卡罗模拟来检查有多少次y不是紧挨着另一个y。我变出了一个40 x和10 y的向量,放置在向量中的随机位置。我的目标是计算向量中没有任何相邻y的概率。以下是我尝试过的:

nrep = 100000
count = 0
for (i in 1:nrep) {
  x = sample(c(rep('x', 40), c(rep('y', 10))))
  if (x[i]!=x[i+1] && x[i+1]!=x[i+2]) count = count + 1
}
print(count/nrep)

结果是一个非常小的数字,这对我来说似乎没有意义。

共有1个答案

融修平
2023-03-14

if部分不正确。我们可以使用head/end来检查连续的元素,并查看在一次迭代中是否有任何两个连续的'y'

nrep = 100000
count = 0
set.seed(2020)

for (i in 1:nrep) {
  x = sample(rep(c('x', 'y'), c(40, 10)))
  if(any(head(x, -1) == 'y' & tail(x, -1) == 'y')) count = count + 1
}

count/nrep
#[1] 0.891
 类似资料:
  • 我试图模拟来自rho=0.7的AR(1)模型的数据(Y)。然后我将使用这些数据在截距上运行Y的回归(通过这样做,参数估计成为Y的平均值),然后使用鲁棒的标准错误。我想对这个假设运行一个蒙特卡罗模拟,使用2000次重复不同的滞后值。目的是显示当滞后变化时Newey West估计器的有限样本性能 我的问题是:上面的代码是进行这种模拟的正确方法吗?如果是,我如何得到一个代码来重复这个过程在HAC测试中的

  • 从名字我们可以看出,MCMC由两个MC组成,即蒙特卡罗方法(Monte Carlo Simulation,简称MC)和马尔科夫链(Markov Chain ,也简称MC)。要弄懂MCMC的原理我们首先得搞清楚蒙特卡罗方法和马尔科夫链的原理。我们将用三篇来完整学习MCMC。在本篇,我们关注于蒙特卡罗方法。 2. 蒙特卡罗方法引入 蒙特卡罗原来是一个赌场的名称,用它作为名字大概是因为蒙特卡罗方法是一种

  • 我有以下型号 在此处输入图像描述 我需要使用蒙特卡洛实验并获得统计数据。一个例子应该是。 在此处输入图像描述 但在运行时,图形上不会显示任何内容。如何将此统计数据链接到模型?

  • 下面是我想用R做的算法: 从模型到功能 将序列分为可能的子序列,包括,,,,,,,和 对于每个尺寸,对具有替换的块进行重采样,对于新系列,通过函数 为每个块大小的每个子系列获取 下面的函数可以完成此操作。 调用函数 我得到以下结果: 我想按时间顺序重复上面的到,然后我想到了中的技术。因此,我加载它的包并运行以下函数: 希望在表格中得到如下结果: 但我收到以下错误信息: MonteCarlo错误(f

  • 1 前言 在上一篇文章中,我们介绍了基于Bellman方程而得到的Policy Iteration和Value Iteration两种基本的算法,但是这两种算法实际上很难直接应用,原因在于依然是偏于理想化的两个算法,需要知道状态转移概率,也需要遍历所有的状态。对于遍历状态这个事,我们当然可以不用做到完全遍历,而只需要尽可能的通过探索来遍及各种状态即可。而对于状态转移概率,也就是依赖于模型Model

  • 利用伪随机数生成器(PRNG)对排队型系统进行蒙特卡罗模拟。我使用System.random,因为它速度快,但发现它在后续的绘制之间有某种怪异的相关性,干扰了结果(不够随机)。 现在我使用的是Mersenne Twister(http://takel.jp/mt/mersennetwister.cs),它(到目前为止)已经证明对我的目的来说是足够随机的。它慢了50%,但那是我愿意付出的代价,以得到