Questions tagged «monte-carlo»

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

2
决策树空间与随机森林的MCMC采样
一个随机森林是一家集决策树通过随机选择只是某些功能建立与(有时装袋训练数据),每棵树形成。显然,他们学习并概括得很好。是否有人对决策树空间进行了MCMC采样或将它们与随机森林进行了比较?我知道运行MCMC并保存所有采样树可能在计算上更加昂贵,但是我对这个模型的理论特性感兴趣,而不是计算成本。我的意思是这样的: 构造一个随机决策树(它可能会表现得很差) 用类似计算树的可能性,或者添加一个项。P(T[R Ë Ë | D a t a )∝ P(D a t a | T[R Ë Ë )P(Ť[RËË|d一种Ť一种)∝P(d一种Ť一种|Ť[RËË)P(Tree|Data) \propto P(Data|Tree)Pp - [R 我ö ř(T[R Ë Ë )Pp[R一世Ø[R(Ť[RËË)P_{prior}(Tree) 选择一个随机步骤来更改树,然后根据似然度。P(T[R Ë Ë | d一吨一)P(Ť[RËË|d一种Ť一种)P(Tree|Data) 每N步,保存当前树的副本 返回3进行大的N * M次 使用M个保存的树的集合进行预测 这会给随机森林一个类似的表现吗?请注意,与随机森林不同,我们在任何步骤都不会丢弃好数据或功能。

1
为什么从混合效应模型中自举残差会产生反保守的置信区间?
我通常处理的数据是,在2个或更多条件下,分别测量了多个个体。我最近一直在使用混合效果建模来评估条件之间差异的证据,individual并将其建模为随机效果。为了可视化此类建模预测的不确定性,我一直在使用自举法,其中在引导程序的每次迭代中,对个体和条件内观察进行替换抽样,并从中计算新的混合效应模型获得。这对于假定高斯误差的数据效果很好,但是当数据为二项式时,自举可能会花费很长时间,因为每次迭代都必须计算一个计算量相对较高的二项式混合效应模型。 我当时的想法是,我可以使用原始模型中的残差然后使用这些残差代替引导程序中的原始数据,这将使我能够在引导程序的每次迭代中计算一个高斯混合效果模型。将原始数据的二项式模型的原始预测与残差的自举预测相加,得出原始预测的CI为95%。 不过,我最近编码这种做法的一个简单的评价,造型两种情况之间没有区别的,计算的时间比例为95%置信区间未能包括零,而且我发现,上述基于残差,引导过程的产量相当强烈反保守的时间间隔(超过5%的时间排除零)。此外,我然后编码(与以前的链接相同)对该方法的类似评估,该评估应用于原始高斯数据,并且获得了相似的(尽管不是极端的)反保守CI。知道为什么会这样吗?

1
基本自举置信区间的覆盖概率
我正在研究的课程存在以下问题: 进行蒙特卡洛研究,以估计标准正常自举置信区间和基本自举置信区间的覆盖概率。从正常人群中抽样,并检查样本均值的经验覆盖率。 标准普通引导程序CI的覆盖率很容易: n = 1000; alpha = c(0.025, 0.975); x = rnorm(n, 0, 1); mu = mean(x); sqrt.n = sqrt(n); LNorm = numeric(B); UNorm = numeric(B); for(j in 1:B) { smpl = x[sample(1:n, size = n, replace = TRUE)]; xbar = mean(smpl); s = sd(smpl); LNorm[j] = xbar + …

6
一个如何应对欧拉计划213问题(“跳蚤马戏”)?
我想解决Euler 213项目,但不知道从哪里开始,因为我是统计学领域的外行,请注意,需要准确的答案才能使用蒙特卡洛方法。您能推荐一些统计主题供我阅读吗?请不要在此处发布解决方案。 马戏团 一个30×30的正方形网格包含900条跳蚤,最初是每平方跳蚤。敲响钟声时,每条跳蚤会随机跳至相邻的正方形(通常有4种可能性,但网格边缘或角落处的跳蚤除外)。 铃响50次后,预计空置正方形数是多少?将答案四舍五入到小数点后六位。

2
如何估算积分的精度?
在计算机图形学中,一种非常普遍的情况是某些像素的颜色等于某些实值函数的积分。函数通常过于复杂而无法解析求解,因此我们只需要进行数值逼近即可。但是该函数的计算量通常也非常昂贵,因此我们在可计算的样本数量上受到极大的限制。(例如,您不能只是决定抽取一百万个样本并留在此处。) 通常,您要做的是在随机选择的点上评估函数,直到估计的积分变得“足够精确”为止。这使我想到了一个实际的问题:您如何估算积分的“准确性”? 更具体地说,我们有,它是由一些复杂的,缓慢的计算机算法实现的。我们要估计f:R→Rf:R→Rf : \mathbb{R} \rightarrow \mathbb{R} k=∫baf(x) dxk=∫abf(x) dxk = \int_a^b f(x) \ dx 我们可以为所需的任何x计算,但这很昂贵。因此,我们想随机选择几个x值,并在k的估计变得可接受的准确时停止。当然,要做到这一点,我们需要知道当前估计的实际准确性。f(x)f(x)f(x)xxxxxxkkk 我什至不确定哪种统计工具适合此类问题。但是在我看来,如果我们对f绝对一无所知,那么这个问题就无法解决。例如,如果您计算f (x )一千次且始终为零,则估计积分将为零。但是,一无所知约˚F,它仍然可能是˚F (X )= 1 ,000 ,000处处除非你碰巧样本点,因此您的估计是错得离谱!ffff(x)f(x)f(x)ffff(x)=1,000,000f(x)=1,000,000f(x) = 1,000,000 也许,那么,我的问题应该从“我们需要了解以便使我们估计积分的精度成为可能fff?”开始。例如,我们经常知道不可能为负,这似乎是一个高度相关的事实...fff 编辑:好的,所以这似乎产生了很多响应,这很好。与其单独回答每个问题,不如尝试在此处补充一些其他背景。 ffffffffffff fffffffff fff 另外,考虑到“蒙特卡洛”的出现次数,我猜这是这种集成的技术术语吗?


2
从不正确的混合物中进行精确采样
假设我要从连续分布进行采样。如果我有的表达的形式pp (x )p(X)p(x)ppp p (x )= ∑我= 1∞一个一世F一世(x )p(X)=∑一世=1个∞一个一世F一世(X)p(x) = \sum_{i=1}^\infty a_i f_i(x) 其中和f_i是可以从中轻松采样的分布,然后我可以通过以下方式轻松地从p生成采样:一个一世⩾ 0 ,Σ一世一个一世= 1一个一世⩾0,∑一世一个一世=1个a_i \geqslant 0, \sum_i a_i= 1F一世F一世f_ippp 以概率a_i对标签一世一世i进行采样一个一世一个一世a_i 采样X〜˚F一世X〜F一世X \sim f_i 如果一个一世一个一世a_i有时为负数,是否可以推广此过程?我怀疑我已经在某个地方看到过此操作-可能在书中,或者可能是在Kolmogorov发行版中-因此,我很高兴接受参考作为答案。 如果一个具体的玩具示例有帮助,假设我要从p (X ,ÿ)∝ exp( - X - ÿ- α X ÿ--√)X ,ÿ> 0p(X,ÿ)∝经验值⁡(-X-ÿ-αXÿ)X,ÿ>0p(x,y) \propto \exp(-x-y-\alpha\sqrt{xy})\qquad x,y > 0然后出于技术上的原因,将α ∈ (0 ,2 )α∈(0,2)\alpha \in …

1
是否有实现的Monte Carlo / MCMC采样器可以处理后验分布的局部局部最大值?
我目前正在使用贝叶斯方法来估计由多个ODE组成的模型的参数。由于我有15个参数可以估计,因此我的采样空间是15维的,而我寻找的后验分布似乎有很多局部最大值,这些最大值被非常低概率的大区域非常孤立。 这导致了我的蒙特卡洛链的混合问题,因为一个链不太可能“跳出”一个局部最大值并偶然碰到另一个最大值。 在该领域似乎有很多研究,因为它很容易找到解决这个问题的论文(见下文),但是很难找到一个实际的实现。我只发现了与分子动力学有关的软件包,而没有贝叶斯推断。是否有(MC)MC采样器的实现能够处理孤立的局部最大值? 我被迫与Matlab一起工作,因为那是我编写的ODE模型所编写的,所以最欢迎有关Matlab的建议;-)。但是,如果有其他语言的“杀手级应用”,也许我可以说服我的PI切换;-)。 我目前正在使用由Haario,L​​aine等人撰写的“延迟拒绝/自适应蒙特卡洛”采样器。,这也是迄今为止我所能找到的唯一一个比标准Metropolis-Hastings算法更复杂的采样器 值得注意的方法似乎是: 编辑于2017年3月7日更新了我在此期间学到的知识 具有不同起点的多个相似链 链间适应。使用多个独立链生成的合并样本的经验协方差矩阵来更新链提案分布的协方差矩阵。(1) 不同回火的多条链 回火: 某种“温度”似乎改变了后部景观,使链条更可能混合。(我还没有深入探讨这一问题)(1)调节的目的是使由后验概率分布形成的(高维)概率态势平坦。通常通过将后验概率乘以的幂来实现,其中后方景观在变平(3,p.298)。这意味着,代替计算状态的后验概率,给定数据可以计算出回火后验概率1/T1/T1/TT>1T>1T>1p(θ∣D)p(θ∣D)p(\theta\mid D)θθ\thetaDDD p(θ∣D)1/T∝(p(D∣θ)⋅p(θ))1/Tp(θ∣D)1/T∝(p(D∣θ)⋅p(θ))1/Tp(\theta\mid D)^{1/T} \propto \left( p(D\mid\theta)\cdot p(\theta)\right)^{1/T} 选择的越高,概率图中的峰越平坦越宽。因此,较高的值导致采样器从一个局部最大值切换到另一个局部最大值的可能性更高。但是,不是搜索的后验分布 。因此,必须使用该分布的样本链来启用之后的采样。TTTTTTp(θ∣D)1/Tp(θ∣D)1/Tp(\theta\mid D)^{1/T}T≠1T≠1T\neq1p(θ∣D)p(θ∣D)p(\theta\mid D) 原始的,未回火的后验分布的样本,可以通过几种方法从该分布的回火版本得到样本: 大都会耦合的MCMC同时运行多个链,每个链具有不同但恒定的值。概率性地切换两个链的状态。仅将的链中的样本用于下游估计;其他链只需确保对所有峰进行了采样。参考 (4)具有并行算法,并为此主题引用了会议文章和教科书(5,6)TTTT=1T=1T=1 小世界MCMC。采样器在两个建议之间切换。大多数情况下,使用差异较小的提案分布,很少使用差异较大的提案。这两个建议之间的选择是随机的。差异较大的建议也可以从另一个链中得出,该链只会产生很大的跳跃,以粗糙的方式尽可能多地采样(2,7) 哈密​​尔顿蒙特卡洛(HMC) 我对此了解不多,但是JAGS的No-U-Turn采样器(NUTS) 似乎在使用它。参见参考。(8)。Alex Rogozhnikov创建了关于该主题的可视教程。 参考文献: (1)Craiu等,2009:向邻居学习:并行链和区域自适应MCMC。 J Am Stat Assoc 104:488,第1454-1466页。http://www.jstor.org/stable/40592353 (2)关岛等,2012:带回火的小世界MCMC:人为性和光谱缺口。https://arxiv.org/abs/1211.4675(仅在arXiv上) (3):Brooks等。(2011)。马尔可夫链手册蒙特卡洛。CRC出版社。 (4):Altekar等。(2004):平行大都会耦合马尔可夫链蒙特卡洛用于贝叶斯系统发生推断。Bioinformatics 20(3)2004,第407–415页,http: //dx.doi.org/10.1093/bioinformatics/btg427 (5):盖耶(Geyer CJ)(1991)马尔可夫链蒙特卡罗最大似然。在:Keramidas(ed。),《计算科学与统计:接口》第23届会议论文集。接口基金会,费尔法克斯站,第156–163页。 (6):Gilks​​ WR和Roberts GO(1996)。改善MCMC的策略。在:实践中的Gilks​​ WR,Richardson S和Spiegelhalter(eds) …

1
通过订单统计显示预估值收敛到百分位数
令是从alpha稳定分布中采样的iid随机变量序列,其参数。X1,X2,…,X3nX1,X2,…,X3nX_1, X_2, \ldots, X_{3n}α=1.5,β=0,c=1.0,μ=1.0α=1.5,β=0,c=1.0,μ=1.0\alpha = 1.5, \; \beta = 0, \; c = 1.0, \; \mu = 1.0 现在考虑序列,其中Y_ {j + 1} = X_ {3j + 1} X_ {3j + 2} X_ {3j + 3}-1,对于j = 0, \ ldots,n-1。Y1,Y2,…,YnY1,Y2,…,YnY_1, Y_2, \ldots, Y_{n}Yj+1=X3j+1X3j+2X3j+3−1Yj+1=X3j+1X3j+2X3j+3−1个Y_{j+1} = X_{3j+1}X_{3j+2}X_{3j+3} - 1j = 0 ,… ,n …

3
G检验与Pearson的卡方检验
我在列联表中测试独立性。我不知道G检验或Pearson的卡方检验是否更好。样本数量为数百,但单元格计数较低。如Wikipedia页面所述,对于G检验,卡方分布的近似值比对Pearson的卡方检验更好。但是我正在使用蒙特卡洛模拟来计算p值,所以这两个测试之间有什么区别吗?ñ× Mñ×中号N \times M

1
蒙特卡洛分析所需的模拟数量
我的问题是有关蒙特卡洛分析方法所需的模拟数量。据我所知,对于任何允许的百分比误差(例如5),所需的仿真次数为 ËËEn = { 100 ⋅ žC⋅ 标准( X )Ë⋅ 平均值(x )}2,ñ={100⋅žC⋅性病(X)Ë⋅意思(X)}2, n = \left\{\frac{100 \cdot z_c \cdot \text{std}(x)}{E \cdot \text{mean}(x)} \right\}^2 , 其中是所得采样的标准偏差,是置信度系数(例如,对于95%,它是1.96)。因此,以这种方式可以检查模拟的结果平均值和标准偏差是否代表置信度为95%的实际平均值和标准偏差。标准(x )性病(X)\text{std}(x)žCžCz_cññn 就我而言,我运行了7500次仿真,并从7500个仿真中计算出每100个样本的移动平均值和标准偏差。我获得的所需模拟次数始终小于100,但均值和标准差与整个结果的均值和标准差的百分比误差并不总是小于5%。在大多数情况下,平均值的百分比误差小于5%,但std的误差高达30%。 在不知道实际均值和标准差的情况下确定所需模拟次数的最佳方法是什么(在我的情况下,模拟结果呈正态分布)? 在此先感谢您的帮助。 为了对无限次运行迭代时模拟结果的分布情况有所了解:我决定找到结果分布的拟合函数,而不是使用n次模拟后的结果均值和方差,但是这里n必须完全填充允许的%错误。我认为通过这种方式,我可以找到与97.5%相关的累积分布函数的更正确结果。因为当我比较400和7000仿真的结果时,两个采样的分布的拟合函数看起来彼此相似,只有第二个曲线更平滑。同样,因此在MATLAB / Simulink中的模型是非线性的,尽管生成的输入参数是正态分布的,但由于我使用了“广义极值分布”,因此模拟结果的直方图也不是正态的,在MATLAB中称为“ gev”。但是,对于这种方法,我还是不太确定,谢谢您提前发出任何命令

5
根据经验数据生成随机多元值
我正在使用蒙特卡洛(Monte Carlo)函数对具有部分相关收益的几种资产进行估值。目前,我只是生成协方差矩阵并将其馈送到rmvnorm()R中的函数。(生成相关的随机值。) 但是,从资产收益的分布来看,它不是正态分布的。 这实际上是一个由两部分组成的问题: 1)当我拥有的只是一些真实世界的数据而没有已知分布时,我如何估算某种PDF或CDF? 2)我如何生成相关值(例如rmvnorm),但对于这种未知(非正态)分布呢? 谢谢! 分布似乎不适合任何已知的分布。我认为假设参数然后将其用于蒙特卡洛估计将非常危险。 我是否可以查看某种引导程序或“经验蒙特卡洛”方法?
10 mcmc  monte-carlo  pdf 

4
从1个值播种N个独立随机数生成器的最佳方法
在我的程序中,我需要运行N个单独的线程,每个线程都有自己的RNG,该RNG用于采样大型数据集。我需要能够使用单个值为整个过程设定种子,以便能够重现结果。 仅按顺序增加每个索引的种子就足够了吗? 目前,我使用numpy的是RandomState使用Mersenne Twister伪随机数生成器的。 下面的代码片段: # If a random number generator seed exists if self.random_generator_seed: # Create a new random number generator for this instance based on its # own index self.random_generator_seed += instance_index self.random_number_generator = RandomState(self.random_generator_seed) 本质上,我从用户输入的种子(如果存在)开始,然后针对每个实例/线程,依次添加正在运行的实例的索引(从0到N-1)。我不知道这是个好习惯还是有更好的方法来做到这一点。

2
基于马尔可夫链的抽样是蒙特卡洛抽样的“最佳”方法吗?有替代方案吗?
马尔可夫链蒙特卡洛方法是基于马尔可夫链的方法,它使我们能够从非标准分布中获取样本(在蒙特卡洛环境中),而我们无法直接从中提取样本。 我的问题是,为什么马尔可夫链对于蒙特卡洛采样来说是“最先进的”。另一个问题可能是,是否还有其他方法(如马尔可夫链)可用于蒙特卡洛采样?我知道(至少从研究文献的角度来看)MCMC具有深厚的理论根源(就(a)周期性,同质性和详细平衡之类的条件而言),但我想知道蒙特卡洛是否有任何“可比的”概率模型/方法卡洛采样类似于马尔可夫链。 如果我对问题的某些部分感到困惑(或者似乎完全令人困惑),请指导我。

1
R线性回归分类变量“隐藏”值
这只是我多次遇到的示例,因此我没有任何示例数据。在R中运行线性回归模型: a.lm = lm(Y ~ x1 + x2) x1是一个连续变量。x2是分类的,具有三个值,例如“低”,“中”和“高”。但是,R给出的输出将类似于: summary(a.lm) Estimate Std. Error t value Pr(>|t|) (Intercept) 0.521 0.20 1.446 0.19 x1 -0.61 0.11 1.451 0.17 x2Low -0.78 0.22 -2.34 0.005 x2Medium -0.56 0.45 -2.34 0.005 我知道R在这种因素(x2是一个因素)上引入了某种虚拟编码。我只是想知道,如何解释x2“高”值?例如,x2在此处给出的示例中,“ High” 对响应变量有什么影响? 我在其他地方(例如这里)已经看到了这样的示例,但是还没有找到我能理解的解释。
10 r  regression  categorical-data  regression-coefficients  categorical-encoding  machine-learning  random-forest  anova  spss  r  self-study  bootstrap  monte-carlo  r  multiple-regression  partitioning  neural-networks  normalization  machine-learning  svm  kernel-trick  self-study  survival  cox-model  repeated-measures  survey  likert  correlation  variance  sampling  meta-analysis  anova  independence  sample  assumptions  bayesian  covariance  r  regression  time-series  mathematical-statistics  graphical-model  machine-learning  linear-model  kernel-trick  linear-algebra  self-study  moments  function  correlation  spss  probability  confidence-interval  sampling  mean  population  r  generalized-linear-model  prediction  offset  data-visualization  clustering  sas  cart  binning  sas  logistic  causality  regression  self-study  standard-error  r  distributions  r  regression  time-series  multiple-regression  python  chi-squared  independence  sample  clustering  data-mining  rapidminer  probability  stochastic-processes  clustering  binary-data  dimensionality-reduction  svd  correspondence-analysis  data-visualization  excel  c#  hypothesis-testing  econometrics  survey  rating  composite  regression  least-squares  mcmc  markov-process  kullback-leibler  convergence  predictive-models  r  regression  anova  confidence-interval  survival  cox-model  hazard  normal-distribution  autoregressive  mixed-model  r  mixed-model  sas  hypothesis-testing  mediation  interaction 

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.