Questions tagged «monte-carlo»

使用(伪)随机数和大数定律模拟真实系统的随机行为。

2
如何对带有随机斜率的混合效应回归模型进行MCMC假设检验?
库languageR提供了一种方法(pvals.fnc),可以使用lmer在混合效果回归模型拟合中对固定效果进行MCMC重要性测试。但是,当lmer模型包含随机斜率时,pvals.fnc会给出错误。 有没有办法对此类模型进行MCMC假设检验? 如果是这样,怎么办?(要被接受,答案应该在R中有一个可行的示例)。如果没有,是否存在无法解决的概念/计算原因? 这个问题可能与此有关,但我对其中的内容了解得不够清楚。 编辑1:概念证明表明pvals.fnc()仍然对lme4模型执行“某些操作”,但对于随机斜率模型则不执行任何操作。 library(lme4) library(languageR) #the example from pvals.fnc data(primingHeid) # remove extreme outliers primingHeid = primingHeid[primingHeid$RT < 7.1,] # fit mixed-effects model primingHeid.lmer = lmer(RT ~ RTtoPrime * ResponseToPrime + Condition + (1|Subject) + (1|Word), data = primingHeid) mcmc = pvals.fnc(primingHeid.lmer, nsim=10000, withMCMC=TRUE) #Subjects are in both …

2
集合的度量指数的无偏估计量?
假设我们有一个设置(可测量并适当地表现良好)S⊆B⊂RnS⊆B⊂RnS\subseteq B\subset\mathbb R^n,其中BBB紧凑。此外,假设我们可以从Lebesgue测度λ (⋅ )的BBB的均匀分布中抽取样本,并且知道测度λ (B )。例如,也许乙是一个盒子[ - Ç ,Ç ] Ñ含有小号。λ(⋅)λ(⋅)\lambda(\cdot)λ(B)λ(B)\lambda(B)BBB[−c,c]n[−c,c]n[-c,c]^nSSS 对于固定α∈Rα∈R\alpha\in\mathbb R,是否有来估计一个简单的无偏方式e−αλ(S)e−αλ(S)e^{-\alpha \lambda(S)}通过均匀采样以点BBB并且如果它们是内部或外部的检查SSS? 由于东西完全不是那么回事的例子,假设我们样本kkk点p1,…,pk∼Uniform(B)p1,…,pk∼Uniform(B)p_1,\ldots,p_k\sim\textrm{Uniform}(B)。然后,我们可以使用蒙特卡洛估计λ(S)≈λ^:=#{pi∈S}kλ(B).λ(S)≈λ^:=#{pi∈S}kλ(B).\lambda(S)\approx \hat\lambda:= \frac{\#\{p_i\in S\}}{k}\lambda(B). 但是,尽管 λ是一个无偏估计λ(小号),我不认为它的情况下ë-α λ是一个无偏估计ë-αλ(小号)。有什么方法可以修改此算法?λ^λ^\hat\lambdaλ(S)λ(S)\lambda(S)e−αλ^e−αλ^e^{-\alpha\hat\lambda}e−αλ(S)e−αλ(S)e^{-\alpha\lambda(S)}

2
如何通过正确的检查创建玩具生存(事件发生时间)数据
我希望创建一个正确检查的玩具生存(事件发生时间)数据,并按照比例风险和恒定基线风险进行某种分布。 我创建数据的方法如下,但是在将Cox比例风险模型拟合到模拟数据后,我无法获得接近真实值的估计风险比。 我做错什么了? R代码: library(survival) #set parameters set.seed(1234) n = 40000 #sample size #functional relationship lambda=0.000020 #constant baseline hazard 2 per 100000 per 1 unit time b_haz <-function(t) #baseline hazard { lambda #constant hazard wrt time } x = cbind(hba1c=rnorm(n,2,.5)-2,age=rnorm(n,40,5)-40,duration=rnorm(n,10,2)-10) B = c(1.1,1.2,1.3) # hazard ratios (model coefficients) hist(x %*% …

