pymc-devs/pymc

Bayesian Modeling and Probabilistic Programming in Python

解決的問題

PyMC 提供了一個貝葉斯統計建模的框架,允許使用者定義機率模型並估計其參數。它解決了在不需要使用者具備複雜擬合演算法的深入專業知識的情況下,執行複雜後驗估計與遺失值插補的挑戰。

工作原理

PyMC 使用直覺的語法來指定模型(例如 x ~ N(0,1))。它利用 PyTensor 進行計算最佳化與動態編譯至 C 或 JAX。為了估計參數,它採用先進的取樣演算法,如用於馬可夫鏈蒙地卡羅(MCMC)的無 U 形取樣器(NUTS)以及用於快速近似估計的自動微分變分推論(ADVI),包含對大型資料集的迷你批次支援。

適用對象

專為需要建構靈活貝葉斯模型的研究人員、資料科學家與統計學家設計,適用於從簡單線性迴歸到複雜科學建模等各種問題。

主要亮點

  • 強大的取樣能力:包含無 U 形取樣器(NUTS),可處理具有數千個參數的模型。
  • 變分推論:提供 ADVI 以實現快速近似後驗估計。
  • 優化的後端:基於 PyTensor,支援 NumPy 廣播、線性代數運算子與 JAX 編譯。
  • 靈活的語法:具備直覺的模型定義語言。
  • 遺失資料支援:提供對遺失值插補的透明支援。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案