多维 PyMC3 观察

2024-04-15

我的模型有一个 LogNormal RV,C,形状为 (W,D)。 W 中的每一行和 D 中的每一列都有一个正在拟合的参数。我试图将我的观察结果指定为 (W,D) 矩阵,但是,这会导致 theano 编译错误

raise Exception('Compilation failed (return status=%s): %s' %
Exception: ('The following error happened while compiling the node', Alloc(Elemwise{switch,no_inplace}.0, TensorConstant{10}, TensorConstant{10}), '\n', 'Compilation failed (return status=3): ', '[Alloc(<TensorType(float64, row)>, TensorConstant{10}, TensorConstant{10})]')

我使用的模型来自答案here https://stackoverflow.com/questions/60407008/summing-rvs-using-pymc3。该模型以及观察到的数据如下:

logloss = np.array([[6.85856503, 6.35784227, 7.15773548, 6.7262334 , 4.34380542,
        4.68213123, 4.20469262, 2.07944154, 1.38629436, 0.        ],
       [6.74405919, 6.57228254, 6.45833828, 5.43807931, 3.58351894,
        2.94443898, 3.25809654, 2.56494936, 1.60943791,        nan],
       [6.89060912, 7.11314211, 6.42810527, 6.90975328, 5.33271879,
        3.25809654, 3.61091791, 3.97029191,        nan,        nan],
       [7.41276402, 6.93537045, 6.18208491, 6.06610809, 5.70378247,
        6.04025471, 2.48490665,        nan,        nan,        nan],
       [6.83733281, 6.91572345, 6.53087763, 6.55961524, 3.58351894,
        4.81218436,        nan,        nan,        nan,        nan],
       [7.05789794, 7.12286666, 5.98393628, 5.28320373, 3.63758616,
               nan,        nan,        nan,        nan,        nan],
       [7.2984451 , 7.31455283, 6.8721281 , 6.64509097,        nan,
               nan,        nan,        nan,        nan,        nan],
       [7.12286666, 6.73340189, 6.26720055,        nan,        nan,
               nan,        nan,        nan,        nan,        nan],
       [7.18992217, 6.9902565 ,        nan,        nan,        nan,
               nan,        nan,        nan,        nan,        nan],
       [7.25347038,        nan,        nan,        nan,        nan,
               nan,        nan,        nan,        nan,        nan]])

logprem = np.array([8.66768002, 8.49862181, 8.60410456, 8.54966038, 8.55910259,
       8.56216656, 8.51559191, 8.60630237, 8.56140145, 8.50956416])

D = 10
W = 10

logprem = tt._shared(logprem).T.repeat(D, axis=1))

with pm.Model() as model:
    logelr = pm.Normal('logelr', -0.4, np.sqrt(10))

    # col vector
    alpha = pm.Normal("alpha", 0, sigma=np.sqrt(10), shape=(W-1,1))

    # row vector
    beta = pm.Normal("beta", 0, sigma=np.sqrt(10), shape=(1,D-1))

    # prepend zero and broadcast to (W,D)
    alpha_aug = tt.concatenate([tt.zeros((1,1)), alpha], axis=0).repeat(D, axis=1)

    # append zero and broadcast to (W,D)
    beta_aug = tt.concatenate([beta, tt.zeros((1,1))], axis=1).repeat(W, axis=0)

    # technically the indices will be reversed
    # e.g., a[0], a[9] here correspond to a_10, a_1 in the paper, resp.
    a = pm.Uniform('a', 0, 1, shape=D)

    # Note: the [::-1] sorts it in the order specified 
    # such that (sigma_0 > sigma_1 > ... )
    sigma = pm.Deterministic('sigma', tt.extra_ops.cumsum(a)[::-1].reshape((1,D)))

    # now everything here has shape (W,D) or is scalar (logelr)
    mu = logprem + logelr + alpha_aug + beta_aug

    # sigma will be broadcast automatically
    C = pm.Lognormal('C', mu=mu, sigma=sigma, shape=(W,D), observed=logloss)