4
Bootstrap,蒙特卡洛
作为作业的一部分,我被设置了以下问题: 设计并实施模拟研究,以检查引导程序的性能,以获取单变量数据平均值的95%置信区间。您的实现可以采用R或SAS。 您可能要查看的性能方面是置信区间覆盖率(即,置信区间包含真实均值的几率)和蒙特卡洛变化(即,模拟之间的上下置信限有多少变化)' 有谁知道该怎么做蒙特卡洛变化方面?我似乎什至无法解决算法或其他问题。与蒙特卡洛积分有关吗?谢谢!


4
Bootstrap vs蒙特卡洛,误差估计
我正在阅读《地球化学计算中的蒙特卡洛方法的误差传播》一书,安德森(Anderson,1976年),有些事情我不太了解。 考虑一些测量数据和程序,其处理它,并返回一个给定值。在本文中,此程序用于首先使用数据手段(即)获得最佳值。{A±σA,B±σB,C±σC}{A±σA,B±σB,C±σC}\{A\pm\sigma_A, B\pm\sigma_B, C\pm\sigma_C\}{A,B,C}{A,B,C}\{A, B, C\} 然后,作者使用蒙特卡洛方法,通过在不确定性范围内改变输入参数(由均值和标准偏差给出的高斯分布来确定),将不确定性分配给该最佳值。),然后再将其提供给程序。如下图所示:{A,B,C}{A,B,C}\{A, B, C\}{σA,σB,σC}{σA,σB,σC}\{\sigma_A, \sigma_B, \sigma_C\} (版权:ScienceDirect) 可以从最终的分布中获得不确定性。ZZZ 如果我应用了bootstrap方法而不是Monte Carlo方法,将会发生什么情况?像这样: 这是:我不是在不确定性范围内更改数据,而是先将它们替换为样本,然后再将其提供给程序。 在这种情况下,这两种方法有什么区别?应用任何警告之前,我应该注意哪些注意事项? 我知道这个问题,蒙特卡洛(Bootstrap)引导程序,但是它并不能完全解决我的疑问,因为在这种情况下,数据包含分配的不确定性。

1
使用条件分布从边际分布采样?
我想从单变量密度采样,但我只知道这种关系:FXfXf_X FX(x )= ∫FX| ÿ(x | y)fÿ(y)dÿ。fX(x)=∫fX|Y(x|y)fY(y)dy.f_X(x) = \int f_{X\vert Y}(x\vert y)f_Y(y) dy. 我想避免使用MCMC(直接在整数表示上),并且由于和易于采样,因此我在考虑使用以下采样器:f Y(y )FX| ÿ(x | y)fX|Y(x|y)f_{X\vert Y}(x\vert y)Fÿ(y)Fÿ(ÿ)f_Y(y) 对于。j = 1 ,… ,NĴ=1个,…,ñj=1,\dots, N 样本。ÿĴ〜˚FÿÿĴ〜Fÿy_j \sim f_Y 样本。XĴ〜˚FX| ÿ(⋅ | yĴ)XĴ〜FX|ÿ(⋅|ÿĴ)x_j \sim f_{X\vert Y}(\cdot\vert y_j) 然后,我将得到对,仅获取边际样本。 它是否正确?(x 1,… ,x N)(x1个,ÿ1个),。。。,(xñ,ÿñ)(X1个,ÿ1个),。。。,(Xñ,ÿñ)(x_1,y_1),...,(x_N,y_N)(x1个,… ,xñ)(X1个,…,Xñ)(x_1,\dots,x_N)

2
何时使用蒙特卡洛方法优于时差方法?
最近,我一直在进行大量有关强化学习的研究。我遵循了Sutton&Barto的《强化学习:简介》。 我知道什么是马尔可夫决策过程,以及如何使用动态规划(DP),蒙特卡洛和时间差(DP)学习来解决它们。我遇到的问题是,我不知道蒙特卡洛何时会比TD学习更好的选择。 它们之间的主要区别是TD学习使用自举法来近似动作值函数,而Monte Carlo使用平均值来实现这一点。当这是更好的方法时,我只是真的无法想到一个方案。 我的猜测是,它可能与性能有关,但我找不到任何可以证明这一点的资料。 我是否缺少某些东西?或者一般来说,TD学习是更好的选择吗?

