跳转到主要内容

PyMC新功能的家园,可能包括不寻常的概率分布、高级模型拟合算法或任何可能不适合包含在pymc存储库中的代码,但可能希望对用户开放。

项目描述

欢迎来到 pymc-experimental

Contribute with Gitpod Codecov Badge

随着PyMC不断发展壮大,其功能不断扩展以适应更多应用领域,我们越来越看到前沿的方法、高度专业化的统计分布和复杂模型的出现。虽然这增加了项目的功能和相关性,但也可能引入不稳定因素,给测试和质量控制带来负担。为了减轻主 pymc 存储库的负担,这个 pymc-experimental 存储库可以成为 PyMC 新增内容的聚合器和测试平台。这可能包括不寻常的概率分布、高级模型拟合算法、创新但尚未完全测试的方法,或任何可能不适合包含在 pymc 存储库中但可能希望提供给用户的代码。

pymc-experimental 存储库可以理解为 PyMC 开发流程的第一步,其中所有新颖的代码都引入其中,直到明显属于主存储库。我们希望这种组织结构可以改善 pymc 存储库的稳定性,并简化测试负担,同时允许用户和开发者测试和评估前沿方法以及尚未完全成熟的功能。

pymc-experimental 将设计成与 pymc 中的命名空间相匹配,以尽可能简化使用和迁移。例如,一个 ParabolicFractal 分布可以与 pymc 中的类似分布类似使用。

import pymc as pm
import pymc_experimental as pmx

with pm.Model():

    alpha = pmx.ParabolicFractal('alpha', b=1, c=1)

    ...

问题

什么属于 pymc-experimental

  • 新实现的统计方法,例如步进方法或模型构建辅助工具
  • 难以从中采样或测试的分布
  • 不常用拟合方法或分布
  • 任何在实际应用之前需要额外优化的代码

什么不属于 pymc-experimental

  • 案例研究
  • 无法通用应用的实现,例如因为它们与玩具示例中的变量相关联

应该有多个附加存储库吗?

由于有许多我们不希望在主存储库中的代码,是否应该有多个附加存储库?例如,pymc-experimental 可能仅包括尚未充分开发、测试和验证的方法,而那些已知运行良好且具有充分测试覆盖率的代码,但由于过于专业而不适合成为 pymc 的一部分,可以驻留在 pymc-extras(或类似)存储库中。

未解决的问题 & 待办事项

这个项目还很年轻,许多事情还没有得到解答或实现。请加入我们!

  • 子模块组织指南是什么?
    • 建议:不要默认导入 WIP/不稳定子模块。通过手动导入,我们可以避免在子模块因为更新依赖而中断时破坏包。

项目详细信息


下载文件

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

源分发

pymc_experimental-0.1.3.tar.gz (172.3 kB 查看散列)

上传时间

构建分发

pymc_experimental-0.1.3-py3-none-any.whl (210.7 kB 查看哈希值)

上传时间 Python 3

由以下支持