None

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

多维 PyMC3 观察 的相关文章

  • 如何将one-hot向量转换为多标签?

    我有一项多分类任务 并且我得到了像这样的单热类型预测 0 1 1 0 1 0 1 0 1 我希望将这个单热向量转换为标签 例如 1 2 1 0 2 我已经尝试过 tf argmax 但它不起作用 那么我该如何处理呢 使用列表理解 oheLi
  • 如何查找分布式dask中任务失败的原因?

    我正在开发一个分布式计算系统dask distributed 我通过以下方式提交给它的任务Executor map功能有时会失败 而其他看起来相同的功能却可以成功运行 该框架是否提供了诊断问题的方法 update我所说的失败是指增加 Bok
  • 根据 pandas 中的条件交换列值

    我想按条件重新定位列 如果国家 地区是 日本 我需要将姓氏和名字反向重新定位 df pd DataFrame France Kylian Mbappe Japan Hiroyuki Tajima Japan Shiji Kagawa Eng
  • 如何 json_normalize() df 中的特定字段并保留其他列? [复制]

    这个问题在这里已经有答案了 这是我的简单示例 我的实际数据集中的 json 字段非常嵌套 因此我一次解压一层 我需要在 json normalize 之后保留数据集上的某些列 https pandas pydata org docs ref
  • 如何有条件地组合两个相同形状的 numpy 数组

    这听起来很简单 但我想我把它想得太复杂了 我想创建一个数组 其元素是从两个形状相同的源数组生成的 具体取决于源数组中哪个元素更大 为了显示 import numpy as np array1 np array 2 3 0 array2 np
  • 无法将 datetime.datetime 与 datetime.date 进行比较

    我有以下代码并收到上述错误 由于我是 python 新手 我无法理解这里的语法以及如何修复错误 if not start or date lt start start date 有一个datetime date 从日期时间转换为日期的方法
  • 将 Django 表单中的所有 CharField 表单字段输入转换为小写

    我使用 Django 表单进行用户注册 用户可以在其中输入优惠券代码 我希望在优惠券代码字段中输入的所有字符都转换为小写 我尝试过在保存方法 自定义清理方法和自定义验证器中使用 lower 但这些方法没有运气 下面是我的代码 class S
  • 熊猫记忆

    我有冗长的计算 我重复了很多次 因此 我想使用记忆 诸如jug http packages python org Jug and joblib http packages python org joblib memory html 与Pan
  • 别碰我的女人

    我讨厌的一件事迪斯图尔斯 http docs python org distutils 我猜他是邪恶的人 他这样做了 https github com python cpython blob 300dd552b15825abfe0e367a
  • 将具有不同大小的行的数据加载到 Numpy 数组中

    假设我有一个包含如下数据的文本文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 如何将它加载到 numpy 数组中 使其看起来像这样 1 2 3 4 5 0 6 7 8 0 0 0 9 1
  • 与函数复合 UniqueConstraint

    一个快速的 SQLAlchemy 问题 我有一个 文档 类 其属性为 数字 和 日期 我需要确保没有重复的号码同年 是 有没有办法对 数字 年份 日期 进行UniqueConstraint 我应该使用唯一索引吗 我如何声明功能部分 SQLA
  • Scikit Learn - K-Means - 肘部 - 标准

    今天我想学习一些关于 K means 的知识 我已经了解该算法并且知道它是如何工作的 现在我正在寻找正确的 k 我发现肘部准则作为检测正确的 k 的方法 但我不明白如何将它与 scikit learn 一起使用 在 scikit learn
  • dask allocate() 或 apply() 中的变量列名

    我有适用于pandas 但我在将其转换为使用时遇到问题dask 有一个部分解决方案here https stackoverflow com questions 32363114 how do i change rows and column
  • 本地设置的 Cython 编译器指令是否影响一个或所有函数?

    我正在努力使用 Cython 加速一些 Python Numpy 代码 并且对 本地 设置 如定义的here http docs cython org en latest src reference compilation html在文档中
  • Melt() 函数复制数据集

    我有一个这样的表 id name doggo floofer puppo pupper 1 rowa NaN NaN NaN NaN 2 ray NaN NaN NaN NaN 3 emma NaN NaN NaN pupper 4 sop
  • 字母尺度和随机文本上的马尔可夫链

    我想使用 txt 文件中的一本书中的字母频率生成随机文本 以便每个新字符 string lowercase 取决于前一个 如何使用马尔可夫链来做到这一点 或者使用每个字母都有条件频率的 27 个数组更简单 我想使用来自的字母频率生成随机文本
  • 如何使用 FastAPI 在 HTMX 前端中使用 HX-Redirect?

    我试图在登录后在前端重定向 我像这样从我的 htmx 前端发出请求
  • 如何将 Pandas Dataframe 中的字符串转换为字符列表或数组?

    我有一个名为的数据框data 其中一列包含字符串 我想从字符串中提取字符 因为我的目标是对它们进行一次性编码并使之可用于分类 包含字符串的列存储在预测因子如下 predictors pd DataFrame data columns Seq
  • 如何抑制 Pandas Future 警告?

    当我运行该程序时 Pandas 每次都会给出如下所示的 未来警告 D Python lib site packages pandas core frame py 3581 FutureWarning rename with inplace
  • 从 Flask 中的 S3 返回 PDF

    我正在尝试在 Flask 应用程序的浏览器中返回 PDF 我使用 AWS S3 来存储文件 并使用 boto3 作为与 S3 交互的 SDK 到目前为止我的代码是 s3 boto3 resource s3 aws access key id

