pymc3 中的自定义可能性

2023-11-21

如何在 PyMC3 中定义自定义可能性?在 PyMC2 中,我可以使用@pymc.potential。我尝试使用pymc.Potential然而,在 PyMC3 中,布尔运算似乎无法应用于参数(我收到类似的错误this当我这样做时)。例如,以下代码不起作用:

from pymc import *

with Model() as model:
    x = Normal('x', 1, 1)

    def z(u):
        if u > 0: #comparisons like this are not supported
        # if theano.tensor.lt(0,u): this is how comparison should be done
            return u ** 2
        return -u**3

    x2 = Potential('x2', z(x))

    start = model.test_point
    h = find_hessian(start)
    step = Metropolis(model.vars, h)
    sample(100, step, start)

我不可能将可能性内的所有比较更改为 Theano 语法(即 theano.tensor.{lt,le,eq,neq,gt,ge})。有没有办法使用定义类似于 PyMC2 的似然函数?


您需要使用DensityDist函数来包装你的对数可能性。从与源捆绑的示例中:

with Model() as model:
    lam = Exponential('lam', 1)

    failure = np.array([0, 1])
    value = np.array([1, 0])

    def logp(failure, value):
        return sum(failure * log(lam) - lam * value)

    x = DensityDist('x', logp, observed=(failure, value))

您可以使用以下方法做出任意非 Theano 确定性@theano.compile.ops.as_op装饰器,但对于随机指标来说就不那么容易了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pymc3 中的自定义可能性 的相关文章

  • pymc3 中的自定义可能性

    如何在 PyMC3 中定义自定义可能性 在 PyMC2 中 我可以使用 pymc potential 我尝试使用pymc Potential然而 在 PyMC3 中 布尔运算似乎无法应用于参数 我收到类似的错误this当我这样做时 例如 以
  • PyMC 3 中的生存分析

    我尝试移植简单的生存模型从这里 介绍中的第一个 从 PyMC 2 到 PyMC 3 但是 我没有找到任何与 观察到的 装饰器等效的东西 并且我尝试编写新发行版失败了 有人可以提供一个例子 这是如何在 PyMC 3 中完成的吗 这是一个棘手的
  • pymc3:具有多个观察变量的分层模型

    我有一个简单的分层模型 其中有很多个体 我有来自正态分布的小样本 这些分布的均值也遵循正态分布 import numpy as np n individuals 200 points per individual 10 means np r
  • pymc3:多个观察值

    我有一些观测数据想要估计参数 我认为这将是尝试 PYMC3 的好机会 我的数据由一系列记录构成 每条记录包含一对与固定的一小时时间段相关的观察结果 一项观察是给定一小时内发生的事件总数 另一个观察结果是该时间段内的成功数量 例如 一个数据点
  • 安装和导入后,colaboratory 将不会承认 arviz

    在Google的合作实验室中 安装了arviz然后导入arviz没有错误 但在代码单元中 pm plot posterior samples 得到错误 arviz未安装 尝试绘制贝叶斯代码 pm plot posterior samples
  • 在 PyMC3 中使用复数似然

    pymc version 3 0 theano version 0 6 0 dev RELEASE 我正在尝试将 PyMC3 与复杂的似然函数一起使用 第一个问题 这可能吗 这是我尝试使用托马斯 维茨基的帖子作为指导 import nump
  • PyMC 错误:hasattr():属性名称必须是字符串

    我在 PyMC 中的模型上运行推理时遇到问题 我正在尝试在相当复杂的模型上运行 MCMC 并且收到以下错误 hasattr attribute name must be string 我在这段代码的最后一行得到了这个 抱歉 这很复杂 但我真
  • 如何使用 pymc 制作离散状态马尔可夫模型?

    我试图找出如何正确制作离散状态马尔可夫链模型pymc http pymc devs github io pymc index html 举个例子 查看nbviewer http nbviewer ipython org github shp
  • PyMC3 将随机协方差矩阵传递给 pm.MvNormal()

    我尝试使用 PyMC3 将简单的 2D 高斯模型拟合到观察到的数据 import numpy as np import pymc3 as pm n 10000 np random seed 0 X np random multivariat
  • 如何使用pymc参数化概率图模型?

    如何使用 pymc 参数化概率图形模型 假设我有一个带有两个节点的 PGMX and Y 可以说X gt Y是图表 And X有两个值 0 1 and Y也有两个值 0 1 我想使用 pymc 来学习分布的参数并填充 用于运行推理的图形模型
  • 使用 PyMC3 进行贝叶斯概率矩阵分解 (BPMF):使用“NUTS”的 PositiveDefiniteError

    我已经实施了贝叶斯概率矩阵分解 https www cs toronto edu amnih papers bpmf pdf算法使用pymc3在Python中 我还实现了它的前身 概率矩阵分解 PMF 看我之前的问题 https stats
  • 访问 PyMC3 中随机变量的值

    在PyMC2中 有random 和value 方法来生成随机值 并获取随机变量的当前值 有没有办法在 PyMC3 中做同样的事情 p pm Dirichlet p theta np array 1 1 1 p random p value
  • 使用 PYMC3 对 RV 求和

    我正在尝试从图像中实现模型 我是 PyMC3 的新手 我不确定如何正确构建模型 我的尝试如下 sample data logprem np array 8 66768002 8 49862181 8 60410456 8 54966038
  • 在 PYMC3 中使用自定义可能性会导致“expected ndarray”错误

    我正在尝试在 PYMC3 中使用自定义分布 广义极值或 GEV 分布 我已经编写了一些代码来计算这个 但我得到一个错误 ValueError 需要一个 ndarray 应用导致错误的节点 MakeVector dtype float64 l
  • 使用 pymc 与 MCMC 拟合两个正态分布(直方图)?

    我正在尝试拟合 CCD 上摄谱仪检测到的线轮廓 为了便于考虑 我提供了一个演示 如果解决了 它与我的演示非常相似actually想要解决 我看过这个 https stats stackexchange com questions 46626
  • 多维 PyMC3 观察

    我的模型有一个 LogNormal RV C 形状为 W D W 中的每一行和 D 中的每一列都有一个正在拟合的参数 我试图将我的观察结果指定为 W D 矩阵 但是 这会导致 theano 编译错误 raise Exception Comp
  • Python 中的随机优化

    我正在尝试结合cvxopt http cvxopt org 优化求解器 和PyMC https github com pymc devs pymc 采样器 解决凸问题随机优化问题 作为参考 安装这两个软件包pip很简单 pip instal
  • 可以在 pystan 或 pymc3 中使用样本权重吗?

    如果我观察到的数据集具有权重 例如跟踪多重性 是否可以将其提供给 pystan 或 pymc3 类似于函数签名 http mc stan org rstanarm reference stan glm html http mc stan o
  • pymc 对多个变量进行观察

    我在用着黑客贝叶斯方法线性回归的示例 https nbviewer jupyter org github CamDavidsonPilon Probabilistic Programming and Bayesian Methods for
  • PyMC3 和 Theano - 导入 pymc3 后,有效的 Theano 代码停止工作

    一些简单的 theano 代码可以完美运行 当我导入 pymc3 时停止工作 这里有一些片段可以重现错误 Initial Theano Code this works import theano tensor as tsr x tsr ds

