pymc相关内容

带变点的PyMC3回归

我看到了如何使用pymc3进行变点分析的示例,但似乎遗漏了一些东西,因为我得到的结果与真实值相差甚远。这里有一个玩具示例。 数据: 脚本: from pymc3 import * from numpy.random import uniform, normal bp_u = 30 #switch point c_u = [1, -1] #intercepts before an ..
发布时间:2022-02-26 18:59:59 Python

在 PyMC 中学习离散 HMM 参数

我正在尝试使用 PyMC 学习一个简单的离散 HMM 的参数.我正在对 HMM 上的 Wiki 页面中的阴雨晴天模型进行建模.该模型如下所示: 我正在使用以下先验. theta_start_state ~ beta(20,10)theta_transition_rainy ~beta(8,2)theta_transition_sunny ~beta(2,8)theta_emission_r ..
发布时间:2021-09-07 20:33:27 Python

如何使用 theano.op 在 pymc3 中编写自定义确定性或随机性?

我正在做一些 pymc3 并且我想创建自定义随机指标,但是似乎没有很多关于它是如何完成的文档.我知道如何使用 as_op 方式,但是显然这使得无法使用 NUTS 采样器,在这种情况下,我看不到 pymc3 优于 pymc. 教程中提到可以通过继承theano.Op来完成.但是谁能告诉我它是如何工作的(我还在开始使用 theano)?我有两个要定义的随机指标. 第一个应该更简单,它是一个 ..
发布时间:2021-09-06 20:39:54 Python

PyMC 中的自定义先验

假设我想在 PyMC 中的两个变量 a 和 b 上放置一个自定义先验,例如: p(a,b)∝(a+b)^(−5/2) (关于这种先验选择背后的动机,请参阅这个答案) 这可以在 PyMC 中完成吗?如果是这样怎么办? 举个例子,我想在下面的模型中在 a 和 b 上定义这样的先验. import pymc as pm# ...# 定义先验的代码:p(a,b)∝(a+b)^(− ..
发布时间:2021-08-30 18:51:20 Python

如何在 PyMC 中实现可由 MCMC Metropolis 采样的随机变量函数?

如果你有一个随机变量$X$和一个函数$f$,你可以将$y=f(X)$定义为一个新的随机变量,其概率密度函数如下: $p(y)=(f^{-1})'(y)p(x)$.有关详细信息,请参阅此处. 现在我已经定义了一个随机变量 alpha,在下面的代码中具有指数分布.我想将 log(alpha) 添加到我的模型中作为新的随机变量.我应该如何在我的模型中实现它? 我已经做出了努力,但似乎是 ..
发布时间:2021-08-30 18:50:32 Python

使用 pymc 用 MCMC 拟合两个正态分布(直方图)?

我正在尝试拟合使用 CCD 上的光谱仪检测到的线轮廓.为了便于考虑,我提供了一个演示,如果解决了,它与我实际想要解决的非常相似. 我看过这个:https://stats.stackexchange.com/questions/46626/pymc 中的两个正态分布拟合模型以及其他各种问题和答案,但他们所做的事情与我想做的事情根本不同. 将 pymc 导入为 mc将 numpy 导入为 np ..
发布时间:2021-08-30 18:43:25 Python

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

给定一些参数 Θ 的后验 p(Θ|D),可以 定义以下内容: 最高后密度区域: 最高后部密度区域是一组最可能的 Θ 值,总共构成后部质量的 100(1-α) %. 换句话说,对于给定的 α,我们寻找一个 p* 满足: 然后得到最高后密度区域作为集合: 中央可信区域: 使用与上述相同的符号,可信区域(或区间)定义为: 根据分布情况,可能有很多这样的间隔.中心 ..
发布时间:2021-08-30 18:40:36 Python

PyMC3- 自定义 theano Op 进行数值积分

我正在使用 PyMC3 使用必须定义的特定似然函数进行参数估计.我用谷歌搜索,发现我应该使用 densitydist 方法来实现用户定义的似然函数,但它不起作用.如何在 PyMC3 中加入用户定义的似然函数并找出我的模型的 posteriori (MAP) 估计的最大值?我的代码如下.这里 L 是我的似然函数的解析形式.我有一些物体的径向速度(vr)和位置(r)的观测数据,这些数据是从 excel ..
发布时间:2021-06-26 20:00:35 其他开发

pymc 中的拟合优度和绘图差异

