日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python马尔科夫链蒙特卡洛(MCMC)方法pyMC

發(fā)布時(shí)間:2023/12/9 python 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python马尔科夫链蒙特卡洛(MCMC)方法pyMC 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

馬爾科夫蒙特卡洛(MCMC)算法

馬爾科夫鏈蒙特卡洛方法(Markov Chain Monte Carlo),簡(jiǎn)稱MCMC,產(chǎn)生于20世紀(jì)50年代早期,是在貝葉斯理論框架下,通過(guò)計(jì)算機(jī)進(jìn)行模擬的蒙特卡洛方法(Monte Carlo)。該方法將馬爾科夫(Markov)過(guò)程引入到Monte Carlo模擬中,實(shí)現(xiàn)抽樣分布隨模擬的進(jìn)行而改變的動(dòng)態(tài)模擬,彌補(bǔ)了傳統(tǒng)的蒙特卡羅積分只能靜態(tài)模擬的缺陷。MCMC是一種簡(jiǎn)單有效的計(jì)算方法,在很多領(lǐng)域到廣泛的應(yīng)用,如統(tǒng)計(jì)物、貝葉斯(Bayes)問(wèn)題、計(jì)算機(jī)問(wèn)題等。

  • 中文名
    馬爾科夫鏈蒙特卡洛方法
  • 外文名
    Markov Chain Monte Carlo Method
  • 簡(jiǎn) 稱
    MCMC方法

python庫(kù)pyMC

  • pyMC簡(jiǎn)介
    PyMC是一個(gè)實(shí)現(xiàn)貝葉斯統(tǒng)計(jì)模型和馬爾科夫鏈蒙塔卡洛采樣工具擬合算法的Python庫(kù)。PyMC的靈活性及可擴(kuò)展性使得它能夠適用于解決各種問(wèn)題。除了包含核心采樣功能,PyMC還包含了統(tǒng)計(jì)輸出、繪圖、擬合優(yōu)度檢驗(yàn)和收斂性診斷等方法。

  • 安裝
    PyMC可以運(yùn)行在Mac OS X,Linux和Windows系統(tǒng)中。安裝一些其他預(yù)裝庫(kù)可以更大程度地提高PyMC的性能和功能。
    本文以Linux系統(tǒng)安裝為例進(jìn)行說(shuō)明。

  • 依賴庫(kù)
    Python2.6及以上版本

    NumPy(1.6版本及以上)

    Matplotlib(1.0版本及以上)

    SciPy(可選)

    pyTables(可選)

    pydot(可選)

    IPython(可選)

    nose(可選)

  • pip安裝

    pip install pymc3

    依賴python3

  • pyMC3官方文檔說(shuō)明
    官方文檔地址

  • pyMC3官方API
    官方API地址

  • 示例代碼

  • 模型定義:
  • # Import relevant modules import pymc import numpy as np# Some data n = 5*np.ones(4,dtype=int) x = np.array([-.86,-.3,-.05,.73])# Priors on unknown parameters alpha = pymc.Normal('alpha',mu=0,tau=.01) beta = pymc.Normal('beta',mu=0,tau=.01)# Arbitrary deterministic function of parameters @pymc.deterministic def theta(a=alpha, b=beta): """theta = logit^{-1}(a+b)""" return pymc.invlogit(a+b*x)# Binomial likelihood for data d = pymc.Binomial('d', n=n, p=theta, value=np.array([0.,1.,3.,5.]),\observed=True)
  • 調(diào)用模型:
  • import pymc import mymodelS = pymc.MCMC(mymodel, db='pickle') S.sample(iter=10000, burn=5000, thin=2) pymc.Matplot.plot(S)

    總結(jié)

    以上是生活随笔為你收集整理的python马尔科夫链蒙特卡洛(MCMC)方法pyMC的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。