第一個例子:從文本消息數據 我們希望找到在日常的文本消息計數的SERISE一個開關點推斷行爲。假設系列可以分成兩個具有兩個泊松分佈的分段。 使用pymc3:(上theano基地) import pymc3 as pm
import theano.tensor as tt
with pm.Model() as model:
alpha = 1.0/count_data.mean()
欲評估數後驗(理想地分開的先驗對數和對數似然)的採樣點和在一些手動輸入的點(例如,用於合成的數據集的真實參數值點)值。我如何在PyMC3中實現這一點? 更新: 我找到了logp()方法,但是它不便於多點使用。是否有一些標準/慣用方法? 更新: 這[y.logp(trace[i]) for i in range(len(trace))]作品,但superslow。 更新: 緩慢是由於事實y是觀察到的
我試圖通過延伸的第一示例來運行具有兩個功能的高斯過程迴歸在https://pymc-devs.github.io/pymc3/notebooks/GP-introduction.html n = 20
X = np.array([list(a) for a in zip(np.sort(3*np.random.rand(n)), np.sort(3*np.random.rand(n)))])
我仍然在學習使用PyMC3的基礎知識,所以希望這在文檔中不會太痛苦。基本的想法是,我把我的模型放在一起,抽樣一堆,以建立我的後驗分佈並保存鏈。如果我按照Backends頁面的建議加載像trace = pm.backends.text.load('test_txt')這樣的鏈,那麼我會得到TypeError: No context on context stack。我期望的是,我可以在保存的數據庫中