跳转到主要内容

分层序列抽样模型的贝叶斯推理。

项目描述

HSSM - 分层序列抽样建模

PyPI PyPI - Downloads PyPI - Python Version GitHub pull requests GitHub Workflow Status (with event) GitHub Repo stars Code style: black

概述

HSSM是一个Python工具箱,它将最先进的似然近似方法与更广泛的概率编程语言生态系统无缝结合。它通过现代MCMC抽样器促进了灵活的分层模型构建和推理。HSSM易于使用,并能够通过为各种认知过程模型提供参数混合效应模型来严格估计神经和其他逐次试验协变量的影响。HSSM是布朗大学Carney研究所计算与可视化中心和计算脑科学中心的BRAINSTORM项目。

  • 允许通过各种似然近似器进行近似分层贝叶斯推理。
  • 通过本机分层混合回归支持估计神经和其他逐次试验协变量的影响。
  • 用户可扩展以添加具有相应似然的新模型。
  • 基于PyMC构建,并得到整个Python贝叶斯生态系统的支持。
  • 集成了Bambi直观的lmer回归参数指定,用于处理被试内和被试间效应。
  • 原生ArviZ支持绘图和其他方便函数,以帮助贝叶斯工作流程。
  • 利用ONNX格式在不同后端之间转换可微分的似然近似器。

官方文档.

引用HSSM

风勒,X,贝拉,奥马尔,弗兰克(准备中)。HSSM:认知神经科学中计算模型分层贝叶斯估计的通用工具箱。

示例

以下是一个如何使用HSSM的简单示例

import hssm

# Load a package-supplied dataset
cav_data = hssm.load_data('cavanagh_theta')

# Define a basic hierarchical model with trial-level covariates
model = hssm.HSSM(
    model="ddm",
    data=cav_data,
    include=[
        {
            "name": "v",
            "prior": {
                "Intercept": {"name": "Normal", "mu": 0.0, "sigma": 0.1},
                "theta": {"name": "Normal", "mu": 0.0, "sigma": 0.1},
            },
            "formula": "v ~ theta + (1|participant_id)",
            "link": "identity",
        },
    ],
)

# Sample from the posterior for this model
model.sample()

要快速开始使用HSSM,请遵循本教程。要深入了解HSSM,请遵循我们的主要教程

安装

HSSM可以直接安装到Linux和MacOS的conda环境中。在Windows上安装HSSM只需多一步简单操作。我们为有更具体设置的用户提供更详细的安装指南

重要更新:从HSSM 0.2.2版本开始,官方推荐的安装HSSM的方式是通过conda。

在Linux和MacOS上安装HSSM(仅CPU支持)

使用以下命令将HSSM安装到您的虚拟环境中

conda install -c conda-forge hssm

在Linux和MacOS上安装HSSM(带GPU支持)

如果您需要使用GPU进行抽样,请在安装HSSM之前安装具有GPU支持的JAX

conda install jaxlib=*=*cuda* jax cuda-nvcc -c conda-forge -c nvidia
conda install -c conda-forge hssm

在Windows上安装HSSM(仅CPU支持)

由于Windows上通过conda-forge无法获取jaxlib,您需要在获取HSSM之前通过pip在Windows上安装JAX

pip install jax
conda install -c conda-forge hssm

在Windows上安装HSSM(带GPU支持)

您只需在获取HSSM之前安装具有GPU支持的JAX即可

pip install jax[cuda12]
conda install -c conda-forge hssm

对Apple Silicon,AMD和其他GPU的支持

JAX也支持其他GPU。请在安装HSSM之前,遵循官方JAX安装指南安装正确的JAX版本。

高级安装

直接使用Pip安装HSSM

HSSM也通过PyPI提供。您可以通过pip将其直接安装到任何虚拟环境中

pip install hssm

注意:虽然这种安装方法更简单,您可能会遇到此警告消息WARNING (pytensor.tensor.blas): 使用基于NumPy C-API实现的BLAS函数。有关更多详细信息,请参阅我们的高级安装指南

安装HSSM的开发版本

您可以直接从本repo安装hssm的开发版本

pip install git+https://github.com/lnccbrown/HSSM.git

在Google Colab上安装HSSM

Google Colab自带预配置的PyMC和JAX。即使您使用GPU和TPU后端也是如此,因此您只需在Colab上通过pip安装HSSM即可,无论您使用的是哪个后端。

!pip install hssm

故障排除

注意:关于hssm安装过程中出现的任何问题的可能解决方案,请参阅此处。如果您在那里找不到答案,请随时开启新的讨论线程。我们建议在Python 3.10或3.11的新conda环境中安装HSSM,以防止安装过程中出现依赖问题。请注意,hssm仅针对Python 3.10,3.11进行了测试。截至HSSM v0.2.0版本,已放弃对Python 3.9的支持。谨慎使用不受支持的Python版本。

许可证

HSSM采用版权2023,布朗大学,普罗维登斯,罗德岛

支持

如有疑问,请随时开启讨论

对于错误报告和功能请求,请随时使用相应的模板打开一个问题

贡献

如果您想为该项目做出贡献,请遵循我们的贡献指南

致谢

我们非常感谢以下个人为HSSM软件包的开发做出了宝贵贡献

  • Bambi - 特别感谢Bambi项目在整个开发过程中提供的灵感、指导和支持。Bambi的关键贡献者Tomás Capretto在HSSM软件包的开发中提供了宝贵的帮助。

这些贡献极大地增强了HSSM的功能和质量。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

hssm-0.2.4.tar.gz (172.4 kB 查看哈希)

上传时间 源代码

构建分布

hssm-0.2.4-py3-none-any.whl (181.2 kB 查看哈希)

上传时间 Python 3

由以下组织支持