2
贝叶斯主义者如何使用蒙特卡洛模拟方法验证其方法?
背景:我拥有社会心理学博士学位,在我的定量课程中几乎没有涉及理论统计和数学。通过本科和研究生学校,我通过“经典”常客制框架得到了教育(可能与社会科学中的许多人一样)。现在,我也很喜欢R和使用模拟方法来验证方法,使工作方式对我来说,比数学上的证明更有意义(再次:定量社会科学的背景,而不是理论统计)。惯常方法和模拟方法对我来说意义非凡。因为常客将概率视为长期可能性(例如,如果我执行任意多次,并且这种情况发生在50%的时间中,那么就有50%的概率)。我们可以使用蒙特卡洛方法来模拟这种长期运行! 并发症:由于大学阶段,我已经很清楚的贝叶斯方法,并一直存在的人在我的生命给我打电话贝叶斯一边,说,结果更容易解释,我们得到概率的一个假设,而不是数据我真的很喜欢这个,参加了贝叶斯课程,阅读了一些贝叶斯书籍和论文,现在对Stan及其相关的R包非常熟悉。 输入Mayo:在思考了一段时间的“贝叶斯可能是未来之路”之后,我读了Deborah Mayo的“ 统计推断”作为“严格测试”。她说,她在书的开头并没有选择任何一方,但她这样做:她是一名常客,许多书都在捍卫常客的方法论。我不想讨论我们是否认为她认为证据有效的方式,但这让我思考:贝叶斯真的是广告宣传的全部吗?我的意思是,贝叶斯人群是如此分散,以至于我什至不知道经常在贝叶斯框架中分析数据的“正确”方法。通常我会用rstanarm现在的点估计值和可信区间...这通常与常客的估计和置信区间非常接近。我可能会进行模型比较,但是我总是害怕将贝叶斯因素描述为后验概率比较等。 更多思考:在梅奥的书中,我一直在思考:有一种方法可以使用计算机来确保我们的常客方法有效,因为从长远来看,概率是可以看到的,并且可以模拟。看来,贝叶斯人甚至不能就概率的确切性达成共识,这取决于贝叶斯学派(默认,主观等)。这引出我的问题: 问题:如果长期未将概率定义为费率,贝叶斯主义者如何使用蒙特卡罗模拟方法验证他们的方法是否正确定义了不确定性(即,计算有效的可信区间和后验分布)? 示例:我创建一个数据生成器。这只是从伯努利分布中以0.​​5的概率进行模拟: set.seed(1839) p <- .50 n <- 100 gen_dat <- function(n, p) { rbinom(n, 1, p) } 现在,假设我要确保逻辑回归中的置信区间实际上是有效的。我可以多次模拟回归,并确保实际总体值在95%的时间内处于95%的置信区间内。这是一个仅拦截的模型,所以我只想确保自己估计p正确: set.seed(1839) iter <- 10000 results <- sapply(seq_len(iter), function(zzz) { mod <- glm(gen_dat(n, p) ~ 1, binomial) conf <- suppressMessages(confint(mod)) log(p / (1 - p)) < …

2
这会给随机数带来偏差吗?
假设一个数据文件随机生成80+百万个1和0。 从这个文件中,我们想创建一个随机十进制整数的列表。 这是进行此转换的计划。 将8000万个数字分为4个二进制数字的分组。 将每个4位二进制数转换为十进制。 丢弃所有大于9的十进制值。 这将导致从0-9的随机整数字符串 这里是关注点。包含与值10到15对应的4个二进制数字的6个分组的24个二进制数字包含17个1和7个0。这种不平衡会以任何方式影响偶数与奇数整数的分布,还是损害最终的十进制数字字符串的随机性? 更新:从发布的答案来看,上面列举的方法似乎是正确的。我同意这个结论。但是,我仍然不明白为什么从二进制字符串中删除比零多两倍的数字不会使结果偏向于更少的奇数。我寻求解释。


2
在这里加1的技巧是什么?
我一直在寻找在此页面上Lillefors测试的蒙特卡洛实现。我不明白这句话: 模拟中的计算中存在随机误差。但是,由于在计算P值时将分子和分母加1的技巧,可以在不考虑随机性的情况下直接使用。 将分子和分母加1的技巧是什么意思? 相关的代码在这里: n <- length(x) nsim <- 4999 d.star <- double(nsim) for (i in 1:nsim) { x.star <- rnorm(n) d.star[i] <- fred(x.star) } hist(d.star) abline(v = d.hat, lty = 2) ## simulation-derived P-value pval <- (sum(d.star > d.hat) + 1) / (nsim + 1)

1
R中的蒙特卡洛模拟
我正在尝试解决以下练习,但实际上我不知道如何开始执行此操作。我在书中找到了一些看起来像这样的代码,但这是完全不同的练习,我不知道如何将它们彼此关联。如何开始模拟到达,如何知道到达的时间?我知道如何存储它们,并据此计算a,b,c,d。但我不知道我实际需要如何模拟蒙特卡洛模拟。有人可以帮我开始吗?我知道这不是一个可以为您解答所有问题的地方,而是可以解决的。但是问题是我不知道如何开始。 一个IT支持服务台代表一个排队系统,由五名助手接听客户的电话。这些呼叫根据Poisson进程进行,平均每45秒发出一次呼叫。第1个,第2个,第3个,第4个和第5个助手的服务时间分别是参数为λ1= 0.1,λ2= 0.2,λ3= 0.3,λ4= 0.4和λ5= 0.5 min-1的指数随机变量(第j个服务台助理的λk= k / 10 min-1)。除了受帮助的客户外,最多可以保留十个其他客户。在达到此容量时,新的呼叫者会收到忙音。使用蒙特卡洛方法估算以下性能特征, (a)收到繁忙信号的客户比例; (b)预期的响应时间; (c)平均轮候时间; (d)每个服务台助理服务的客户部分; 编辑:我到目前为止(不是很多): pa = 1/45sec-1 jobs = rep(1,5); onHold = rep(1,10); jobsIndex = 0; onHoldIndex = 0; u = runif(1) for (i in 1:1000) { if(u <= pa){ # new arrival if(jobsIndex < 5) # …

1
顺序蒙特卡洛滤波器的Rao-Blackwellization
在开创性论文“动态贝叶斯网络的Rao-Blackwellised粒子滤波”中,A。Doucet等人。等 提出了一种顺序蒙特卡洛滤波器(粒子滤波器),它在马尔可夫过程利用线性子结构。通过边缘化此线性结构,可以将滤波器分为两部分:使用粒子滤波器的非线性部分,以及可以由卡尔曼滤波器处理的一个线性部分(以非线性部分)。X大号ķxkLx^L_kXķ= (x大号ķ,Xñķ)xk=(xkL,xkN)x_k = (x^L_k, x^N_k)XñķxkNx^N_k 我了解边缘化部分​​(有时所描述的过滤器也称为边缘化过滤器)。我的直觉为何称其为Rao-Blackwellized粒子滤波器(RBPF),是因为高斯参数对于底层线性过程是足够的统计量,并且根据Rao-Blackwell定理,以这些参数为条件的估计量至少可以达到作为采样估计量。 Rao-Blackwell估计量定义为。在这种情况下,我猜想是蒙特卡洛估计器,是,而是高斯参数化。我的问题是我看不到本文中实际应用的位置。Ë(δ(X)| Ť(X))= δ1个(X)E(δ(X)|T(X))=δ1(X)E(\delta(X)|T(X)) = \delta_1(X)δ(X)δ(X)\delta(X)δ1个(X)δ1(X)\delta_1(X)Ť(X)T(X)T(X) 那么为什么将其称为Rao-Blackwellized粒子滤波器,Rao-Blackwellization实际发生在什么地方?

3
仿真研究:如何选择迭代次数?
我想使用“模型1”生成数据,并使其与“模型2”匹配。基本思想是研究“模型2”的鲁棒性。我对95%置信区间的覆盖率(基于正常近似值)特别感兴趣。 如何设置迭代次数? 大于必需的复制量是否会导致虚假的偏差,这是真的吗?如果是这样,那怎么办?

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.