mcmc

    3热度

    2回答

    我有一个关于Metropolis-Hastings算法的简单问题。 假设分布只有一个变量x,x的取值范围是s = [ - 2^31,2^31]。 在抽样过程中,我需要提出一个新的x值,然后决定是否接受它。 x_{t+1} =x_t+\epsilon 如果我想自己实现它,如何决定\ epsilon的值。 基本的解决方案是从Uniform [-2^31,2^31]中选择一个值并将其设置为\ eps

    3热度

    1回答

    我试图实现使用MH简单的MCMC algorith有R的问题是,我得到这个错误(我试图来计算α和它不是一个NA的问题) Error in if (runif(1) <= alpha) { : missing value where TRUE/FALSE needed 这里是我的功能任何人都可以发现问题吗? PoissonMetropolisHastingRW = function(n=1000

    6热度

    1回答

    我试图在R.使用MCMCglmm包创建模型多项式模型 的数据的结构如下,其中对子,局灶性,其他都是随机效应,predict1-2是预测变量,和响应1-5是结果变量,不同亚型的观察到的行为的捕获#: dyad focal other r present village resp1 resp2 resp3 resp4 resp5 1 10101 14302 0.5 3 1 0 0 4 0

    29热度

    1回答

    我有一个结构化的,因为这图中的模型: 我有几个人(索引1的人口... 5在这幅图片中)。人口参数(A和B,但可以有更多)确定每个人的潜在变量L[i]的分布。潜在变量L[i]以概率方式确定观察X[i]。这个模型是“稀疏”的,因为大多数节点没有边直接连接它们。 我想用PyMC来推断人口参数,以及每个人的潜在变量。 (一个相关的问题,更详细地描述了我的具体情况,是here。)我的问题是:我是否应该使用A

    1热度

    1回答

    我在自学PyMC,但遇到以下问题: 我有一个模型,其参数应通过连续测量来确定。在开始时,参数的先验信息是无意义的,但应在每次测量后更新(即由后面代替)。总之,我想用PyMC进行顺序更新。 考虑以下(有点构造)例如: 测量1:10个问题,9个正确答案 测量2:5个问题,3个正确答案 当然,这可以使用β/二项式共轭先验分析解决,但这不是这里的点:) 另外,这两种测量可以结合d至n = 15和k = 1

    1热度

    1回答

    在我的模型中,我需要使用复杂的python函数从一组父变量中获取我的确定性变量的值。 有没有可能这样做? 以下是一个python代码,它显示了我正在尝试做的简化情况。 import numpy as np import pymc as pm #Predefine values on two parameter Grid (x,w) for a set of i values (1,2,3)

    4热度

    1回答

    以下显然简单的代码用于Python中的MCMC会导致巨大的内存使用(> 15GB),即使我使用pickle后端。每当我在pymc中使用观察变量数组时,都会发生这种情况。任何想法为什么发生这种情况? import pymc as pymc import numpy as np N = 17 numC = 5 A = np.zeros([N,N]) A[0:numC, :] = 1 A

    1热度

    1回答

    我想了解贝叶斯参数估计,并通过here(教程1 & 2)找到了一些非常好的教程。为了测试我的理解,我试图实现MCMC方法来根据给定数据集来估计获取头部的概率。输入数据集有8个头和2个尾。假设前面的Beta(2,2),获得头的分析概率=(8 + 2)/(10 + 2 + 2)= 0.71。然而,当我尝试使用大都会黑斯廷斯算法时,我得到了非常不同的答案。任何人都可以签我的实现在这里解释什么,我缺少的

    2热度

    1回答

    我试图让使用两个转换率之间的差异MCMCpack一个后验分布,如同对A和B段的this PyMC tutorial. 我可以得到两个采样速率的后验就好了,但我正在努力如何实施采样三角洲..任何想法? 编辑真正的增量(这将是未知的,如果我们没有制造的数据,这也是我们想用MCMC估计)是两种税率true_p_a和true_p_b即0.01之间的差异。 # define true success rat

    3热度

    1回答

    我正在使用RJAGS修改现有模型。我想平行运行链,偶尔检查Gelman-Rubin收敛诊断,看看是否需要继续跑步。问题是,如果需要根据诊断值继续运行,则重新编译的链将从第一个初始化的先前值重新启动,而不是在链停止的参数空间中的位置。如果我不重新编译模型,RJAGS抱怨。有没有办法在停车时存储链条的位置,以便我可以从停止的位置重新初始化?这里我将举一个非常简单的例子。 example1.bug: m