pymc3

    5熱度

    3回答

    我正在學習pyMC 3並遇到一些麻煩。由於pyMC3的教程有限,我正在從Bayesian Methods for Hackers開始工作。我試圖在Bayesian A/B testing示例中將pyMC 2代碼移植到pyMC 3,但沒有成功。從我所看到的模型沒有考慮到觀察結果。 我不得不作出從例如一些變化,如pyMC 3是完全不同的,所以應該是什麼樣子的: 進口pymc爲PM # The para

    1熱度

    1回答

    我無法從pymc3中採樣Dirichlet/Multinomial分佈。 我試圖用n = 2創建一個簡單的測試用例來重新創建一個使用Dirichlet/Multinomial的Beta/Binomial,但是我無法使它工作。 下面我有一些適用於二項式的代碼,但多項式失敗。 其中一個明顯的差異是多項式模型更受約束: 即開始,在二項式模型中評級設爲10,在多項式中設爲[10,10]。 pymc3 Di

    1熱度

    1回答

    是否有一個內置的方式來添加最高密度間隔來追蹤pymc3? 我想直接在我的traceplot上顯示HDI,最好是帶有標籤。 基本上,我想產生後驗分佈圖,類似於「做貝葉斯資料分析」一書: 我不想重新發明的東西,可能在pymc3已經實現。

    1熱度

    1回答

    在我的模型中,我需要使用複雜的python函數從一組父變量中獲取我的確定性變量的值。 有沒有可能這樣做? 以下是一個python代碼,它顯示了我正在嘗試做的簡化情況。 import numpy as np import pymc as pm #Predefine values on two parameter Grid (x,w) for a set of i values (1,2,3)

    2熱度

    1回答

    我是帶pyMC的新手,我不能用pyMC構建MCMC的結構。我想建立一個鏈,我很困惑如何一起定義我的參數和對數似然函數。我的卡方函數由下式給出: 其中和是觀測數據和對應誤差分別和是具有四個自由參數的模型和參數是非線性的。 現有用於X和Y是均勻的,如: import pymc as pm import numpy as np import math import random @pm.sto

    1熱度

    1回答

    我正在嘗試構建一個簡單的PyMC 3模型,其中我估計了兩個切點和一個潛在雙變量高斯密度中的相關參數,爲一個向量生成四個預測概率(多項)計數。 (我希望這將最終成爲更大模型的一部分,其中這些參數和其他參數是針對多個潛在多變量高斯密度估計的。)因此,我想將切割點cx和cy建模爲正常隨機變量和相關參數rho作爲一個縮放的Beta隨機變量(作爲一個附註,我很樂意聽到一個更好的方法來處理rho - PyMC

    2熱度

    1回答

    我想執行以實施 Implementing Dirichlet processes for Bayesian semi-parametric models(來源:here)中引用的Dirichlet過程例子在PyMC 3. 在示例中,棒破概率計算使用pymc.deterministic 裝飾者: v = pymc.Beta('v', alpha=1, beta=alpha, size=N_dp)

    8熱度

    2回答

    完美的作品一些簡單的theano代碼,停止工作,當我輸入pymc3 這裏是一些snipets爲了重現錯誤: #Initial Theano Code (this works) import theano.tensor as tsr x = tsr.dscalar('x') y = tsr.dscalar('y') z = x + y #Snippet 1 import pymc3

    2熱度

    1回答

    我試圖通過複製here給定的高斯混合的例子來模擬指數的混合。代碼如下。我知道在這裏推論有一些時髦的方面,但我的問題是更多關於如何調試這樣的模型中的計算。 這個想法是,它是三個指數的混合物,具有從分配給scales的Gamma取得的比例參數。然而,在ElemwiseCategoricalStep期間,所有的觀測值都被分配到第零指數。你可以看到,觀測到的指數成分的分配是通過看initial_assig

    1熱度

    1回答

    問題定義:考慮「SimpleTest的」模式(從pymc3的例子),這是類似於下面一個東西: model = Model() data = np.random.normal(size=(2, 20)) with model: x = Normal('x', mu=.5, tau=2. ** -2, shape=(2, 1)) z = Beta('z', alpha=1