随机推荐

  • MySQL解释过滤列跳转4100带索引

    我的查询 EXPLAIN EXTENDED SELECT artwork id artwork added FROM artwork ORDER BY artwork added DESC LIMIT 0 6 当我在 添加 上添加索引以避免
  • 通过截断有效地将 OracleDecimal 转换为 .NET 十进制

    当我尝试使用 C 将以下 Oracle 空间对象转换为坐标集 小数 时 出现算术溢出异常 decimal OracleUdt GetValue MDSYS SDO GEOMETRY 2001 1041001 MDSYS SDO POINT
  • 如果搜索文本中的术语被换行符打破,如何使用 RegEx 查找术语

    假设我正在搜索 申请人 正如我之前发生过的事情一样 我收到一个如下的文本文件 We have considered the applica nt s experience and qualification and wish to gran
  • 模拟 Rails.env.development?使用 rspec

    我正在使用 rspec 编写单元测试 我想模拟 Rails env development 返回 true 我怎样才能做到这一点 我试过这个 Rails env stub development nil and return true 它抛
  • URI 中的路径可以包含 unicode 吗?

    有效的 URL 是否可以包含非转义的 Unicode 字符 是的 URI 中允许未转义的 ASCII 以及 Unicode 子集 例如字母和数字 但大多数 Unicode 字符集都必须进行百分比编码
  • MOXy 在 2.6.0 版本中支持非字符串 @XmlID 吗?

    根据https gist github com VineetReynolds 5108580 https gist github com VineetReynolds 5108580 JAXB 规范要求元素注释为 XmlID成为一个Stri
  • 如何启动 Perl 的交互式控制台?

    如何启动 Perl 的交互式控制台 类似于irbRuby 命令或python对于Python 您可以在一个简单的程序上使用 perl 调试器 如下所示 perl de1 该命令将启动 Perl 调试器 d 表达式1 e1 因为调试器想要调试
  • 消除java中的“\u3000”错误

    当我尝试编译java文件时 编译器说 非法字符 u3000 经过搜索 我发现是中日韩统一表意文字 https en wikipedia org wiki CJK Unified Ideographs中韩日的SPACE 我决定编写一个简单的搜
  • 如何使用 PhoneGap/Cordova 创建适用于 Windows Phone 7 的简单全景应用程序?

    我环顾四周 发现了几个适用于 Windows Phone 7 的基于 PhoneGap Cordova 的 HTML5 应用程序的示例 但它们似乎都没有向您展示如何制作全景或枢轴样式应用程序 而这些是该应用程序的一些主要吸引力 操作系统的用
  • 将私钥作为字符串的 Java SFTP 客户端

    Apache Commons 和 JSch 都需要私钥文件来建立 SFTP 连接 我正在从事的项目将用于连接到多个 SFTP 服务器 因此 我们不希望部署多个私钥文件 而是将这些密钥作为字符串保存在加密的配置文件中 是否有不需要私钥文件对象
  • 是否可以通过robots.txt控制抓取速度?

    我们可以在 robots txt 中告诉机器人抓取或不抓取我们的网站 另一方面 我们可以控制Google Webmasters中的抓取速度 Google bot抓取网站的速度 我想知道是否可以通过robots txt限制爬虫活动 我的意思是
  • IntelliJ 找不到类路径测试资源

    我遇到一个问题 IntelliJ 13 1 4 在运行单元测试时找不到ServiceLoader文件在src test resources我的模块的目录 在回答之前请注意我已完成以下所有操作 该模块是一个 Gradle 项目 如果我运行gr
  • iOS5 的 NSURLConnection 超时情况如何?

    我试图找到一个明确的答案 是否可以设置在 iOS 5 中使用 NSURLConnection 的超时值 我想将其设置为 30 秒 我搜索了过去关于此的帖子 但信息似乎相互矛盾 例如这个帖子 NSURLConnection 超时 https
  • 在 lucene 中搜索 UUID 不起作用

    我有一个 UUID 字段 以以下格式添加到我的文档中 372d325c e01b 432f 98bd bc4c949f15b8 但是 当我尝试通过 UUID 查询文档时 无论我如何尝试转义表达式 它都不会返回它们 例如 uuid 372d3
  • 何时使用 Soapobject 和 SoapPrimitive

    我一直在与ksoap2 lately 我仍然很困惑两者之间的确切区别是什么SoapObject and SoapPrimitive 以及何时使用它们 我猜它与字符串和数组有关 这是真的吗 我找到了一些链接 但感到困惑 谁能用最简单的英语形式
  • 在代理后面工作的 Azure 服务总线

    我通过 SDK 使用 Azure 服务总线 一切正常 但我遇到了我认为与代理相关的问题 当 IE 运行时 一切正常 但如果不运行 消息将无法发送 我正在代码中设置代理 但想知道我是否为服务总线 SDK 正确执行了此操作 WebProxy p
  • cpython 和 python 有什么区别[重复]

    这个问题在这里已经有答案了 我想知道 CPython 和 Python 之间的区别 因为我听说 Python 是用 C 开发的 那么 CPython 有什么用 Python 是一种语言 CPython http en wikipedia o
  • 为什么双向绑定有时在 Angular 中不使用点也能工作?

    考虑这个小提琴 Fiddle 1 http jsfiddle net martijngr Qvu5u 1 当您选择日期时 您会注意到上面的文本没有更新 这是因为我必须使用列表中的一个对象 如下所示 Fiddle 2 http jsfiddl
  • Anaconda 4.3,64 位(python 3.6),在 Windows“开始”菜单中留下不正确的截断路径

    在 Windows 上安装 anaconda 4 3 64 位 python 3 6 并选择 仅为当前用户安装 和 添加到路径 后 我注意到 anaconda 程序快捷方式在我的开始菜单上不起作用 它们在最后被切断 有谁知道正确的条目应该如
  • 多维 PyMC3 观察

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