我使用的是 PYMC 2.3.4.我觉得棒极了.现在我想对文档第 7.3 节中显示的拟合和绘图差异做一些好处(https://pymc-devs.github.io/pymc/modelchecking.html)在文档中,他们说差异图需要 3 个输入 x:数据 x_sim:后验分布样本 x_exp:预期值我能理解前两个,但不能理解第三个 这是代码 血清=[0,1,4,2,2,7 ..
发布时间:2021-06-26 19:16:29 其他开发

用 PyMC 解决逆问题

假设我们有一个 X 的先验(例如 X ~ Gaussian)和一个前向运算符 y = f(x).进一步假设我们通过实验观察到 y 并且这个实验可以无限重复.假设输出 Y 是高斯 (Y ~ Gaussian) 或无噪声 (Y ~ Delta(observation)). 如何根据观察结果持续更新我们对 X 的主观知识程度?我已经用 PyMC 尝试了以下模型,但似乎我遗漏了一些东西: from ..
发布时间:2021-06-21 19:35:41 Python

PyMC:获得零或接近零的分类可能性

我正在尝试根据随机Petri网模型估算费率。我不明白为什么,但是即使在给定我为速率定义的初始值的情况下,将数据数据精确地与预期的观察次数相对应的情况下,也会出现ZeroProbability错误。 例如,以下比率[0.01,2,10,1]对应于3种不同结果[0.33,0.66,0.01]的概率。如果我观察到100个结果,我希望观察到[33、66、1]属于每个结果。 但是,如果我运行以下 ..
发布时间:2020-10-22 19:20:26 其他开发

PyMC3-将观测值传递到模型的方式上的差异->结果不同?

我试图了解将数据传递到模型中的方式是否存在任何有意义的差异-汇总或作为单一试验(请注意,这仅对某些分布(例如二项式)而言是一个有意义的问题). 使用具有二项分布的简单模型预测 p 是/否轨迹. 以下模型(如果有)的计算/结果有什么区别? 我选择两个极端,一次通过一次(减少到伯努利),或者一次通过整个系列的总和,尽管我也对这两个极端之间的差异感兴趣,但我还是选择了这两个例子来说明我 ..
发布时间:2020-09-20 03:47:51 Python

PyMC-协方差估计的wishart分布

我需要根据资产类别的收益建模和估计方差-协方差矩阵,因此我查看了这是我的简单实现,我从一个样本开始,该样本使用具有已知均值和方差-协方差矩阵的多元法线.然后,我尝试使用无信息的先验估计它. 估算值与已知的估算值不同,因此我不确定我的实现是否正确.如果有人能指出我做错了什么,我将不胜感激. import numpy as np import pandas as pd import pym ..
发布时间:2020-09-20 03:47:49 其他开发

与PyMC3的贝叶斯相关

我正在尝试将此将PyMC2的贝叶斯相关性示例转换为PyMC3,但是得到完全不同的结果.最重要的是,多元正态分布的均值迅速变为零,而它的平均值应为400(与PyMC2一样).因此,估计的相关性迅速变为1,这也是错误的. 完整代码可在此 PyMC2笔记本中获得,并在此 PyMC3笔记本中. PyMC2的相关代码是 def analyze(data): # priors mig ..
发布时间:2020-09-20 03:44:37 Python

PYMC3季节变量

我对PYMC3相对较新,我正在尝试实现没有回归变量的贝叶斯结构时间序列(BSTS),例如模型拟合 我可以使用GaussianRandomWalk来实现局部线性趋势,如下所示: delta = pymc3.GaussianRandomWalk('delta',mu=0,sd=1,shape=99) mu = pymc3.GaussianRandomWalk('mu',mu=delta,sd=1 ..
发布时间:2020-09-20 03:43:30 Python

使用PyMC3的贝叶斯概率矩阵因式分解(BPMF):使用`NUTS`的PositiveDefiniteError

我已经实现了贝叶斯概率矩阵分解算法在Python中使用pymc3.我还实现了它的前身,概率矩阵分解(PMF). 查看我以前的问题以了解参考此处使用的数据. 我无法使用NUTS采样器绘制MCMC样本.我使用来自PMF的MAP初始化模型参数,并使用高斯随机绘制将超参数散布在0左右.但是,在为采样器设置步骤对象时会得到PositiveDefiniteError.我已经验证了PMF的MAP估计是合理 ..
发布时间:2020-09-20 03:42:18 其他开发

使用`LKJCorr`优先级在PyMC3中修改的BPMF:使用`NUTS`的PositiveDefiniteError

我以前实现了原始的贝叶斯概率矩阵分解(BPMF)pymc3中的a>模型. 请参阅我以前的问题以获取参考,数据源和问题设置.根据@twiecki对这个问题的回答,我使用相关关系矩阵的LKJCorr先验和标准差的统一先验实现了模型的变体.在原始模型中,协方差矩阵来自Wishart分布,但是由于pymc3的当前限制,无法从Wishart分布中正确采样.对一个松散相关问题的此答案为LKJCorr先验的选择 ..
发布时间:2020-09-20 03:39:55 Python

PyMC-方差-协方差矩阵估计

我阅读了以下论文( http://www3.stat. sinica.edu.tw/statistica/oldpdf/A10n416.pdf ),他们将方差-协方差矩阵Σ建模为: Σ= diag(S)* R * diag(S)(本文方程1) S是标准差的k×1向量,diag(S)是带有对角元素S的对角矩阵,R是k×k相关矩阵. 如何使用PyMC来实现呢? 这是我写的一些初 ..
发布时间:2020-09-20 03:39:52 其他开发

使用PyMC3进行增量模型更新

是否可以在pyMC3中增量更新模型.我目前找不到任何信息.所有文档始终使用先验已知数据. 但是据我了解,贝叶斯模型也意味着能够更新信念.在pyMC3中可以吗?我在哪里可以找到信息? 谢谢:) 解决方案 按照@ChrisFonnesbeck的建议,我写了一个有关增量优先更新的小型教程笔记本.可以在这里找到: https://github.com/pymc-devs/pymc ..
发布时间:2020-09-20 03:39:45 Python