随机推荐

  • 将单元格添加到 iOS 中 UITableView 的底部

    我正在使用带有情节提要的 xcode 4 2 来创建 iphone 应用程序 当我按下右上角的编辑按钮时 我希望有选项来删除现有行并在顶部看到额外的单元格 带有绿色 图标 这将允许我添加新单元格 我有一个正在填充的数组viewDidLoad
  • ThreadPoolExecutor 队列满时会阻塞?

    我正在尝试使用 ThreadPoolExecutor 执行大量任务 下面是一个假设的例子 def workQueue new ArrayBlockingQueue
  • 将 struct 转换为 int

    考虑到 让我添加一个代码片段来澄清 typedef struct uint8 t field 5 uint8 t field2 4 and so on some struct t some struct t some struct init
  • UITextField:textRectForBounds:与。编辑矩形边界:

    和有什么区别UITextField其文本的矩形与可编辑文本的矩形 我只想移动文本字段内显示文本的位置 我应该用相同的确切实现来重写这两种方法吗 UITextField 类参考 文本矩形边界 返回文本字段文本的绘图矩形 编辑矩形边界 返回可以
  • 多点连接:接受邀请(使用内置浏览器 VC)

    我试图关注 WWDC 演讲了解多点连接框架 经过多次错误启动后 浏览器会显示对等方 并发出邀请 但是当我在对等设备上按 接受 时 浏览器一直显示 正在连接 没有结束 我以为MCBrowserViewController处理了逻辑 我可以放松
  • lambda 表达式和事件处理程序?

    有人向我提到 c 支持使用 lambda 表达式作为事件处理程序 有人可以与我分享一些这方面的参考吗 最好有代码片段 您可以使用 lambda 表达式构建匿名方法 该方法可以附加到事件 例如 如果您制作一个带有Button and a La
  • 如何自定义谷歌课堂共享按钮的外观和感觉

    目前 它看起来像一个旁边没有文字的正方形 我们希望在不干扰图标的情况下自定义外观和感觉 当然以匹配我们的其他按钮 已经尝试将样式添加到div已转换为共享图标 但到目前为止尚未成功 div class btn btn blue Google
  • 在 data.frame 中的两列之间添加(插入)一列

    我有一个包含 a b 和 c 列的数据框 我想在 b 和 c 之间添加一个新列 d 我知道我可以通过使用在末尾添加 dcbind但我怎样才能insert它在两列之间吗 我建议你使用该功能add column 来自tibble包裹 libra
  • 取消嵌套或取消切割包含不同长度列表的数据帧

    我有一个数据框 其中有几列 其中包含我想要的列表列unnest or unchop 但是 它们的长度不同 所以产生的错误是Error No common size for 这是一个表示 显示什么有效 什么无效 library tidyr l
  • Ninject 入门

    我在 上观看了 Ninject 的前 2 个初学者教程Dimecasts net 现在 我想在 ASP NET MVC 3 中使用 Ninject 2 2 我想要一个带有模拟模型的视图 调用我的服务时 我得到的对象引用未设置为对象的实例 p
  • 这个 OpenCL 代码可以优化吗?

    我正在为一个专门的矩阵函数编写一段 OpencL 代码 Dx1 vector v two DxD矩阵A and B和一个常数c 返回1xD vector r where r i c sum over j v j A i j B i j 下面
  • 使用 django-cms,如何允许用户指定背景图像

    我正在为客户创建一个 django cms 网站 我想做这样的事情 期望的效果是让 CMS 用户可以为页面选择背景图像 理想情况下 他们会使用类似的东西选择现有的图片Filer 有没有办法做到这一点 Paulo 是对的 第一步是配置一个占位
  • 将 UTF-8 BOM 添加到字符串/Blob

    我需要在客户端生成的文本数据中添加 UTF 8 字节顺序标记 我怎么做 Using new Blob xEF xBB xBF content yields my data 当然 也没有 uBBEF x22BF 工作 与 x22 成为下一个角
  • Javascript call() 和 apply() 与 bind()?

    我已经知道了apply and call是类似的函数 设置this 函数的上下文 区别在于我们发送参数的方式 手动与数组 问题 但是我什么时候应该使用bind 方法 var obj x 81 getX function return thi
  • GObject Gtk、Gnome、Gtk+、Gl、Gtk2、Gtk3...我不明白?

    我需要一些窗口来托管 webkit 或 和 cairo drwaing 但我必须首先处理所有这些问题才能了解我在做什么 现在 我迷失了 不再明白这一切是怎么回事 当我尝试使用绑定或尝试找出某些东西的依赖关系时 事情会变得更糟 例如 在 py
  • Firefox 3 不应用我的 xslt 样式表,但其他浏览器可以

    我正在尝试从 Web 服务器提供动态生成的 xml 页面 并从同一 Web 服务器提供自定义的静态 xslt 这会将处理卸载到客户端 Web 浏览器中 直到最近 我在 Firefox 2 3 IE5 6 和 Chrome 中都运行良好 不过
  • 为什么共享库的 ELF 标头会将 Linux 指定为 OSABI?

    我的 Linux 系统 Fedora 9 上的所有标准共享库都指定 ELFOSABI NONE 0 作为其 OSABI 这很好 但是我从供应商那里收到了一个共享库 其中 ELF 标头中给出的 OSABI 是 ELFOSABI LINUX 3
  • 如何在表单之间共享数据?

    考虑两种形式 form1 和 form2 form1 calls form2 form2 frm new form2 frm show form2显示包含数据的网格 选择数据后 会将其放入文本框中 我需要来自的返回值form2 to for
  • 为什么相同的代码每次运行时给出不同的地址?

    每次运行代码时 我都会得到不同的输出值 当堆和堆栈地址固定时 为什么 malloc 返回不同的地址 我希望它从堆顶部开始分配并每次返回一个固定地址 对于堆栈也是如此 include
  • pymc3 中的自定义可能性

    如何在 PyMC3 中定义自定义可能性 在 PyMC2 中 我可以使用 pymc potential 我尝试使用pymc Potential然而 在 PyMC3 中 布尔运算似乎无法应用于参数 我收到类似的错误this当我这样做时 例如 以