PyMC:馬爾科夫鏈蒙特卡洛取樣工具
阿新 • • 發佈:2018-12-15
PyMC是一個實現貝葉斯統計模型和馬爾科夫鏈蒙塔卡洛取樣工具擬合算法的Python庫。PyMC的靈活性及可擴充套件性使得它能夠適用於解決各種問題。除了包含核心取樣功能,PyMC還包含了統計輸出、繪圖、擬合優度檢驗和收斂性診斷等方法。
加qq群813622576或vx;tanzhouyiwean免費領取Python學習資料
特性
PyMC使得貝葉斯分析儘可能更加容易。以下是一些PyMC庫的特性:
- 用馬爾科夫鏈蒙特卡洛演算法和其他演算法來擬合貝葉斯統計分析模型。
- 包含了大範圍的常用統計分佈。
- 儘可能地使用了NumPy的一些功能。
- 包括一個高斯建模過程的模組。
- 取樣迴圈可以被暫停和手動調整,或者儲存和重新啟動。
- 建立包括表格和圖表的摘要說明。
- 演算法跟蹤記錄可以儲存為純文字,pickles,SQLite或MySQL資料庫文件或HDF5文件。
- 提供了一些收斂性診斷方法。
- 可擴充套件性:引入自定義的步驟方法和非常規的概率分佈。
- MCMC迴圈可以嵌入在較大的程式中,結果可以使用Python進行分析。
安裝
PyMC可以執行在Mac OS X,Linux和Windows系統中。安裝一些其他預裝庫可以更大程度地提高PyMC的效能和功能。
預裝庫
PyMC的執行要求一些預裝庫的安裝及配置。
使用EasyInstall安裝
安裝PyMC最簡單的方式是在終端輸入以下程式碼:
確保使用者具有適合的許可權進行安裝。
使用預編譯二進位制檔案進行安裝
- 從PyPI下載安裝器。
- 雙擊可執行安裝包,按照嚮導進行安裝。
編譯原始碼安裝
從GitHub上安裝
使用者可以在GitHub中查詢PyMC,並執行:
歷史版本在/tags
目錄中可以找到。
執行測試套件
pymc
中包含了一測試用例來確保程式碼中的關鍵元件能夠正常執行。在執行這個測試之前,使用者需要保證nose已經在本地安裝好,在Python編譯器中執行以下程式碼:
如果測試失敗,將會顯示錯誤的具體資訊。
使用
首先,在檔案中定義你的模型,並命名為mymodel.py。
儲存此檔案,在Python編譯器或者相同目錄下的其他檔案中呼叫:
這個例子會產生10000個後驗樣本。這個樣本會儲存在Python序列化資料庫中。
教程示例
教程會指導使用者完成常見的PyMC應用。
如何用MCMC來擬合模型
PyMC提供了一些可以擬合概率模型的方法。最主要的擬合模型方法是MCMC
,即馬爾科夫蒙特卡洛演算法。生成一個MCMC
物件來處理我們的模型,匯入disaster_model.py
並將其作為MCMC
的引數。
呼叫MCMC中的sample()
方法(或者互動取樣函式isample()
)來執行取樣器:
等待幾秒鐘後,便可以看到取樣過程執行完成,模型已經完成擬合。