jjzjj

python - 来自 PyMC 的 FloatingPointError 从 Dirichlet 分布中抽样

在beingunsuccessfulinusingdecorators之后为了定义“指数随机变量的对数”的随机对象,我决定使用pymc.stochastic_from_dist为这个新分布手动编写代码。我尝试实现的模型可在此处获得(第一个模型):现在,当我尝试使用MCMCMetropolis对log(alpha)进行采样并使用正态分布作为建议时(如下图所示的采样方法),我收到以下错误:File"/Library/Python/2.7/site-packages/pymc/distributions.py",line980,inrdirichletreturn(gammas[0]/gam

python - 最高后密度区和中央可信区

给定一些参数Θ的后验p(Θ|D),可以define以下:最高后密度区域:HighestPosteriorDensityRegion是Θ最可能值的集合,总共构成100(1-α)%的后部质量。换句话说,对于给定的α,我们寻找满足以下条件的p*:然后得到HighestPosteriorDensityRegion作为集合:中央可信区:使用与上述相同的符号,可信区域(或区间)定义为:根据分布,可能有许多这样的间隔。中央可信区间定义为每条尾部上都有(1-α)/2质量的可信区间。计算:对于一般分布,给定分布中的样本,是否有任何内置函数可以在Python或PyMC中获得上述两个量?对于常见的参数分布(

python - 最高后密度区和中央可信区

给定一些参数Θ的后验p(Θ|D),可以define以下:最高后密度区域:HighestPosteriorDensityRegion是Θ最可能值的集合,总共构成100(1-α)%的后部质量。换句话说,对于给定的α,我们寻找满足以下条件的p*:然后得到HighestPosteriorDensityRegion作为集合:中央可信区:使用与上述相同的符号,可信区域(或区间)定义为:根据分布,可能有许多这样的间隔。中央可信区间定义为每条尾部上都有(1-α)/2质量的可信区间。计算:对于一般分布,给定分布中的样本,是否有任何内置函数可以在Python或PyMC中获得上述两个量?对于常见的参数分布(

python - PyMC:利用 Adaptive Metropolis MCMC 中的稀疏模型结构

我有一个结构如下图所示的模型:我有几个人(在这张图片中索引为1...5)。种群参数(A和B,但可以有更多)确定每个个体的潜在变量L[i]的分布。潜在变量L[i]以概率的方式确定观测值X[i]。这个模型是“稀疏的”,因为大多数节点没有直接连接它们的边。我正在尝试使用PyMC来推断总体参数以及每个人的潜在变量。(更详细地描述我的具体情况的一个相关问题是here。)我的问题是:我应该使用AdaptiveMetropolis而不是另一种方法,如果是,是否有任何“技巧”来分组随机变量正确吗?如果我正确理解AdaptiveMetropolis采样(我可能不会...),该算法会为未知数(A、B和所有

python - PyMC:利用 Adaptive Metropolis MCMC 中的稀疏模型结构

我有一个结构如下图所示的模型:我有几个人(在这张图片中索引为1...5)。种群参数(A和B,但可以有更多)确定每个个体的潜在变量L[i]的分布。潜在变量L[i]以概率的方式确定观测值X[i]。这个模型是“稀疏的”,因为大多数节点没有直接连接它们的边。我正在尝试使用PyMC来推断总体参数以及每个人的潜在变量。(更详细地描述我的具体情况的一个相关问题是here。)我的问题是:我应该使用AdaptiveMetropolis而不是另一种方法,如果是,是否有任何“技巧”来分组随机变量正确吗?如果我正确理解AdaptiveMetropolis采样(我可能不会...),该算法会为未知数(A、B和所有

python - 涉及离散变量时 pymc3 与 pymc2 的困难

我正在更新一些我使用pymc2到pymc3的计算,当我的模型上有一些离散随机变量时,我在采样器行为方面遇到了一些问题。例如,考虑以下使用pymc2的模型:importpymcaspmN=100data=10p=pm.Beta('p',alpha=1.0,beta=1.0)q=pm.Beta('q',alpha=1.0,beta=1.0)A=pm.Binomial('A',N,p)X=pm.Binomial('x',A,q,observed=True,value=data)它并不能真正代表任何东西,它只是一个模型,其中一个未观察到的变量是离散的。当我使用pymc2对该模型进行采样时,我得

python - PYMC3 贝叶斯预测锥

我还在学习PYMC3,但是我在文档中找不到关于以下问题的任何内容。考虑来自thisquestion的贝叶斯结构时间序列(BSTS)模型没有季节性。这可以在PYMC3中建模如下:importpymc3,numpy,matplotlib.pyplot#generatesometestdatat=numpy.linspace(0,2*numpy.pi,100)y_full=numpy.cos(5*t)y_train=y_full[:90]y_test=y_full[90:]#specifythemodelwithpymc3.Model()asmodel:grw=pymc3.GaussianR

python - 用 PyMC 解决反问题

假设我们在X上有一个先验(例如X~Gaussian)和一个前向运算符y=f(x)。进一步假设我们通过实验观察到了y,并且这个实验可以无限重复。假设输出Y为高斯分布(Y~Gaussian)或无噪声(Y~Delta(observation))。如何根据观察结果不断更新我们对X的主观知识程度?我已经用PyMC尝试了以下模型,但似乎我遗漏了一些东西:frompymcimport*xtrue=2#thisvalueisunknownintherealapplicationx=rnormal(0,0.01,size=10000)#initialguessforiinrange(5):X=Norma

python - pymc3 : Multiple observed values

我有一些观测数据想估计参数,我认为这是试用PYMC3的好机会。我的数据结构为一系列记录。每条记录都包含一对与固定的一小时时间段相关的观察结果。一项观察是给定时间内发生的事件总数。另一个观察结果是该时间段内的成功次数。因此,例如,一个数据点可能指定在给定的1小时内,总共有1000个事件,而这1000个事件中有100个是成功的。在另一个时间段内,可能总共有1000000个事件,其中120000个是成功的。观察的方差不是恒定的,取决于事件的总数,我想控制和建模的部分原因是这种影响。我这样做的第一步是估计潜在的成功率。我准备了下面的代码,旨在通过使用scipy生成两组“观察到的”数据来模拟这种

python - PyMC3 中的隐马尔可夫

我有一个多元蒙特卡洛隐马尔可夫问题要解决:x[k]=f(x[k-1])+Bu[k]y[k]=g(x[k])哪里:x[k]thehiddenstates(Markovdynamics)y[k]theobserveddatau[k]thestochasticdrivingprocessPyMC3是否已经足够成熟来处理这个问题,还是我应该继续使用2.3版?其次,非常感谢任何对PyMC框架中HM模型的引用。谢谢。--亨克 最佳答案 我对PyMC2.x做了类似的事情。我的你虽然不依赖时间。这是我的例子。#we'reusing`some_tau